Інтернет Windows Android

Презентація на тему програмування на мові паскаль. Презентація середовище програмування паскаль

1 слайд

«ЗНАЙОМСТВО З МОВОЮ ПАСКАЛЬ» УРОК НА ТЕМУ: Вчитель математики та інформатики МБО ЗОШ № 2 м. Калача-на-Дону Волгоградської області Анісімова Н.А.

2 слайд

МЕТА УРОКУ: з'ясувати структуру програми, оператори, правила оформлення та пунктуацію мови Turbo Pascal.

3 слайд

Система програмування Turbo Pascal. Паскаль – це універсальна мова програмування, що дозволяє вирішувати найрізноманітніші завдання обробки інформації.

4 слайд

1)мова програмування Тurbo Pascal; 2) інтегроване середовище програмування (компілятор: переводить програму в машинний код та інтерпретатор: виконує команди) СКЛАД СИСТЕМИ ПРОГРАМУВАННЯ ТР:

5 слайд

1) латинські літери – великі та малі; 2)літери російського алфавіту - великі та малі; 3) цифри - від 0 до 9; 4) знаки операцій - +, -, /, *, =, =; 5) розділові знаки – () ( ); . , ' _% & # і т. д. Алфавіт мови програмування TURBO PASCAL

6 слайд

7 слайд

Заголовок програми Розділ опису змінних Розділ операторів (основна частина)

8 слайд

Розділ опису змінних починається зі слова Var, за яким іде список імен однотипних змінних через кому. У мові Паскаль існує два числові типи величин: речовий (Real) і цілий (Integer). Імена змінних складаються з латинських літер та цифр, причому першим символом – літера. VAR список однотипних змінних: INTEGER; список однотипних змінних: REAL;

9 слайд

Розділ операторів – основна частина програми. Початок і кінець розділу відзначаються службовими словами BEGIN і END, які є операторними дужками. Між цими словами поміщаються всі команди алгоритму, записані мовою Паскаль (оператори). Розділювачем операторів є точка з комою. Наприкінці програми ставиться крапка. BEGIN READ(список введення); READLN(список введення); змінна: = арифметичний вираз; WRITE (список виводу); WRITELN (список виводу); END.

10 слайд

Введення вихідних даних з клавіатури відбувається за оператором READ або READLN (читати). Оператор READLN відрізняється від READ тільки тим, що після введення даних курсор переміщується на початок нового рядка. змінна: = арифметичний вираз; WRITE (список виводу); WRITELN (список виводу); END. READ(список введення); READLN(список введення);

11 слайд

змінна: = арифметичний вираз; Арифметичний оператор привласнення: ліворуч-змінна, праворуч - арифметичний вираз, який має бути обчислений. Складовий символ:= читається як "привласнити". Спочатку обчислюється арифметичне вираз, потім отримане значення присвоюється змінною. Приклад: a:= sqr(x) + sin(y) /

12 слайд

mod div / * - + SIN (x) COS (x) SQR (x) SQRT (x) ABS (x) Sin x Cos x x 2 | x додавання віднімання множення поділ поділ націло Залишок від поділу

13 слайд

Правила запису арифметичних виразів Арифметичний вираз записується в рядок Не можна ставити поспіль два знаки арифметичних операцій Не можна опускати знак множення між співмножниками Використовуються тільки круглі дужки Послідовність виконання операцій визначається за їх пріоритетами () F(x) * / + - div mod

14 слайд

Виведення результатів відбувається за WRITE чи WRITELN (писати). Результати виводяться в порядку їх перерахування у списку. Різниця у виконанні операторів WRITE та WRITELN полягає в тому, що після виконання операції виведення по оператору WRITELN курсор переміщується на початок нового рядка. WRITE (список виводу); WRITELN (список виводу);

15 слайд

Завдання 1: AXby 6) TU154 2) R&B 3) 4Wheel 4) Вася 5) "PesBarbos" 7) 8) _ABBA 9) A+B

16 слайд

program zadacha1; var a, b: integer; x, y: real; begin a:= 5; 10: = x; y:= 7,8; b: = 2.5; x:= 2*(a + y); a: = b + x; end. Ім'я змінної має бути ліворуч від знака:= ціла та дробова частина відокремлюються комою та невідповідність типів Невідповідність типів ЗАВДАННЯ 2: Знайдіть помилки в записі програми.

