Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка з інформатики.doc
Скачиваний:
21
Добавлен:
20.12.2018
Размер:
1.33 Mб
Скачать
  1. Основні елементи мови Паскаль. Структура програми на мові Паскаль.

А) Потрібно знати: алфавіт мов програмування Паскаль, службові слова, структуру програми, правила створення ідентифікаторів в програмі.

Б) Потрібно вміти: читати програми та пояснювати призначення основних блоків.

Література.

1) А.Ф.Верлань, н.В.Апатова. Інформатика (підручник для учнів 10-11 класів середньої загальноосвітньої школи).- Київ, «Форум», 2000.

2) В.Л.Руденко, О.М.Макарчук, М.О.Патланжоглу. Практичний курс інформатики.- Київ, «Фенікс», 1997. – 304 с.

3) В.В.Фаронов. Turbo Pascal 7.0. Начальный курс. Учебное пособие. – М.: «Нолидж», 1998. – 616 с.

4) Т.П.Караванова. Збірник задач з програмування. 750 задач з розв’язками.

Контрольні запитання та завдання

    1. З яких символів складається алфавіт мови Паскаль?

    2. Назвіть на протязі хвилини якамога більше ключових слів мови Паскаль.

    3. Наведіть по 5 прикладів вірних та невірних імен в мові Паскаль.

    4. Запишіть на мові Паскаль константи: 6,87; 3,3*10-4; -78,07*103; 2000000000.

    5. Опишіть структуру програми на мові Паскаль. Перевірте, чи можна міняти місцями програмні блоки.

    6. Виконайте приклади програм, задані в опорному конспекті.

    7. Перевірте, чи сприймаються символи, набрані після оператора “END.

Опорний конспект

О С Н О В Н І П О Н Я Т Т Я

А Л Г О Р И Т М І Ч Н О Ї М О В И

СКЛАД МОВИ. Звичайна розмовна мова складається з чотирьох основних елементів: символів, слів, словосполучень і пропозицій. Алгоритмічна мова містить подібні елементи, тільки слова називають елементарними конструкціями, словосполучення - виразами, речення-операторами. Символи, елементарні конструкції, вирази і оператори складають ієрархічну структуру, оскільки елементарні конструкції утворюються з послідовності символів, вирази - це послідовність елементарних конструкцій і символів, а оператор-послідовність виразів, елементарних конструкцій і символів.

ОПИС МОВИ є опис чотирьох названих елементів. Опис символів полягає в переліку допустимих символів мови. Під описом елементарних конструкцій розуміють правила їх освіти.

Опис виразів – це правила утворення будь-яких виразів, що мають сенс в даній мові. Опис операторів складається з розгляду всіх типів операторів, допустимих в мові. Опис кожного елементу мови задається його СИНТАКСИСОМ і СЕМАНТИКОЮ. Синтаксичні визначення встановлюють правила побудови елементів мови. Семантика визначає сенс і правила використання тих елементів мови, для яких були дані синтаксичні визначення.

СИМВОЛИ мови – це основні неподільні знаки, в термінах яких пишуться всі тексти на мові.

ЕЛЕМЕНТАРНІ КОНСТРУКЦІЇ – це мінімальні одиниці мови, що мають самостійний сенс. Вони утворюються з основних символів мови.

ВИРАЗ в алгоритмічній мові полягає з елементарних конструкцій і символів, воно задає правило обчислення деякого значення.

ОПЕРАТОР задає повний опис деякої дії, яка необхідно виконати. Для опису складної дії може бути потрібна група операторів. В цьому випадку оператори об'єднуються в СКЛАДЕНИЙ ОПЕРАТОР або БЛОК.

Дії, задані операторами, виконуються над ДАНИМИ. Речення алгоритмічної мови, в яких даються відомості про типи даних

називаються ОПИСАМИ або не виконуваними операторами.

Об'єднана єдиним алгоритмом сукупність описів і операторів

утворює ПРОГРАМУ на алгоритмічній мові.

О С Н О В Н І С И М В О Л И

