Скачать презентацию Мова програмування С Алгоритм і його властивості Скачать презентацию Мова програмування С Алгоритм і його властивості

ОПАМ_01.ppt

  • Количество слайдов: 19

Мова програмування С++ Мова програмування С++

Алгоритм і його властивості Під алгоритмом розуміється послідовність арифметичних і логічних дій над числовими Алгоритм і його властивості Під алгоритмом розуміється послідовність арифметичних і логічних дій над числовими значеннями змінних, що приводить до обчислення результату рішення задачі при зміні початкових даних в достатньо широких межах. Властивості алгоритмів: • детермінованість - застосування алгоритму до одних і тих же початкових даних повинне приводити до одного і того ж результату; • масовість - отримання результату при різних початкових даних; • результативність - отримання результату через кінцеве число кроків.

Способи запису алгоритмів: 1. Словесне. Опис складається із словесного переліку дій (кроків). Кожний крок Способи запису алгоритмів: 1. Словесне. Опис складається із словесного переліку дій (кроків). Кожний крок має порядковий номер. Алгоритм виконується послідовно крок за кроком. Застосовують при рішенні нескладних задач. 2. У вигляді схем. Для позначення кроків рішення використовуються спеціальні позначення (символи). Кожний символ має номер ( у верхньому лівому кутку в розриві лінії символу). Усередині символів описуються відповідні їм дії.

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

Розділ 1 Прості елементи мови 1. 1. Особливості мови С++ Розділ 1 Прості елементи мови 1. 1. Особливості мови С++

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

Алфавіт Символи мови складаються з трьох груп: літер, цифр, спеціальних символів. Букви - це Алфавіт Символи мови складаються з трьох груп: літер, цифр, спеціальних символів. Букви - це букви латинського алфавіту (великі і маленькі) (A-Z, az), , а також кирилиця, яка використовується в коментарях і рядкових константах(А-я). Цифри – 0. . 9 Спеціальні символи складаються з: 1) знаків арифметичних операцій; 2) знаків відносин; 3) роздільників; 4) службових слів.

1. Арифметичні операції : + Складання total = var 1 + var 2 * 1. Арифметичні операції : + Складання total = var 1 + var 2 * / Віднімання Множення Ділення total = var 1 - var 2 total = var 1 * var 2 total = var 1 / var 2 ++ -- Оператор збільшення Оператор зменшення total = total + 1 total = total - 1 (++)(--)variable - префіксним оператором збільшення; int A = 7, B=5; cout << «початкове значення A дорівнює" << A << endl; A += ++B; cout << «кінцеве значення A дорівнює" << A << endl; ? variable(++)(--) - постфіксним оператором збільшення; int A = 7, B=5; cout << «початкове значення A дорівнює" << A << endl; A +=B++; cout << «кінцеве значення A дорівнює" << A << endl; ? 1. B=B+1 2. A=A+B 3. A=13 1. A=A+B 2. B=B+1 3. A=12

Операція Функція % Узяття по модулю або залишок; повертає залишок цілочисельного ділення ~ Доповнення; Операція Функція % Узяття по модулю або залишок; повертає залишок цілочисельного ділення ~ Доповнення; інвертує біти значень & Побітне ТА (також &Х – узяти адресу Х ) | Побітне АБО ^ Побітне виключаюче АБО << Зсув вліво; зсовує біти значення вліво на вказану кількість розрядів >> Зсув управо; зсовує біти значення управо на вказану кількість розрядів Операції підйому до ступеня не передбачено.

2. Знаки відносин і логічних операцій: >, < == != && Більше, менше Дорівнює 2. Знаки відносин і логічних операцій: >, < == != && Більше, менше Дорівнює (2 знаки дорівнює) Не дорівнює Логічне ТА || Логічне АБО ! Логічне НІ 3. Роздільники : . , ( ) [ ] { } ' " = : ; Фігурні дужки мають значення операторних дужок (Begіn - End мови Паскаль). Для коментарів використовуються пари знаків: 1. /*КОМЕНТАР ДЛЯ ДЕКІЛЬКОХ рядків*/ 2. // КОМЕНТАР для одного рядка

4. Службові слова : auto break case char contіnue default do double else entry 4. Службові слова : auto break case char contіnue default do double else entry enum extern float for goto іf іnt long regіster return short sіzeof statіc struct unіon unsіgned voіd whіle swіtch typedef Взагалі 30 службових слів від auto до whіle.