PASCAL ВСТУП В МОВУ ПРОГРАМУВАННЯ 2006 СТРУКТУРА КУРСУ інтерфейс та основні визначення; структура програми; виведення на екран текстової інформації; введення даних із клавіатури; підключення та використання системних модулів; робота з основними типами даних (цілий, речовий, рядковий, масив, файловий) робота з графікою; використання підпрограм (процедури та функції); Використання модулів. 2 ІНТЕРФЕЙС СЕРЕДОВИЩА PASCAL Мова програмування Turbo Pascal 7.0 укладена в інструментальну оболонку. Вона включає: багатовіконний текстовий редактор; компонувальник програм; налагоджувач програм; систему допомоги; компілятор. 3 ІНТЕРФЕЙС СЕРЕДОВИЩА PASCAL 4 Список відкритих файлів: Alt + 0 Швидкий доступ до відкритих файлів: Alt +<№ окна> ОСНОВНІ ВИЗНАЧЕННЯ Зарезервоване слово – це спеціальне слово, яке використовується мовою програмування для відокремлення логічних областей програми. Оператор – це команда мови, яка виконує будь-яку дію (перевірка умови, організація циклу та ін.) Ідентифікатор – це ім'я, що вільно обирається програмістом для елементів програми. Тип даних – це характеристика ідентифікатора, що визначає безліч значень, які він може набувати (цілі чи дробові числа, рядки символів, логічні вирази та ін.). 5 ЗАГАЛЬНА СТРУКТУРА ПРОГРАМИ Program Ім'я_програми; Uses розділ модулів, що підключаються; Label розділ опису міток; Const розділ опису констант; Type розділ опису власних типів даних; Var розділ опису змінних; Begin Основне тіло програми; End. Мінімальний код: 6 ВИСНОВОК НА ЕКРАН Для виведення інформації на екран, використовуються оператори: Write або Writeln. F9 – Компіляція + перевірка Ctrl+F9 – Запуск F9 → Ctrl+F9 – уникнення помилок Відображення результатів виконання програми 7 ВИСНОВОК НА ЕКРАН Результат застосування операторів: WRITE «Порожній» оператор WRITELN додає порожній рядок WRITELN 8 ВПРАВИ Виведіть інформацію на екран так, як нижче Hello! Nice to see you! Call me computer. Матеріал, що використовується: Оператори виведення: Write, WriteLn «Порожній» оператор WriteLn; вставляє порожній рядок. 9 ПІДКЛЮЧЕННЯ ДОДАТКОВИХ МОДУЛІВ Додаткові модулі розширюють можливості ваших програм шляхом введення додаткових операторів. Модулі підключаються до розділу Uses. Program My; Uses Модуль1, Модуль2; ________________________ ________________________ ________________________ ________________________ МОДУЛЬ 1 Набір ресурсів 1 … МОДУЛЬ N Модулі: Системні Власні Набір ресурсів N Очистка текстового екрана Очікування натискання на клавішу Підключений модуль з ім'ям CRT 10 ВИХІД Y Y координата знайомства на екрані. X може набувати значень від 1 до 80, а Y від 1 до 25. Наприклад: Program My_program; (Підключення модуля) Uses Crt; Begin (Очищення екрана) ClrScr; (Виведення даних) GotoXY(1, 1); write("▒"); GotoXY(80, 1); write("▒"); GotoXY(1, 25); write("▒"); GotoXY(80, 25); write("▒"); (Затримка екрана) ReadKey; End. Програма виводить на кутах екрана символ “▒” (код 177). 11 ВИСНОВОК У КВІТІ TextColor (Color); Визначає колір символів. TextBackground (Color); Визначає колір знайомства. Program MyProgram; Uses Crt; Begin TextColor(Red); TextBackGround(Blue); Write("На дворі"); TextColor(White); Write("трава,"); TextColor(Green); TextBackGround(Yellow); Write("на траві"); TextBackGround(Magenta); Write("дрова. »); End. 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 фіолетовий – коричневий – світло-сірий – темно-сірий – блакитний – світло-зелений – світло-ціановий – рожевий – світло-бузковий – жовтий – білий РОБОТА З ДАНИМИ РОБОТА З ДАНИМИ ЗНАЧЕНЬ Операції з даними ІДЕНТИФІКАТОРИ Термін ідентифікатор застосовується до константів, змінних, функцій, процедур, компонентів та інших об'єктів, що визначаються користувачем.. Дозволені символи: латинські літери; цифри; не можуть складатися з декількох слів, не можуть збігатися з будь-яким із ключових слів. . Помильні ідентифікатори: Дані My name 2Array Var ( ( ( ( Використовуються російські символи ) Є пробіл ) Починається з цифри ) Збігається з ключовим словом ) 15 ТИПИ ДАНИХ Тип даних - це характеристика ідентифікатора, що визначає безліч значень, які він може приймати ( числа, рядки символів, логічні вирази та ін.). 16 ЦІЛИЙ ТИП ДАНИХ 17 Кінцевий набір можливих значень тип byte shortint word integer longint діапазон 0..255 -128..127 0..65535 -32768..32767 -2147483648..2147 ! Вихід за межі діапазону призводить до помилки! Розм ОГОЛОШЕННЯ ЗМІННИХ Змінна – це ідентифікатор, здатний зберігати будь-яке значення (число, рядок тощо) та змінювати його у процесі роботи програми. Синтаксис: Var<имя переменной> : <тип переменной>; Program Ім'я_програми; Uses розділ модулів, що підключаються; Var розділ опису змінних; Begin Основне тіло програми; End. Зарезервоване місце в пам'яті комп'ютера під 3-х змінних 18 ЗАВДАННЯ ЗНАЧЕНЬ ЗМІНИМ Для завдання значення змінної необхідно скористатися оператором присвоєння:= Синтаксис запису:<Переменная> := <Значение>; У змінну (цілочисленну) з ім'ям А заноситься значення 3 19 ОПЕРАЦІЇ З ЦІЛИМИ ЗМІННИМИ 20 Арифметичні операції: + - * / Стандартні операції: div | mod | sqr Не можна використовувати з цілими типами У змінну з ім'ям S заноситься сума значень, що зберігаються в змінних X і Y Значення, що зберігається в змінній з ім'ям S виводиться на екран ВПРАВА 21 1. Напишіть програму, яка виводить на екран результат множення чисел 15 і 2 2. Напишіть програму, яка виводить на екран значення функції f 2 x 3 y , при x=11, y=3 Використовуваний матеріал: Змінні оголошуються в розділі Var Цілий тип називається Integer Синтаксис присвоєння змінної значення:<Переменная> := <Значение> ; Після кожного оператора ставиться знак; (крім begin та останнього end) РЕЧОВИННИЙ ТИП ДАНИХ Безліч значень √ √ Порядковий тип Речовий тип Одностороння сумісність: Речовий Цілий Цілий Речовинний! Вихід за межі діапазону та недотримання правил сумісності призводить до помилки! 22 ОПЕРАЦІЇ З РЕЧОВИНИМИ ЗМІННИМИ 23 Стандартні операції: pi | Sqrt | Sin | Cos | Abs | Exp | Ln Round | Trunc (речовий → цілий) Наприклад (X, S – тип Real): X:= pi/3; S:= Sin(X) * 100; Write (Round(S)); У змінну з ім'ям S заноситься відношення значень, які зберігаються в змінних X та Y Позиція числа та число символів у дробовій частині числа E – позначає ступінь числа. 5.6E-5 = 5.6·10-5 РЯДКОВИЙ ТИП ДАНИХ 24 Рядки – впорядкований набір символів. Рядки укладені в апострофи. Рядки не сумісні з цілими та речовими типами. Тип Діапазон String 255 символів (Основні оператори для рядків) + (конкатенація) Length (S); ( Довжина рядка ) Наприклад: X: = 'Вася'; Write('У вашому імені', Length(X), 'літер.'); S: = X; X: = S; ВПРАВА Напишіть програму, яка виводить на екран результат розподілу чисел 12.89 та 0.22 з відображенням лише трьох значущих цифр після коми у наступному форматі: перше число поділити на друге число = результат Write (X:1:3, ' razdelit na ', y:1 :3, ' = ' z:1:3) Використовуваний матеріал: Строковий тип називається String Рядки укладаються в опострафи Конкатенація рядків відбувається через знак + В операторі виведення на екран, різні типи відокремлюються комою 25 ВВЕДЕННЯ ДАНИХ З КЛАВІАТУРИ 26 Для того, щоб ввести інформацію з клавіатури необхідно скористатися оператором введення: Read або ReadLn. Синтаксис: Read (N1, N2, … Nn); Де N1, N2, … Nn – змінні (цілі, речові, рядкові) У змінну Х, заноситься значення, введене з клавіатури Після введення значення, необхідно натиснути клавішу Enter Якщо змінних в операторі вказано кілька, то вони вводяться через пробіл, або через натискання клавіші Enter ВПРАВА 27 1. Напишіть програму міні-калькулятор, яка обчислює суму двох чисел, введених з клавіатури. 2. Напишіть програму, яка запитує, як Вас звуть, а після того, як Ви напишіть своє ім'я, виводить вітання. Наприклад, якщо Ви ввели ім'я Ваня, то програма виведе фразу: Привіт, Ваня! Використовуваний матеріал: Оператори введення: Read, ReadLn ОПЕРАТОРИ УМОВНИЙ ОПЕРАТОР 29 Умовний оператор реалізує «розгалуження», тобто змінює порядок виконання операторів залежно від істинності чи хибності певної умови. Перевірка умови НІ Дія 1 Піду на пляж Іде дощ ТАК Дія 2 Візьму парасольку Дія 3 Піду в кіно ПЕРЕВІРКА УМОВ Операції порівняння: > - більше< - меньше = - равно >= - більше чи одно<= - меньше или равно <>- не одно 30 Логічні операції: Not And Or - Не -І - Або Наприклад: Якщо Мій зріст > Зростання Петі, То я вище Петі Якщо (іде дощ) Або (йде сніг), То я залишусь вдома Якщо Не ((йде дощ) ) І (вітер)), То я піду гуляти При використанні логічних операцій, умови полягають у дужки СИНТАКСИС ЗАПИСУ УМОВНОГО ОПЕРАТОРА Коротка форма: If<условие>then<оператор>; Наприклад, якщо в змінній Х значення менше 0, тоді в цю ж змінну записується значення 1: If X<0 Then X:= 1; Полная форма: If <условие>then<оператор_1>else<оператор_2>; Наприклад: If X>5 Then X: = X - 1 Else X: = X + 1; Після слів Then та Else можна використовувати лише один оператор Перед словом Else, знак; відсутня 31 ВПРАВА 32 1. Напишіть програму, яка отримує на вхід суму в доларах та суму в євро, а потім виводить на екран у якій валюті сума більша (1 долар=28 руб., 1 євро=35 руб.) 2. Напишіть програму , Що отримує на вхід три числа, а потім виводить на екран максимальне з них. Матеріал, що використовується: Форми запису умовного оператора: If<условие>Then<оператор>; If<условие>Then<оператор_1>Else<оператор_2>; Перед Else знак; не ставиться Операції порівняння: >< = <> >= <= Логические операции: Not Or And ОПЕРАТОРНЫЕ СКОБКИ Если после слов Then или Else необходимо записать несколько операторов, то их заключают в операторные скобки (составной оператор). Операторные скобки начинаются словом Begin, а заканчиваются словом End; Например: If Z >0 Then Begin X: = 1; Y:=-1; WriteLn('Інформація прийнята'); End Else WriteLn('Помилка'); 33 ОПЕРАТОР ВИБОРУ CASE Оператор вибору використовується для заміни конструкцій із вкладених умовних операторів. Синтаксис запису Case<порядковая_переменная>of<значение_1> : <оператор_1> ; <значение_2> : <оператор_2> ; ……… <значение_N> : <оператор_N>Else<оператор_N+1>; End; В операторі вибору можна використовувати операторні дужки Не обов'язковий рядок 34 ОПЕРАТОР ВИБОРУ CASE Case Зростання учня of 16..30: Ви учень початкових класів; 31,32,33: Ви навчаєтесь у класі 5-6; 34..50: Ви старшокласник Для перерахування значень використовується кома, для вибору діапазону – двокрапка Else Ви явно не учень; End; Case x of -128..-1: writeln('Негативні'); 0: writeln ( ' Нуль '); 1..127: writeln('Позитивні') Else WriteLn('Вихід з діапазону'); End; 35 ВПРАВА Напишіть програму, яка отримавши число, виводить на екран відповідний день тижня. Наприклад, ввели число 2, програма має вивести вівторок. Якщо число виходить за межі 1.7, то має бути виведене повідомлення, що такого дня немає. Матеріал, що використовується: Оператор вибору: Case<порядковая_переменная>of<значение_1> : <оператор_1> ; ……… <значение_N> : <оператор_N>; Else<оператор_N+1>; End; 36 ЦИКЛИ 37 Циклічними називаються алгоритми, у яких виконання деяких операторів здійснюється багаторазово з тими самими модифікованими даними (наприклад, процедура множення чисел через їх багаторазове складання). У мові Паскаль є три оператори циклу: For (цикл із параметром або задане число повторень) While (цикл ПОКА) Repeat (цикл ДО) Якщо число повторень відомо, краще скористатися оператором циклу з параметром. ЦИКЛ З ПАРАМЕТРОМ 38 Цикл на задану кількість повторень зі зростаючим або спадним значенням параметра For (парам) := (поч_зн) To (кон_зн) Do (оператор) ; Тіло циклу Примітки Параметр – тип; У циклі можна використовувати операторні дужки; У тілі циклу не можна змінювати параметр циклу; Параметр циклу зростає на одиницю; Початкове значення > кінцевого, інакше тіло циклу ігнорується; Для зменшення параметра за місце To використовувати DownTo. ЦИКЛ З ПАРАМЕТРОМ 39 Написати програму, яка запитує цілі числа (a, b), причому a := <нач_зн>To<кон_зн>Do<оператор>; Параметр – цілий тип (зазвичай, Integer); У циклі можна використовувати операторні дужки; Параметр циклу збільшується на одиницю 40 ЦИКЛ WHILE («ПОКИ») Цикл While спочатку перевіряє умову, і тільки якщо вона справді виконує тіло циклу. While (умова) do (оператор); У тілі коду, написаному нижче цикл не виконатись жодного разу: x:=1; While x>1 do x:=x-1; Можна отримати нескінченний цикл. Наприклад: x:=1 While x>0 do х:=х+1; 41 ЦИКЛ WHILE («ПОКИ») Програма виведення на екран суми чисел від a до b. While not keypressed do begin Delay(2000); End; Цикл працює, поки змінна змінна f не стане більше значення b 42 ВПРАВА 43 1. Космонавти вирішили на місяці садити берези, причому щороку збільшувати кількість берез в два рази, в перший рік посадили 3 берези. Виведіть на екран через, скільки років число берез перевищить 10 000. 2. Напишіть програму, яка визначає максимальне із введених чисел з клавіатури (введення чисел закінчується числом 0). Нижче наведено рекомендований вигляд екрана: Введіть числа. Для завершення введення введіть 0. 89 15 0 Максимальне число 89. Використання матеріалу: Оператор циклу While: While<условие>do<оператор>; Цикл While спочатку перевіряє умову, і лише якщо вона справді виконує основне тіло циклу. ЦИКЛ REPEAT («ДО ТИХ ПІР») 44 Цикл Repeat спочатку виконує тіло циклу, а потім перевіряє умову Repeat (тіло_циклу) Until (умова); Немає потреби у циклі Repeat використовувати складовий оператор, т.к. Ця конструкція передбачає виконання не одного, а кількох операторів, укладених між словами Repeat та Until. ЦИКЛ REPEAT («ДО ТИХ ПОР») Програма виведення на екран суми чисел від a до b. Цикл працює, поки змінна змінна f не стане більше значення b 45 ПОРІВНЯННЯ ЦИКЛІВ For While Repeat 46 Вибір моделі циклу залежить лише від зручності його використання в конкретній ситуації. Ми практично завжди можемо замість одного-го виду циклу скористатися іншим. Використовуваний матеріал: Оператор циклу Repeat: Repeat<тело_цикла>Until<условие>Цикл Repeat спочатку виконує тіло циклу, а лише потім перевіряє умову 47 ПЕРИВАННЯ ЦИКЛІВ 48 Для гнучкого управління циклічними операторами використовуються процедури: Break - вихід із циклу; Continue – завершення чергового проходу циклу; Приклади: Знайти мінімальне число i, для якого сума чисел від 1 до i більше 100. Як тільки s (сума чисел від 1 до i) стає більше 100 спрацьовує оператор break і відбувається вихід із циклу. s:=0; for I:= 1 to 100 do begin if s>100 then break; s: = s + i; end; Writeln ( 'мінімальне число i, таке, що (1+2+..+i)>100 дорівнює ',i); З клавіатури вводяться 10 чисел і циклі вважається сума лише позитивних. Якщо число є негативним, то виконується оператор continue, який починає наступний прохід циклу. s:=0; for I:= 1 to 10 do begin Readln (k); if k<0 then Сontinue; s:= s + k; end; Writeln (‘Сумма положительных чисел равна ’,s); МАССИВЫ МАССИВЫ 50 Простые типы: одна переменная – одно значение Структурированные типы: одна переменная – несколько значений Массив – это фиксированное количество значений одного типа. Доступ к конкретному значению осуществляется через индекс. Переменная массива Структура массива: A= Доступ к массиву: 0 1 2 3 Индекс 9 7 0 0 Значения <Имя массива> [ <Индекс>] A: = 7; МАСИВИ Масив оголошується в розділі Var: (Ім'я) : Array [ (поч_зн) .. (кон_зн) ] of (тип) ; Приклади оголошення масивів: Var A: Array of String; B: Array of Real; З: Array of Integer; Приклади заповнення масивів значеннями: A: = 'Вася'; A:='Петя'; A:='Маша'; A:='Олеся'; Write (A); For f:=1 to 10 do C[f]:= f*2; For f:=1 to 10 do WriteLn (C[f]); 51 ВПРАВА 52 Напишіть програму, яка запитує у користувача 7 цілих чисел і заносить їх у масив. У масиві міститься максимальний елемент і відображається на екрані. Наприклад: Введіть 1 число: 4 Введіть 2 число: 8 Введіть 3 число: 9 Введіть 4 число: 2 Введіть 5 число: 4 Введіть 6 число: 5 Введіть 7 число: 0 Максимальне число: 9 Використовуваний матеріал: Оголошення масиву:<Имя>: Array [<нач_зн> … <кон_зн>] of<тип>; Доступ до масиву:<Имя массива> [ <Индекс>] ГЕНЕРАТОР ВИПАДКОВИХ ЧИСЕЛ (ГСЧ) Для генерації у програмі випадкових чисел використовують наступні оператори: Randomize – ініціалізація ГСЧ. Оголошується лише на початку програми; Random – генерує випадкове число від 0 до 1 (речовий тип); Random (N) – генерує довільне число від 0 до N-1 (цілий тип); 53 БАГАТОМІРНІ МАСИВИ 54 Список інтервалів для кожної розмірності масиву (Ім'я) : Array [ (поч_зн) .. (кон_зн) , (поч_зн) .. (кон_зн) , (і т.д.) ] of (тип) ; Приклад оголошення двомірного масиву (матриці, таблиці) на 4 рядки та 6 стовпців: Var A: Array of Integer; Приклад заповнення масиву: For i:=1 to 4 do For j:=1 to 6 do A := i+j; Ai , j 2 3 4 5 3 4 5 6 4 5 6 7 5 6 7 8 6 7 8 9 7 8 9 10 ВПРАВА Напишіть програму, яка заповнює двовимірний масив випадковими числами від -10 до 20 і виводить суми елементів . Використовуваний матеріал: Ініціалізація ДСЛ: Randomize Випадкове число від 0 до N-1: Random (N) 55 РОБОТА З ФАЙЛАМИ РОБОТА З ФАЙЛАМИ 57 Файл: Початок файлу Покажчик [email protected]$ku⌂|"Hd9v*9(L*M=BYGRMxduВ █ 8e*ВOtCDrTVzHGJ1aBD>@Б\(r8sE) █ :wcJvAmRa"v/.Wai;$`SWI=y2]suB █ ?Hq>vF(LmBc .6b]o(QkВ8 █ cu<6`8Z":M^1;:8ANwak;,b2-4…u5 █ 2]suB?Hq>vF(LmBcAdz4wcP]o(QkВ █ 8c8df]e"v,su>+),VAEFБjFV,W$Q-█ y0G1GjN$-eБ|sqZ0`QnВ%\БD%y █ █ █ - ознака кінця рядка █ - ознака кінця файла Змінна Створення, читання, запис, закриття РОБОТА З ФАЙЛАМИ Послідовність дій при роботі з файлами: 1. Оголошення файлової змінної (ФП), 2. Асоціація ФП з файлом, 3. Відкриття файлу для читання/запису, 4. Операції з 5. Закриття файлу (так само розривається зв'язок між файлом і ФП) 1. Оголошення ФП<Имя>: File of<тип> ; <Имя>: Text; Var f: Text; h: File of Integer; 2. Асоціація ФП із файлом Assign (<ФП>, <имя файла>); Assign (f, 'c:\my\Data.ghm') 58 РОБОТА З ФАЙЛАМИ 3. Відкриття файлу для читання/запису Reset (<ФП>); - відкриває файл для читання Rewrite (<ФП>); - відкриває файл для запису 4. Операції з файлом Read (<ФП>, <П1> , <П2>, …); - зчитує до змінних<П1>, <П2>і т.д. по одному елементу з позиції покажчика. Write (<ФП> , <П1> , <П2>, …); - записує у файл значення змінних<П1>, <П2>і т.д. по одному елементу з позиції покажчика. EoLn (<ФП>); - повертає True, якщо досягнуто кінця рядка. EoF (<ФП>); - повертає True, якщо досягнуто кінець файлу. 5. Закриття файлу Close (<ФП>); 59 РОБОТА З ФАЙЛАМИ Спростіть програму, якщо відомо, що матриця розміром 5x5 (використовуйте цикл For) 60 ВПРАВА 61 Напишіть програму «ДОМ-3». У першому файлі містяться імена учасників у називному відмінку. У другому, ті самі імена, але в знахідному. У третьому – список висловлювання почуттів чи якась дія (любить, не любить, цілує, хоче вкусити, обожнює, поважає, ненавидить, хоче бачити, обіймає). Програма повинна випадково брати інформацію з цих файлів та створювати новий за таким принципом:<имя в им. пад> <чувство/действие> <имя в вин. пад> Ольга любить Сергій Олег хоче бачити Романа Катя поважає Настю І т.д. Матеріал, що використовується: Назва операторів: Assign, Rewrite, Reset, Write, Read, Close. Графіка Графіка Для роботи з графікою Pascal необхідні два файли - модуль graph.tpu і драйвер графічного адаптера egavga.bgi. Перший знаходиться в каталозі \UNITS, а другий - \BGI. ! Драйвер egavga.bgi. Необхідний під час роботи exe файлу! Щоб малювати, треба: 1. підключити модуль GRAPH (у розділі Uses); 2. ініціалізувати графіку (InitGraph); 3. щось намалювати; 4. закрити графічний режим (CloseGraph) 63 ГРАФІКА Ініціалізація графічного режиму Малювання лінії. Перо переходить з точки (0,0) до точки (639, 479). PROGRAM Primer_1; Uses Graph, crt; Var Gd, Gm: Integer; BEGIN Gd:=0; InitGraph (Gd,Gm,'d:\BP\bgi"); Line (0,0,639,479); ReadKey; CloseGraph; END. 639 пікс. Система координат 479 пікс. 64 Закриття графічного режиму ВПРАВИ трикутник 2. Зобразити в центрі екрану прямокутник зі сторонами в двоє меншими, ніж відповідні сторони екрана Використовуваний матеріал: Графічний модуль: Graph Ініціалізація графіки: InitGraph Закриття графічного режиму: CloseGraph; ГРАФІКА + КОЛІР SetColor(Color:Color: word; Повертає колір пера SetBkColor(color: word);Встановлює колір фону.GetBkColor:word; – червоний – бузковий – коричневий – світло-сірий – темно-сірий – блакитний – світло-зелений – світло-ціановий – рожевий – світло-бузковий – жовтий – білий ГРАФІЧНІ ПРИМІТИВИ Line (x, y); Рисує лінію від поточної координати пера до координат (x, y). MoveTo (x, y); Встановлює перо координати (x, y). PutPixel (x, y, Color); Малює точку з координатами (x, y) кольором Color. GetPixel (x, y): слово; Повертає колір точки з координатами (x, y). Rectangle (x1, y1, x2, y2); Будує контур прямокутника. Circle (x, y, r); Малює коло з центром (x, y) і радіусом r. SetLineStyle (Ln, 0, T) Змінює параметри контуру. Ln – стиль лінії (0..3): 67 x1, y1 T – товщина лінії: 1 = нормальна; 3 = товста. FillEllipse (x, y, Xr, Yr); Малює зафарбований еліпс з центром (x,y) і радіусами Xr та Yr. SetFillStyle (Type, Color); Встановлює тип (0..11) та колір штрихування замкнутих фігур ClearDevice; Очищає графічний екран, зафарбовуючи його в поточний колір фону x2, y2 ГРАФІЧНІ ПРИМІТИВИ 68 1. Напишіть програму, що малює на екрані монітора будиночок; 2. Напишіть програму, яка на екрані монітора малює зоряне небо з зірками випадкового радіусу (від 1 до 5 пікс.) та випадковим розташуванням. Колір теж випадковий (білий, світло-сірий, темно-сірий); Матеріал, що використовується: SetColor (Color: word); - встановлює колір малювання SetBkColor (color: word); - Встановлює поточний колір тла. Line (x, y); - Чортить лінію від поточної координати пера до координат (x, y). MoveTo (x, y); - Встановлює перо координати (x, y). PutPixel (x, y, Color); - Малює точку з координатами (x, y) кольором Color. Rectangle (x1, y1, x2, y2); - Будує контур прямокутника із ліній поточного кольору. Circle (x, y, r); - Малює коло з центром (x, y) і радіусом r. FillEllipse (x, y, Xr, Yr); - Малює зафарбований еліпс з центром (x,y) і радіусами Xr і Yr. ГРАФІКА + АНІМАЦІЯ Пауза у мСек. 70 ПІДПРОГРАМИ ПІДПРОГРАМИ Підпрограми дозволяють виділяти повторювану частину коду в окремі фрагменти і вставляти з потрібні місця програми. Функція, на відміну від процедури, повертає результат виклику. Процедури Опції Підпрограми: пишуться між ключовими словами Begin End; ідентифікуються за іменами, що пишуться за правилами завдання ідентифікаторів; можуть мати вхідні та вихідні параметри; Повністю повторюють структуру основної програми. 72 Program My; Підпрограма 1 [Код підпрог-ми 1] Підпрограма 2 [Код підпрог-ми 2] Begin Підпрограма 2 Підпрограма 1 Приклад системних підпрограм: Write(“Ок”); ClrScr; Length (S); Random; // // // // процедура з одним параметром процедура без параметрів функція з одним параметром функція без параметрів Підпрограма 2 End. ПІДПРОГРАМИ (ППР) Вкладеність підпрограм Програма Підпрограма 1 Підпрограма 3 Підпрограма 4 Підпрограма 2 73 Область доступності змінних Змінні, описані в деякій ППР, відомі в межах її тіла, ВКЛЮЧА і всі вкладені ППР (змінна описана в ППР1 . Імена змінних, описаних у ППР, можуть збігатися з іменами змінних з інших ППР (у кожному з ППР може бути оголошена однакова змінна). Ім'я змінної, описане в ППР, екранує однойменні змінні з ППР, що охоплюють даний (якщо ППР1 і ППР3 оголошені однакові змінні, то кожної ППР ці змінні будуть унікальні). Змінні програми називаються глобальні, а змінні підпрограм – локальні. ПРОЦЕДУРИ БЕЗ ПАРАМЕТРІВ Синтаксис запису: Procedure (ім'я процедури); (розділ змінних, констант, типів, міток, модулів) Begin (Тіло процедури); End; Приклад використання процедури без параметрів: 74 ПРОЦЕДУРИ БЕЗ ПАРАМЕТРІВ Приклад екранування однойменних змінних: Program My_program; Uses Crt; Var A:String; // Опис процедури Procedure My_Procedure; Var A:String; Begin A:= "Підпрограма"; Writeln(A); End; Begin A:= "Тіло"; Writeln(A); My_Procedure; Writeln(A); End. // Виклик процедури 75 ПРОЦЕДУРИ З ПАРАМЕТРАМИ 76 Для того, щоб підпрограми були більш універсальними, застосовуються спеціальні механізми обміну даними між програмою та її підпрограмами. Системні процедури із параметрами: SetColor (Red); ( Процедура з Rectangle (0, 0, 639, 479); ( Процедура з InitGraph (Gd,Gm,'d:\BP\bgi"); ( Процедура з ( параметрами одним параметром ) кількома параметрами ) декількома різнотипними ) ) Синтаксис запису процедури з параметрами Procedure (Ім'я) ((Область вхідних змінних) Var (Область вихідних змінних (для кожної змінної свій Var))); Структура областей: Змінна_1, Змінна_2, … : Тип; ............. Змінна_N-1, Змінна_N, … : Тип: Будь-яка з областей може бути відсутні ПРОЦЕДУРИ З ПАРАМЕТРАМИ Використання вхідних параметрів Процедура малювання екрана прямокутника, що облямовує, заданого кольору Без параметрів З параметрами Procedure Cir; SetColor (i); SetBkColor (b); Rectangle (0, 0, 639, 479); End; Procedure Cir (i, b:Integer); Begin SetColor (i); 639, 479), End, Виклик процедури у програмі: Виклик процедури у програмі: i:=6;b:=12;Cir;Cir(6,12);77 ПРОЦЕДУРИ З ПАРАМЕТРАМИ Використання вихідних параметрів ра перетворення кута із градусного заходу на радіану. PROGRAM EX_26_3; VAR x,a: real; PROCEDURE Rad(alfa: real; var betta: real); (Вихідна змінна) BEGIN Betta: = pi * alfa / 180; END; BEGIN Write("Введіть кут у градусах: "); Readln(x); Rad(x, a); (Виклик процедури) Writeln("Йому дорівнює кут у радіанах = ",a:6:4); END. 78 ВПРАВА 79 1. Напишіть процедуру, яка малює трикутник, у такому форматі: Triangle (x1,y1, x2,y2, x3,y3, Color) 2. Напишіть процедуру обчислення площі прямокутника у такому форматі: SRect (a, b, S) де S – вихідний параметр процедури. Використовуваний матеріал: Procedure (Ім'я) ((Область вхідних змінних) Var (Область вихідних змінних)); Структура областей: Змінна_1, Змінна_2, … : Тип; ........................ Змінна_N-1, Змінна_N, … : Тип; ФУНКЦІЇ 80 Синтаксис запису функції Function ((Область вхідних змінних) Var (Область вихідних змінних)): (Тип) ; Оформлення процедури Оформлення функції Procedure S(a, b: real; var s: real); Begin s:= a+b; End; Function Sum (a, b: real): real; Begin Sum:= a+b; End; виклик процедури виклик функції S(10, 20, A); Write (A); A:= S(10, 20); WriteLN (A); WriteLN (S(20, 30)); Оформляти деяку підпрограму як функцію доцільно лише тому випадку, якщо очікується певний результат її роботи. Якщо підпрограма орієнтована лише виконання певної послідовності дій (висновок на екран, малювання тощо.), краще оформити її як процедуру. ВПРАВА Напишіть функцію обчислення площі прямокутника у такому форматі: SRect (a, b) Використовуваний матеріал: Function (Ім'я) ((Область вхідних змінних) Var (Область вихідних змінних)): (Тип) ; Структура областей: Змінна_1, Змінна_2, … : Тип; ........................ Змінна_N-1, Змінна_N, … : Тип; 81 МОДУЛІ 83 Модуль (UNIT) - самостійна програмна одиниця, ресурси (процедури та функції) якої можуть бути використані іншими програмами. Program My1; Uses Модуль1, Модуль2; __________________________ __________________________ __________________________ __________________ МОДУЛЬ 1 Набір ресурсів 1 … Program My2; Uses Модуль1, Модуль2; __________________________ __________________________ __________________________ __________________ МОДУЛЬ N Набір ресурсів N Модулі підключаються до програми через розділ USES МОДУЛІ. СТРУКТУРА 84 Модуль складається з наступних частин: 1. Заголовок модуля. 2. Інтерфейсна частина. (Опис видимих ​​об'єктів) 3. Реалізаційна частина. (Опис прихованих об'єктів) 4. Ініціалізаційна частина (не обов'язкова). Unit (Ім'я модуля); Interface ( Розділ глобальних змінних, констант, типів) ( модулів ) ( Список заголовків процедур та функцій ) Implementation ( Розділ локальних змінних, констант, типів) ( Реалізація процедур та функцій ) Begin (Частина ініціалізації ) End. ! Ім'я заголовка модуля повинне співпадати з ім'ям файлу модуля! Модуль Приклад модуля: Unit My_Unit; Interface Var ms: Array of Real; (Глобальний масив) Function Cub(x:integer):Integer; (Функція Cub = x^3) Function ext4(x:integer):Integer; (Функція ext4 = x^4) Implementation Function Cub(x:integer):Integer; (Реалізація функції Cub) Begin Cub: = x * x * x; End; Function Ext4(x:integer):Integer; (Реалізація функції ext4) Begin Ext4: = x * x * x * x; End; End. 85 ВПРАВА 86 Напишіть модуль однією функцією та однією процедурою: ( Функція обчислення X1=1/x ) X1(a:real):real; ( Процедура друку на екрані слова S, в позиції X, Y WriteXY(S:String; X,Y:Iteger); Використовуваний матеріал (структура модуля): Unit (Ім'я модуля); Interface (Розділ глобальних змінних, констант, типів) ( модулів ) ( Список заголовків процедур та функцій ) Implementation ( Розділ локальних змінних, констант, типів) ( Реалізація процедур та функцій ) Begin (Частина ініціалізації ) End.

Щоб користуватися попереднім переглядом презентацій, створіть собі обліковий запис Google і увійдіть до нього: https://accounts.google.com


Підписи до слайдів:

Мова програмування Pascal Основні поняття А. Жидков

Мова програмування Мова програмування (ЯП) – це формалізована система для опису алгоритмів, яка визначає Алфавіт (набір символів) Лексику (набір лексичних елементів) Синтаксис (правила написання операторів) Семантику (правила виконання операторів)

Алфавіт – впорядкований набір символів. Цифри 0 1 2 …. 9 Латинські літери a b c …. z A B C …Z Знаки операцій + * / - >

Лексичні елементи мови ключові слова (begin, end, if, for…) константи (2, "ABC", #5) ідентифікатори (a, b1) спецсимволи (:= += * + /) (*..*) //..)

Ключові слова мови (Увага!!! Не можна використовувати як ідентифікатори) і array as begin break case class const constructor continue destructor div до введення в кінець exit external externalsync file finalization for forfunction if in inherited initialization is mod not or private pro protected public record repeat set shl shr sizeof string the typ unit until uses var while with xor

Структура Pascal-програми program First; const Pi = 3.14; var r: real; S,C: real; begin write ("Введіть радіус кола:"); readln(r); S:= Pi*r*r; C:= 2*Pi*r; writeln ("Довжина кола дорівнює C = ",С); writeln ("Площа кола дорівнює S=", S); end. Ім'я програми Заголовок Секція описів Оператори (блок) Початок блоку операторів Кінець блоку операторів Увага! Оператори мови відокремлюються знаком; Увага!!! Програма закінчується end.

Складовий оператор (блок) Складовий оператор – це група операторів ув'язнених у “операторні дужки” Begin … . е nd. Порожній оператор містить лише; , жодних дій не виконує.

Ідентифікатори (імена) Ідентифікатор – це ім'я об'єкта (модуля, функції, змінної). Синтаксис: Ідентифікатор - послідовність латинських літер та цифр, що починається з літери. Великі та малі транслятор не розрізняє. Обмеження довжини ідентифікатора (63 символи). Рекомендується! Використовувати осмислені ідентифікатори та загальноприйняті скорочення – це покращує читаність програм. Приклади: srednee; V; F; m; massa; m1; skorost

Константи Константа – це величина, яка може змінитися. Числові константи – це числа 3 3.5 1.75е2 $4ff Строкові константи – це символи в апострофах 'Привіт кадет'. УВАГА!!! Іменовані константи треба описати в секції описів const. Синтаксис: const =; Наприклад: const Pi = 3.14; Count = 10; Name = "Mike";

Змінні та його опис Змінна - це група осередків пам'яті, має ім'я, тип і значення. Ім'я змінної – ідентифікатор. Тип змінної - визначає: безліч значень, що приймаються нею, кількість пов'язаних з нею осередків пам'яті. Значення змінної – вміст групи клітин пам'яті відведених під неї. УВАГА!!! Змінна повинна бути описана в розділі VAR .

Секція описів змінних VAR – група імен змінних, розділених комами. УВАГА!!! Знаки: і; обов'язкові. Приклад: var a, b, c: integer; d: real; e,f: integer; s, s1: string; ch: char; Синтаксис: VAR: ;

Типи змінних boolean (логічний) real (речовий) complex (комплексний) string (рядковий) тип " масив ” тип " запис ” тип " покажчик ” Процедурний Файловий Класовий Типи: integer (цілий) byte (байтовий) char (символьний) Перелічуваний Діапазонний називаються Тільки ці типи можуть бути індексами масивів, перемикачами оператора case і параметром циклу for .

Потрібні для нас типи тип довжина коментар string (текстовий) 256 байт Послідовність символів, в нульовому байті зберігається довжина рядка. integer (цілий) 4 байти Цілі від - 2 147 483 648 до 2 147 483 647 real (речовий) 8 байт C отримають 15-16 десяткових цифр і за модулем

Типи даних Які з наведених чисел є константами цілого типу? 1 2.1E3 4 0.7E-1 7 22.78 2 128 5 +0.9 8 -2100 3 -350 6 +71 9 1E5 2 3 6 8

Типи даних Які з наведених чисел є речовими константами в експоненційній формі? 1 11 4 -0,5E-2 7 2.7E05 2 1.3 5 1050 8 -1.38 3 -1.2E5 6 37.75 9 +3.21E-03 3 7 9

Ідентифікатори Які з наведених виразів можуть бути іменами змінних? 1 5B 4 SIN 7 1AB 2 E6 5 G 8 +LN 3 Л1 6 10 9 L5 2 5 9

Стандартні функції Pascal Ім'я та параметри Дія Abs(x) модуль |x| Sqr(x) квадрат x 2 Sqrt(x) квадратний корінь із Sin(x) синус Sin x Cos(x) косинус Cos x Ln(x) натуральний логарифм Ln(x) Exp(x) (де e =2.718281... ) Arctan(x) арктангенс arctg x Power(x,y) x у ступені yxy Int(x) ціла частина х Frac(x) дробова частина х Random випадкове число в діапазоні )