Основні символи мови-букви, цифри і спеціальні символи – складають його алфавіт. ТУРБО ПАСКАЛЬ включає наступний набір основних символів:

1) 26 латинських рядкових і 26 латинських прописних букв:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

а b з d e f g h i j до l m n про p q r s t u v w x у z

2) _ підкреслення

3) 10 цифр:

0 1 2 3 4 5 6 7 8 9

4) знаки операцій: + - * / = <> < > <= >= := @

5) обмежувачі: . , ' ( ) [ ] (. .) { } (* *) .. : ;

6) специфікатори: ^ # $

7) службові (зарезервовані) слова:

ABSOLUTE EXPORTS LIBRARY SET

ASSEMBLER EXTERNAL MOD SHL

AND FAR NAME SHR

ARRAY FILE NIL STRING

ASM FOR NEAR THEN

ASSEMBLER FORWARD NOT TO

BEGIN FUNCTION OBJECT TYPE

CASE GOTO OF UNIT

CONST IF OR UNTIL

CONSTRUCTOR IMPLEMENTATION PACKED USES

DESTRUCTOR IN PRIVATE VAR

DIV INDEX PROCEDURE VIRTUAL

DO INHERITED PROGRAM WHILE

DOWNTO INLINE PUBLIC WITH

ELSE INTERFACE RECORD XOR

END INTERRUPT REPEAT

EXPORT LABEL RESIDENT

Окрім перерахованих, в набір основних символів входить пропуск. Пробіли не можна використовувати усередині здвоєних символів і зарезервованих слів.

Е Л Е М Е Н Т А Р Н І К О Н С Т Р У К Ц І Ї

Елементарні конструкції мови ПАСКАЛЬ включають імена, числа і рядки.

Імена (ідентифікатори) називають елементи мови - константи, мітки, типи, змінні, процедури, функції, модулі, об'єкти. Ім'я - це послідовність букв і цифр, що починається з букви. У іменах може використуватися символ _ підкреслення. Ім'я може містити довільну кількість символів, але значущими є 63 символи.

Не вирішується в мові ПАСКАЛЬ використовувати як імена службові слова і стандартні імена, якими названі стандартні константи, типи, процедури, функції і файли.

Для поліпшення наочності програми в неї можуть вставлятися пробіли. Принаймні один пропуск потрібно вставити між двома

послідовними іменами, числами або службовими і стандартними іменами. Пропуски не можна використовувати усередині імен і чисел.

Приклади імен мови ПАСКАЛЬ:

A b12 r1m SIGMA gamma I80_86

Числа в мові ПАСКАЛЬ звичайно записуються в десятковій системі числення. Вони можуть бути цілими і дійсними. Позитивний знак числа може бути опущений. Цілі числа записуються у формі без десяткової крапки, наприклад:

217 -45 8954 +483

Дійсні числа записуються у формі з десятковою крапкою або у формі з використанням десяткового порядку, який зображається буквою Е:

28.6 0.65 -0.018 4.0 5Е12 -1.72Е9 73.1Е-16

ПАСКАЛЬ допускає запис цілих чисел і фрагментів дійсних чисел у формі з порядком в шістнадцятковій системі числення:

$7F $40 $ABC0

Рядки в мові ПАСКАЛЬ - це послідовність символів, записана між апострофами. Якщо в рядку необхідно написати сам апостроф, то слід записати два апострофа. Приклади рядків: 'РЯДОК' 'STRING' 'ПРОГРАМА' 'АД''ЮТАНТ'

С Т Р У К Т У Р А П Р О Г Р А М И

Програма на мові ПАСКАЛЬ складається із заголовка, розділів описів і розділу операторів.

Заголовок програми містить ім'я програми, наприклад:

Program PRIM;

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

Розділ опису модулів визначається службовим словом USES і містить імена модулів (бібліотек), що підключаються, як що входять в склад системи TURBO PASCAL, так і написаних користувачем. Розділ опису модулів повинен бути першим серед розділів описів. Імена модулів відокремлюються один від одного комами:

uses CRT, Graph;

