Арифметичні вирази

Застосування арифметичних знаків для виконання математичних дій над атрибутами ресурсів. Пріоритет арифметичних операцій у мовах програмування. Використання операторів присвоювання для скороченого запису арифметичних виразів. Формати для виведення даних.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык украинский
Дата добавления 19.07.2017
Размер файла 109,1 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.Allbest.ru/

Лабораторна робота 1

Тема: Арифметичні вирази

Арифметичні вирази, які стоять у правій частині оператора присвоювання, можуть містити цілі і дійсні числа (в дійсних числах ціла і дробова частина розділяються крапкою, а не комою, як це прийнято в математиці).

Знаки арифметичних дій:

+ - додавання, віднімання;

* / множення, ділення;

% залишок від ділення;

/ ділення без залишку.

Круглі дужки - для зміни порядку дій.

Пріоритет арифметичних операцій

У мовах програмування арифметичні вирази записуються в однин рядок, тому необхідно знати пріоритет (старшинство) операцій, тобто послідовність їх виконання. Спочатку виконуються операції в дужках, потім виклики функцій, потім множення, ділення і залишок від ділення, зліва направо, потім додавання і віднімання, зліва направо.

Наприклад:

2 1 5 4 3 8 6 7

x = (a + 5 * b) * fabs (c + d) -- (3 * b -- c);

Наприклад, вираз:

у комп'ютерному вигляді запишеться так:

y = (4*x + 5) / ((2*x -- 15*z)*(3*z -- 3)) -- 5 * x / (x + z + 3)

У програмуванні часто використовуються наступні оператори присвоювання, наприклад:

i = i + 1;

Цей оператор служить для збільшення значення змінної і на одиницю. Це означає: взяти старе значення змінної і, додати до нього одиницю і записати результат в ту ж змінну і.

Інкремент та декремент

У мові Сі визначені спеціальні оператори швидкого збільшення на одиницю (інкремент):

i ++; // або...

++ i;

що рівносильно оператору i = i + 1;

та швидкого зменшення на одиницю (декремент)

i - -; // або...

- - i;

Що рівносильно оператору i = i - 1;

Між першою і другою формами цих операторів є деяка різниця, але тільки тоді, коли вони входять до складу більш складних операторів або умов.

Скорочений запис арифметичних виразів

Якщо треба змінити значення якоїсь змінної (взяти її старе значення, щось з ним зробити і записати результат в цю ж змінну), то зручно використовувати скорочений запис арифметичних виразів:

скорочений запис

повний запис

x += a

x = x + a

x -= a

x = x - a

x *= a

x = x * a

x /= a

x = x / a

x %= a

x = x % a

Далі наведений приклад запису основних математичних функцій для використання у програмуванні.

Пояснення:

Функція acos:

double acos(double x);

Заголовний файл

<math.h> (<сmath>)

Опис:

Повертає значення арккосинуса х(ARccOS х) в радіанах і є функцією, зворотньою функції косинус. Параметр х може змінюватися від -1 до +1.

У наступному прикладі обчислюється значення арккосинуса 0:

#include <math.h>

#include <iostream.h>

//…

cout << "acos(0)=" << acos(0) << '\n';

Функція asin:

double asin(double x);

Заголовний файл

<math.h> (<cmath>)

Опис:

Повертає значення арксинуса параметра х (arcsin x) в радіанах і є функцією.

Формати для виведення даних

Цілі числа

Першим параметром при виклику функцій scanf та printf повинен бути символьний рядок, що визначає формат уведення або даних. Для функції scanf, яка виконує введення даних, досить просто вказати один з форматів %d, %f або % для введення цілого числа, дійсного числа або символу, відповідно. Водночас форматний рядок у функції printf дозволяє управляти виведенням на екран, а саме, задати розмір поля, який відводиться для даного числа.

Нижче показані приклади форматування при виведенні цілого числа 1234. Щоб побачити поле, яке відводиться для числа, воно обмежене ліворуч та праворуч дужками.

приклад виводу

результат

коментар

printf("[%d]", 1234);

[1234]

Мінімально можливе поле

printf("[%6d]", 1234);

[ 1234]

6 позицій, вирівнювання вправо.

printf("[%-6d]", 1234);

[1234 ]

6 позицій, вирівнювання вліво.

printf("[%2d]", 1234);

[1234]

Число не поміщається в задані 2 позиції, тому область виводу розширюється.