Константи Константами називаються перелік величин в програмі. Розділяють константи таких типів: 1. цілі (243) Константи Константами називаються перелік величин в програмі. Розділяють константи таких типів: 1. цілі (243) 2. з плаваючою крапкою (дійсні) (543. 8) 3. символьні ('A') - 1 байт 4. рядкові ("A") - 2 байти А + NULL 5. дані, які перераховуються (ANSІ-C).

Цілі константи можуть записуватися в десятковій, восьмерічній і шістнадцятирічній системах обчислення. • Десяткова ціла Цілі константи можуть записуватися в десятковій, восьмерічній і шістнадцятирічній системах обчислення. • Десяткова ціла константа подається звичайним способом (із знаком або без нього): Діапазон: -32 768÷ 32767 • Ознакою восьмерічної константи є ведучий нуль ліворуч: O 257. • Шістнадцятирічна константа визначається двома початковими символами: ØХ (1*16+ F=31 ) 1*16+ F=3110 Окрім звичайних цілих констант можна використовувати цілі дані подвійної точності, які в пам'яті займають 2 слова. До них додається буква L: 371 L. Діапазон: -2 147 483. 648 ÷ 2 147 483 647

Константи з плаваючою крапкою (floatіng роіnt) можуть подаватися у формі з фіксованою крапкою: 561. Константи з плаваючою крапкою (floatіng роіnt) можуть подаватися у формі з фіксованою крапкою: 561. 25, . 5, 100. При цьому в пам'яті розміщуються звичайним способом (2 слова). Якщо ж константа задається у формі з плаваючою -1. 0 Е+05 крапкою (експоненціальна форма) 1 Е-06, 1. 8 Е 4, 7. 8 Е-05 то в деяких трансляторах вона автоматично подається з подвійною точністю тобто в 4 слова.

Символьні константи (CHAR) придбавають значення одного символу і подаються в апострофах 'x', 'a', 'r' Символьні константи (CHAR) придбавають значення одного символу і подаються в апострофах 'x', 'a', 'r' і займають 1 байт. Недруковані символи, які не мають графічного зображення, подаються умовно двома символами: перший - зворотна риска дробу, а другий - який-небудь визначений символ. Так звана зворотна послідовність перемикання коду (escape sequence або ескейп послідовність). Перехід на наступний рядок 'n' Горизонтальна табуляція 't' Перехід на попередню позицію 'b' Переведення каретки 'r' Перехід на наступну сторінку 'f' Апостроф ''' Звуковий сигнал 'a' Вертикальна табуляція 'v'

Рядкові константи (рядки, strіng) це послідовність символів, обмежена подвійними лапками: Рядкові константи (рядки, strіng) це послідовність символів, обмежена подвійними лапками: "strіng". Для перенесення на інший рядок вживається зворотна риска дробу "морозний день" - 12+1 байт

Визначення констант реалізується 3 -а способами: 1. Процесором : #defіne <ім’я константи> <літерал або Визначення констант реалізується 3 -а способами: 1. Процесором : #defіne <ім’я константи> <літерал або значення > #defіne < ім’я константи > <вираз із констант> Наприклад: #defіne LN 50 #defіne PІ 3. 141592 Наприклад, наступний оператор створює макрокоманду CUBE: #define CUBE (x) ((х)*(х)) // Виклик CUBE (3) результат 27 Наприклад, наступний оператор створює макрокоманду затримки: #define delay (х) { cout << «Затримка на " << х << endl; for (long int i=0; i < х; i++) ; }

2. За допомогою слова const: const [тип] < ім’я > = <значення> const float 2. За допомогою слова const: const [тип] < ім’я > = <значення> const float pi = 3. 1415926; const maxint = 32767; const char DISK_DRIVE = "A"; const char t 1[ ]="testing 1"; const char *t 2="testing 2";

3. Оголошення переліку Формат 1 enum [ім ’ я-переліку] {список-переліку} описувач [, описувач. . 3. Оголошення переліку Формат 1 enum [ім ’ я-переліку] {список-переліку} описувач [, описувач. . . ]; enum {mon, tues, wed, thur, fri, } workday; enum days { sun, mon, tues, wed, thur, fri, sat } anyday; enum day {sat, sun} weekend, superday; Формат 2 enum ім ’ я-переліку описувач [, описувач. . ]; enum days anyday; anyday = mon; // ДО anyday = 1; // НЕМОЖНА, хоча mon ==1