Будь-який оператор в програмі може бути помічений міткою. У якості мітки використовуються довільні цілі без знаку, що містять не більше чотирьох цифр, або імена. Мітка ставиться перед оператором і відокремлюються від нього двокрапкою. Всі мітки, використовувані в програмі, повинні бути перераховані в розділі опису міток, наприклад:

label 3, 471, 29, Quit;

Опис констант дозволяє використовувати імена як синоніми конс-

тант, їх необхідно визначити в розділі описів констант:

const K= 1024; MAX= 16384;

У розділі опису змінних необхідно визначити тип всіх пере-

менных, використовуваних в програмі:

var P,Q,R: Integer;

A,B: Char;

F1,F2: Boolean;

Опис типів, прцедур і функцій буде розглянутий нижче. Отдель-

ные розділи описів можуть бути відсутніми, але слід пам'ятати, що в ПАСКАЛЬ - програмі повинні бути обов'язково описані всі компоненти програми.

Розділ операторів є складеним оператором, який містить між службовими словами

begin.......end

послідовність операторів. Оператори відділяються один від одного символом ;.

Текст програми закінчується символом крапка.

Окрім описів і операторів ПАСКАЛЬ - програма може містити коментарі, які є довільними послідовностями символів, розташованими між відкриваючою дужкою коментарів

{ і закриваючою дужкою коментарів }.

Текст ПАСКАЛЬ - програми може містити ключі компіляції, що дозволяють управляти режимом компіляції. Синтаксично ключі компіляції записуються як коментарі. Ключ компіляції містить символ $ і букву-ключ з подальшим знаком + (включити режим) або - (выключить режим). Наприклад:

{$E+} - емулювати математичний співпроцесор;

{$F+} - формувати дальній тип виклику процедур і функцій;

{$N+} - використовувати математичний співпроцесор;

{$R+} - перевіряти вихід за межі діапазонів.

Деякі ключі компіляції можуть містити параметр, наприклад:

{$I ім'я файлу} - включити в текст компільованої програми названийй файл.

Приклади запису простих програм:

Знаходження площі трикутника за введеними сторонами (формула Герона). Захисту „від дурня” нема.

Program TRIANG;

var A, B, C, S, P: Real;

begin

Read(A,B,C);

WriteLn(A,B,C);

P:=(A+B+C)/2;

S:=Sqrt(P*(P-A)*(P-B)*(P-C));

WriteLn('S=',S:8:3)

end.

Знаходження гіпотенузи трикутника за введеними катетами (теж без захисту)

program sf;

uses crt;

var a,b,c,s:real;

begin

clrscr;

writeln('katetu');

write('a=');readln(a);

write('b=');readln(b);

s:=(sqrt((a*a)+(b*b)));

writeln('gipotenusa=',s:6:2);

readkey;

end.

Знаходження шляху, пройденого тілом, відомі час та прискорення, початкова швидкість дорівнює нулю.

program FIL;

const VO = 0;

var a, t, S: Real;

begin

write('t=');readln(t);

write('a=');readln(a);

S :=VO*t + a*t*t/2;

writeln('S = ', S:6:2);

readln

end.

Знаходження суми, добутку, різниці двох чисел, що вводяться з клавіатури з використанням додаткових змінних:

program E2-1;

uses crt;

var a,b,x,y,z: real;

begin

clrscr;

write('введiть два числа через пробiл, потiм натиснiть Enter');

readln(a,b);

x:=a+b;

y:=a*b;

z:=a-b;

writeln(' a+b=',x:6:2,' a*b=',y:6:2,' a-b=',z:6:2);

readkey;

end.

Знаходження суми, добутку, різниці двох чисел, що вводяться з клавіатури з використанням додаткових змінних:

program E2-2;

uses crt;

var a,b: real;

begin

clrscr;

write('введiть два числа через пробiл, потiм натиснiть Enter');

readln(a,b);

writeln(' a+b=',a+b:6:2,' a*b=',a*b:6:2,' a-b=',a-b:6:2);

readkey;

end.