Для виведення символів використовуються такі ж прийоми форматування, але формат %d замінюється на %c.

Дійсні числа

Для виводу (і для вводу) дійсних чисел використовуються три формата: %f, %e та %g. В таблиці показані приклади використання формату %f.

приклад виводу

результат

коментар

printf("[%f]", 123.45);

[123.450000]

Мінімально можливе поле, 6 знаків в дробовій частині.

printf("[%9.3f]", 123.45);

[ 123.450]

Всього 9 позицій, из них 3 - для дробової частини, вирівнювання вправо.

printf("[%-9.3f]", 123.45);

[123.450 ]

Всього 9 позицій, из них 3 - для дробової частини, вирівнювання вліво.

printf("[%6.4f]", 123.45);

[123.4500]

Число не поміщається в задані 6 позицій (4 цифри в дробовій частині), тому область виводу розширюється.

Формат %e застосовується в наукових розрахунках для виведення дуже великих або дуже маленьких чисел, наприклад, розміру атома або відстані до Сонця. З поданням числа в так званому стандартному вигляді (з виділеною мантисою та порядком). Наприклад, число 123,45 може бути записано в стандартному вигляді як 123.45 = 1.2345Ч102. Тут 1.2345 - мантисса (вона завжди знаходиться в інтервалі від 1 до 10), а 2 - порядок (мантиса множиться на 10 в цьому ступені). При виводі по формату %e також можна задати число позицій, які відводяться для виводу числа, і число цифр у дробовій частині мантиси. Порядок завжди вказується у вигляді двох цифр, перед якими стоїть буква е і знак порядку (плюс або мінус).

приклад виводу

результат

коментар

printf("[%e]", 123.45);

[ 1.234500e+02]

Мінімально можливе поле, 6 знаків в дробовій частині мантиси.

printf("[%12.3e]", 123.45);

[ 1.234e+02]

Всього 12 позицій, із них 3 - для дробової частини мантиси, вирівнювання вправо.

printf("[%-12.3e]", 123.45);

[ 1.234e+02 ]

Всього 12 позицій, із них 3 - для дробової частини мантиси, вирівнювання вліво.

Структура Сі-програми

Будь-яка досить велика програма на Сі (програмісти використовують термін проект) складається з файлів. Файли транслюються Сі-компілятором незалежно один від одного і потім об'єднуються програмою-будівником завдань, в результаті чого створюється файл з програмою, готовою до виконання. Файли, що містять тексти Сі-програми, називаються вихідними.

У мові Сі вихідні файли бувають двох типів:

- заголовні, або h-файли;

- файли реалізації, або Cі-файли.

Імена заголовних файлів мають розширення ".h". Імена файлів реализації мають розширення ".c" для мови Сі та ".cpp", ".cxx" або ".cc" для мови C++.

Заголовні файли містять тільки описи. Насамперед, це прототипи функцій. Прототип функції описує ім'я функції, тип значення, число і типи її аргументів. Сам текст функції в h - файлі не міститься. Також в h - файлах описуються імена і типи зовнішніх змінних, константи , нові типи, структури і т.п. Загалом, h - файли містять лише інтерфейси, тобто інформацію, необхідну для використання програм, вже написаних іншими програмістами (або тим же програмістом раніше). Заголовки лише повідомляють інформацію про інші програми. При трансляції заголовних файлів, як правило, ніякі об'єкти не створюються.

Наприклад, в заголовному файлі не можна визначити глобальну змінну.

Рядок опису int x; який визначає цілочисельну змінну x, є помилковим. Замість цього слід використовувати опис

extern int x;

що означає, що змінна x визначена десь у файлі реалізації (у якому - невідомо). Слово extern (зовнішня) лише повідомляє інформацію про зовнішню змінну, але не визначає цю змінну.

Файли реалізації, або Cі - файли, містять тексти функцій і визначення глобальних змінних. Сі - файли містять самі програми, а h - файли - лише інформацію про програми .

Представлення вихідних текстів у вигляді заголовків файлів і файлів реалізації необхідно для створення великих проектів, що мають модульну структуру. Заголовки служать для передачі інформації між модулями. Файли реалізації - це окремі модулі, які розробляються і транслюються незалежно один від одного і об'єднуються при створенні виконуваної програми .

Файли реалізації можуть підключати опису, що містяться в заголовних файлах. Самі заголовні файли також можуть використовувати інші заголовні файли. Заголовний файл підключається за допомогою директиви препроцесора #include. Наприклад, опис стандартних функцій вводу-виводу вмикається рядком:

#include <stdio.h>

(stdio - від слів standard input/output). Ім'я h-файлу записується в кутові дужки, якщо цей h-файл є частиною стандартної Сі-бібліотеки та розташований в одному із системних каталогів. Імена h-файлів, створених самим програмістом в рамках проекту та розташованих у поточному каталозі, вказуються у подвійних дужках, наприклад,

#include "abcd.h"

Препроцесор - це програма попередньої обробки тексту безпосередньо перед трансляцією. Команди препроцесора називаються директивами. Директиви препроцесора містять символ дієз # на початку рядка. Препроцесор використовується в основному для підключення h-файлів. У Сі також дуже часто використовується директива # define використовується для задання символічних імен констант. Так, рядок

#define PI 3.14159265

задає символічне ім'я PI для константи 3,14159265. Після цього ім'я PI можна використовувати замість числового значення. Препроцесор знаходить всі входження слова PI в текст і замінює їх на константу. Таким чином, препроцесор здійснює підміну одного тексту іншим. Необхідність використання препроцесора завжди свідчить про недостатню виразність мови. Так, в будь-якому Ассемблері засоби препроцесорування використовуються досить інтенсивно. У Сі по можливості слід уникати надмірного захоплення командами препроцесора - це ускладнює розуміння тексту програми і часто веде до важкого виправляння помилок. У C + + можна обійтися без використання директив #define для завдання констант.

Наприклад, в C + + константу PI можна задати за допомогою нормального опису const double PI = 3.14159265;

Завдання

1. Завантажити осередок.

2. Набрати текст прикладу (внизу) та приклади, що розглядались на лекції та виконати компіляцію

3. Виконати завдання свого варіанту.

4. Оформити звіт. В звіт включити вихідні тексти прикладу та завдань власного варіанту, а також скриншоти, які підтверджують вірність виконання завдань.

Приклад:

#include <stdio.h>

#include <conio.h>

main()

{

int a, b, c; // оголошення змінних

printf ("Уведіть два цілих числа \n"); // відказка для уведення

scanf ("%d%d", &a, &b); // уведення даних

c = a + b; // обчисленнчя (оператор присвоювання)

printf ("Результат: %d + %d = %d \n",

a, b, c ); // вивід результата

getch();

}

Варіанти завдань

Завдання 1. Обчислити вираз

1.

Формати виводу: u - стандартний; y - ширина поля 10;

x - стандартний; z - ширина поля 15 точність 4;

Формати виводу: u - ширина поля 10; y - стандартний;

x - ширина поля 11 точність 4; z - стандартний;

Формати виводу: u - стандартний; y - ширина поля 8;

x - стандартний; z - ширина поля 10 точність 6;

арифметичний знак атрибут ресурс програмування

Формати виводу: u - ширина поля 10; y - ширина поля 8;

x - стандартний; z - ширина поля 11 точність 4;

Формати виводу: u - ширина поля 18; y - стандартний;

x - стандартний; z - ширина поля 16 точність 6;

Формати виводу: u - стандартний; y - ширина поля 18 точність 4;

x - ширина поля 5; z - стандартний;

Формати виводу: u - ширина поля 10; y - ширина поля 16 точність 8;

x - стандартний; z - стандартний;

Формати виводу: u - стандартний; y - ширина поля 17 точність 6;

x - ширина поля 10; z - стандартний;

Формати виводу: u - стандартний; y - стандартний;

x - ширина поля 5; z - ширина поля 16 точність 5;

Формати виводу: u - стандартний; y - стандартний;

x - ширина поля 7; z - ширина поля 10 точність 5;

Формати виводу: u - ширина поля 10; y - стандартний;

x - ширина поля 16 точність 6; z - ширина поля 18 точність 6;

Формати виводу: u - стандартний; y - ширина поля 11 точність 5;

x - ширина поля 15; z - ширина поля 3;

Формати виводу: u - ширина поля 17; y - стандартний;

x - ширина поля 4; z - стандартний;

Формати виводу: u - стандартний; y - ширина поля 15 точність 4;

x - ширина поля 10; z - стандартний;

Формати виводу: u - ширина поля 16; y - ширина поля 18 точність 6;

x - стандартний; z - ширина поля 4;

Формати виводу: u - стандартний; y - ширина поля 4;

x - ширина поля 17 точність 5; z - стандартний;

Формати виводу: u - ширина поля 10; y - стандартний;

x - ширина поля 4; z - ширина поля 16 точність 6;

Формати виводу: u - стандартний; y - ширина поля 18;

x - стандартний; z - ширина поля 18 точність 6;

Формати виводу: u - ширина поля 18 точність 7; y - стандартний;

x - ширина поля 14; z - стандартний;

20.

Формати виводу: u - ширина поля 12 точність 4; y - стандартний;

а - ширина поля 10; z - стандартний;

21.

Формати виводу: u - ширина поля 10; y - стандартний;

в - ширина поля 4; z - ширина поля 18 точність 6;

22.

Формати виводу: u - стандартний; y - ширина поля 8;

x - ширина поля 13 точність 3; z - стандартний;

23.

Формати виводу: u - ширина поля 16; y - ширина поля 18 точність 6;

x - стандартний; z - ширина поля 4;

24.

Формати виводу: u - стандартний; y - ширина поля 15 точність 4;

x - ширина поля 10; z - стандартний;

25.

Формати виводу: u - стандартний; y - ширина поля 10;

x - стандартний; z - ширина поля 13 точність 6;

26.

Формати виводу: u - стандартний; y - стандартний;

x - ширина поля 5; z - ширина поля 16 точність 5;

27.

Формати виводу: u - стандартний; y - ширина поля 15 точність 4;

x - ширина поля 10; z - стандартний;

Размещено на Allbest.ru


Подобные документы

  • Розробка системних програм мовою асемблера або мовою високого рівня з вставками цією мовою. Формати числових даних, виконання арифметичних операцій. Арифметичні команди над двійковими цілими, двійково-десятковими не упакованими та упакованими числами.

    методичка [232,4 K], добавлен 11.01.2010

  • Галузі застосування та принцип роботи мови програмування "Пролог". Керування процесом пошуку рішень, типи даних та використання списків. Рекурсивні процедури та цикли за допомогою пошуку з поверненням. Виконання арифметичних та логічних операцій.

    курс лекций [99,7 K], добавлен 06.07.2011

  • Операція алгебраїчного додавання, множення, ділення. Алгоритм ділення модулів чисел. Поняття граф-схеми алгоритму та правила її складання. Основні поняття теорії цифрових автоматів. Синтез керуючого автомата. Контроль виконання арифметичних операцій.

    реферат [55,4 K], добавлен 24.03.2009

  • Лінійна програма на C++. Арифметичні вирази. Обчислення значень функції. Значення логічних виразів і логічних операцій. Види циклів, обчислення нескінченної суми з заданою точністю. Створення файлу цілих чисел з N компонент, виведення їх на екран.

    контрольная работа [12,7 K], добавлен 09.09.2011

  • Розрізняють дві форми подання двійкових чисел у ЕОМ: із фіксованою комою і з "плавучою" комою. Прямий, обернений і додатковий коди двійкових чисел. Алгоритми виконання арифметичних операцій (додавання, множення, ділення) над двійковими числами із знаком.

    лекция [28,1 K], добавлен 13.04.2008

  • Зв'язок між кількістю точних десяткових знаків і відносною похибкою наближеного числа. Визначення кількості точних знаків. Абсолютна похибка алгебраїчної суми декількох наближених чисел. Похибки арифметичних операцій різниці, добутку, частки та степеня.

    лабораторная работа [50,2 K], добавлен 26.03.2011

  • Розроблення додатка за допомогою об'єктно-орієнтованого візуального проектування Delphi для виконання арифметичних операцій або з використанням меню. Створення інтерфейсу користувача з використанням компонентів SYSTEM і WIN32. Обробка двовимірного масиву.

    методичка [326,1 K], добавлен 13.01.2010

  • Демонстрування можливостей використання калькулятора для матриць. Розробка програми, яка може бути використана для виконання основних арифметичних операцій над матрицями та для перевірки обчислень у розрахункових роботах. Алгоритм створення програми.

    курсовая работа [43,2 K], добавлен 12.12.2009

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Арифметико-логічний пристрій (АЛП) призначений для виконання арифметичних і логічних операцій над числами (словами) за сигналами з пристрою керування. Процес функціонування АЛП являє собою визначену послідовність елементарних дій у його вузлах.

    лекция [67,3 K], добавлен 13.04.2008

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.