субота, 11 жовтня 2014 р.

Словник мови програмування Pascal



Відповідності  між словами  та їх значеннями для програмування на мові Паскаль.



аbs(х) -  модуль х;
аnd  -  і;
begin  -  початок;
boolean – логічна величина;
Case – випадок;
сhar – символьна величина;
сhr(x)  - cимвол з кодом х;
сonst  - постійна величина;
сos(x) – косинус  х;
а div b  - ціла  частина в частці а:b;
do  - виконати;
downto – вниз до;
else – інакше;
end – кінець;
eof – кінець файлу;
eoln – кінець рядка;
exp(x) – експонента  х;
false – хибність;
file – файл;
for – для;
function- функція;
get – отримати;
goto – перейти  на рядок;
if – якщо;
іn – в;
input – стандартне введення;
integer – ціла величина;
label – мітка;
ln(x) – натуральний логарифм  х;
maxint – найбільше представлене ціле;
a mod b – остача від частки а:b;
new  новий;
nil – вказівник;
not - логічне заперечення;
odd(x) – число х – непарне;
of –із;
or – або, чи;
ord(x) –код символа х;
output – стандартне виведення;
pack –упакувати;
packed –упакoваний;
page – перейти на нову сторінку;
pred(x) – попередник х;
procedure – підпрограма;
program програма;
put – помістити;
read – прочитати;
readln –  пропустити залишок рядка;
real  дійсна величина;
record  запис;
repeat – повторювати;
reset – почати читати спочатку;
rewrite - – почати запис спочатку;
round(x) -  округлення до цілих х;
set  множина;
sin(x) – синус х;
sqr(x)  квадрат х;
sqrt(x)  квадратний корінь  х;
succ(x) – наступний після х;
text – текст;
then – то;
to  до;
true – істинність;
trunс(x) – ціла частина х;
type – тип;
unpack – розпакувати;
until –до;
var – змінна величина;
while – поки;
with – з;
write – написати;
writeln – написати з переходом на новий рядок.

Стандартні типи даних
За допомогою програм МВР вирішуються найрізноманітніші завдання, тому необхідно мати можливість створювати й обробляти різні типи даних. Основна одиниця інформації — окремий елемент даних, наприклад число або символ.
Тип даних визначає обсяг пам'яті, необхідний для зберігання даного об'єкта, і операції, що можна над цим об'єктом виконувати.
Тип даних
Позна­чення
Опис
Обсяг пам'яті
Приклади
Цілочисельний тип
Byte
Цілі числа в інтервалі
[0; 255]
1 байт
0, 5, 245
Shortint
–128..127
1 байт
-5, 26, 96
word
0..65535
2 байта
0, 36, 6545
Integer
(основний)
Цілі числа в інтервалі
[-32767; 32767]
2 байта
457, -568, -7, 0
longint
–2147483648..2147483647
4 байта
-2356, 988456
Дійсний
тип
single
1.5·10–45–3.4·1038
4 байта
236,36; 6954,369
Real
(основний)
Значення з плавоючою крапкою, що містить мантису (до 11 значущих цифр) і експоненту - степінь числа 10 (від 10-39 до 1038)
6 байтів
0.4,-1.8, 0.172Е+3,
37Е-4
extended
3.4·10–4951 –1.1·104932
10 байт
0.4,-1.8, 0.172Е+3,
Символьний тип даних
Char
Символьні константи містять один символ, який обмежено апострофами
1 байт
А', 'є', Y, '2'
Рядковий тип даних
String
Рядок символів довжиною не більше 255
Зале­жить від довжини

Логічний тип даних
Boolean
Константи логічного типу мають два можливі значення:True (істинне) і False (хибне)
1 байт
5<3 - True5+8>14- False


Операції відношень

Вирази

Арифметичні вирази будуються з констант, змінних, функцій і операцій над ними.
Функція
Тип аргументу
Тип результату
Математичний запис, коментар
 abs(x)
 integer, real
 integer, real
 |x|
 arctan(x)
 integer, real
 real
 arctgx
 cos(x)
 integer, real
 real
 cosx
 sin(x)
 integer, real
 real
 sinx
 exp(x)
 integer, real
 real
 ex
 ln(x)
 integer, real
 real
 lnx
 sqrt(x)
 integer, real
 real
 
 sqr(x)
 integer, real
 integer, real
 x2
 ord(x)
 упорядкований
 integer
 ASCII-код символу
 succ(x)
 упорядкований
 упорядкований
 повертає наступне значення x
 pred(x)
 упорядкований
 упорядкований
 повертає попереднє значення x
round(x)
 real
 integer
 заокруглює чис­ло х до цілого
 trunc(x)
 real
 integer
 відкидає дробову частину числа х
 int(x)
 real
 real
 відкидає цілу частину числа х
 frac(x)
 real
 real
 дробова частина числа х
 odd(x)
 integer
 boolean
 true (x – непар­не), false (x – парне)
 random(x)
 integer
 integer
 Генерує випад­кове число з діа­пазону від 0 до x
 upcase(x)
 char
 char
 замінює малу літеру латинської абетки на велику
 Процедури:
 inc(x,y)
 integer
 integer
 збільшує x на y
 inc(x)
 integer, char
 integer, char
 збільшує x на 1
 dec(x,y)
 integer
 integer
 зменшує x на y
 dec(x)
 integer, char
 integer, char
 зменшує x на 1

Операції відношень
Результатом операції відношень є значення логічного типу:



> 
більше ніж

< =
менше ніж або дорівнює
> =
більше ніж або дорівнює
=
дорівнює
< 
менше ніж
< >
не дорівнює

Приклади
Правила використання виразів:
1. Вираз записується в один рядок. Наприклад, вираз мовою Паскаль має бути записаний так:
(a*x+b*sqr(x)+c*sqr(x)*x)/(14*x-x).
2. У виразах використовуються тільки круглі дужки, причому кіль­кість дужок, що відкриваються, повинна відповідати кількості дужок, що закриваються.
З. Не можна записувати підряд два знаки арифметичних операцій.
Обчислення виконуються зліва направо відповідно пріорітету операцій:
1)  операція обчислення функцій;
2)  Операції піднесення до степення;
3)  операції множення, ділення, mod і div;
4)  операції додавання і віднімання.

Базові алгоритмічні конструкції

Базові алгоритмічні конструкції (управляючі структури) — це способи управ­ління процесами обробки даних. Комбінуючи керуючі структури, можна складати програми для розв'язання різноманітних завдань.
Виділяють три базові алгоритмічні конструкції:
   лінійні алгоритми (послідовне виконання);
   умова (розгалуження);
   цикли (повторення).


Лінійна структура

Лінійна структура передбачає, що тіло програми являє собою послідовність операторів, що виконуються підряд один за одним.
 



Блок-схема лінійного алгоритму наведена на рисунку ліворуч (рис.1)

Лінійна програма, яка підраховує суму двох чисел праворуч (рис. 2)

Лінійні алгоритми (інша назва – прості)  – це алгоритми, що складаються з команд присвоєння, введення-виведення даних та викликів процедур.
Приклад лінійного алгоритму.

program zadacha1;
var n,c,g,k:integer;
begin
writeln(‘задайте найбільше число  n');
readln(n);
writeln('задайте кратність  для чисел  k');
readln(k);
c:=0;
g:=0-k;
g:=g+k;
c:=c+g;
writeln(‘ Результат c=',c);
end.

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

Приклад  циклу.
 Петрик купив декілька конвертів для того, щоб зробити грошовий подарунок своїм друзям.  У перший конверт він поклав k гривен. У другий конверт він поклав 2k гривен. У третій конверт він поклав 3k  гривен і так далі. Допоможіть Петрику обчислити суму усіх грошей у конвертах.  Написати програму,  яка  знаходить суму усіх натуральних  чисел, що менші даного натурального  числа і які кратні деякому натуральному числу.
Вхідні дані:  1) n - натуральне число, яке вказує число грошей, покладено в останній конверт; 2)  k -натуральне число, що є різницею грошей, які лежать у першому  та другому конвертах.
Вихідні даніc – натуральне число, є сумою грошей, які знаходяться в усіх конвертах Петрика.

Розв'язання.
program zadacha1;
var n,c,g,k:integer;
begin
writeln(‘задайте найбільше число  n');
readln(n);
writeln('задайте кратність  для чисел  k');
readln(k);
c:=0;
g:=0-k;
while g<n do
begin
g:=g+k;
c:=c+g;
end;
writeln(‘ Результат c=',c);
end.

Cтруктура програми 

В першому розділі програми програміст повідомляє компілятору, якими ідентифікаторами він позначає дані (константи, змінні), а також встановлює власні типи даних, які надалі він сподівається використовувати в програмі. При цьому необхідно слідкувати, щоб імена змінних, констант, назви типів не повторювались для різних даних.
Розглянемо більш детально всі підрозділи, що можуть використовуватись в програмі.
Program - це заголовок програми, що вказує її ім'я. Для Turbo Pascal 6.0 і більш новіших версій цей підрозділ вказувати необов’язково, хоча рекомендовано вказувати заголовок програми, щоб уже при першому знайомстві з її текстом можна було отримати інформацію про її призначення.
Потрібно відмітити, що заголовок програми, що слідує, за словом PROGRAM є ідентифікатором і володіє всіма його властивостями. Крім цього, заголовок програми обовязково повинен починатись з латинської літери, а далі можуть знаходитись символи, допустимі для алфавіту Turbo Pascal.
Uses - цей підрозділ вказує назви модулів та бібліотек, що потрібно підключити до програми. Поняття “модуль”, “бібліотека”, “блокскладають основу термінології програмування на Pascal. Модуль представляє собою замкнутий блок, що має своє імя, компілюється окремо і підключається до вашої програми, як ніби “чорна скринька” із набором певних (описаних у ньому) процедур, функцій, типів даних, констант і т.д. Бібліотека представляє собою набір таких модулів. Якщо модулі в програмі не потрібно використовувати (не використовується процедури, функції і т.д., що описані в модулі), то цей підрозділ не вказуємо.
Потрібно відмітити, що оператор USES може використовуватись в програмі лише один раз, при цьому в нього є чітко визначене місце (він знаходиться поперед усіх операторів та підрозділів (крім заголовка програми та директив компілятора)).
Label - підрозділ, в якому вказується список усіх міток, що використовуються в програмі. Якщо міток у програмі немає, то підрозділ LABEL не вказуємо.
Вважається неофіційним правилом: не використовувати в Pascal-програмі міток, оскільки це суперечить принципам програмування в Pascal. Якщо в програмі використано мітки, то така програма вважається написаною дуже безграмотно.
Const - підрозділ опису констант. Якщо в програмі будуть застосовуватись константи, то їх імена та значення (після знаку рівності) вводять в розділі Const В інших випадках цей підрозділ не вказується. Слід відмітити, що стандартні константи, прийняті в Pascal, не потрібно описувати в даному розділі.
Type - підрозділ опису користувацьких типів даних. В цьому підрозділі переважно вказують складні та нестандартні типи даних. Якщо такі типи в програмі не використовують, то даний підрозділ не вказується.
Var - підрозділ опису всіх змінних, що використовуються в програмі. Потрібно відмітити, що всі змінні, що використовуються в програмі, обов'язково повинні бути описані в підрозділі var. Це єдиний підрозділ розділу описів та узгоджень, який обов’язково повинен бути представлений у кожній Pascal-програмі.
Розділ текстів процедур та функцій вказується лише у випадку, якщо в програмі використовуються нестандартні процедури та функції, що створені самим користувачем (якщо вони не описані в одному з модулів вказаних у розділі USES). Потрібно відмітити, що процедури та функції - це спеціальним чином оформлені послідовності команд (у вигляді підпрограми). Доступ до цієї підпрограми може здійснюватись з будь-якого місця основної програми, а також з будь-якої процедури та функції, що описані нижче по тексту програми. Більш детально про використання процедур та функцій буде описано далі.
Третій розділ програми - це розділ основного блоку програми. В цьому розділі знаходиться основний текст програми. Починається цей розділ словом begin і закінчується словом end, після якого слідує крапка.

Правила написання Pascal-програм
1.  Основний текст будь-якої програми починається службовим словом begin і закінчується словом end, після чого слідує крапка. Без крапки програма вважається не закінченою. І навпаки, якщо в програмі знаходиться крапка, то всі команди, що слідують за нею ігноруються (оскільки програма завершена).
2.  В кінці кожної команди ставиться крапка з комою (“;”) - символ, що розділяє команди між собою.
3.  Після команди, яка знаходиться перед end, крапку з комою (“;”) бажано не встановлювати, оскільки буде вважатись, що перед end є ще один порожній оператор.
4.  Команди в Pascal можна записувати в один рядок, хоча для полегшення читабельності програми бажано кожну команду вказувати з нового рядка.
5.  Якщо користувач бажає помістити в текст програми коментарі, то їх необхідно вказувати у фігурних дужках (замість фігурних дужок можна вказувати альтернативний набір символів   - “(*     ,,,    *)” ).
6.  При вказанні в програмі виразів, що містять будь-які дужки потрібно памятати, що кількість закритих та відкритих дужок повинна бути однаковою.
7.  Якщо потрібно використати декілька операторів у якості одного складеного оператора, то їх слід взяти в операторні дужки, що починаються словом begin і закінчуються end. При цьому кількість слів begin у програмі повинна співпадати з кількістю слів end.
8.  Усі змінні, константи та типи даних, що використовуються в програмі, повинні бути описані в розділах const, type та var.

Необов'язково (або "Правила хорошого тону")
1.  Після команди begin всі наступні команди, аж до відповідного йому end, бажано записувати з відступом (наприклад, на величину слова begin).
2. Назви всіх команд бажано записувати малими літерами, а змінні - великими.

Оператори

Оператори — це команди програми. Нижче наводяться основні оператори, за допомогою яких можна створювати првсті програми.
Оператор
Загальний вигляд
Опис
Приклади
:= Присвою-вання
Ідентифікатор:= вираз
Присвоює змінній конкретне значення, заповнюючи комірку пам'яті, відведену для змінної, новим значенням, відночас знищу­ючи старе
А:=2
X:= У + 2 - Z
Name:= 'Федір'
Read
Введення (зчитування) даних з клавіатури
Read(a1, a2,... ,аn), де а1, а2, ...,аn –змінні зазначених типів, яким присво­юються значення, що вводяться
Програма зупиняється і чекає вве­дення необхідної кількості даних. Числа при введенні поділяються пробілами або натиском клавіші <Enter>.
Введення закінчується натиском клавіші <Enter>
Read (Name) Read (А, В, У, Z)
Readln
Після введення значень а1, а2, ...,аn курсор переводиться на наступний рядок
Write
Виведення (запис) даних на моні­тор
Write(a1, a2,... ,аn),
де а1, а2, ...,аn –константи або змін­ні зазначених типів
Виведення зазначених даних (чисел, змінних, тексту, який обме­жено апострофами) виконується з позиції курсору
Write
('Відповідь',2)
Відповідь 2 Write('Привіт,', Name,'!') Привіт, Федоре!
Writeln
Після виведення значень а1, а2, ...,аn курсор переводиться на наступний рядок


Зауваження. Після кожного оператора в програмі ставиться символ «;» (крапка з комою). У кінці програми ставиться «.»  (крапка).

Завдання на перевірку знань. 

1.  Записати програму на мові Pascal для обчислення виразу в дійсних числах
А) 1/5 -(a2 – a4)/(a – a4);   б) 1.4/2.5 -(2a4 – 4a6)/(3a2 –27a4);
Записати назву типу алгоритму, який використано у вашій програмі.

2.   Встановити відповідність між основними структурами алгоритмів та програми, що обчислюють дані вирази
1.  Лінійний алгоритм                 А. 5+ 1/x;(а якщо х=0?)
2.  Алгоритм розгалуження.            Б. 1+2+3 + ….+ р= 0,5р(р+1)
3.  Цикл з передумовою.               В. 4+3а+2а2
4.  Цикл з післяумовою.               Г. 2+4+6+…+2= n(2n+1)
5.  Цикл з лічильником.               Д. 2k-1+...+7+5+…+1= k2

3.  Встановити відповідність між структурами програми на мовіPascal та комeнтарями

1.program          А. { кінець програми }
2.{$ }             Б. {розділ директив компілятора} 
3.uses             В. { розділ оголошення типів } 
4.const            Г. { розділ оголошення процедур }
5.type             Д. { розділ підключення модулів }
6.var              Е. { розділ операторів }
7.procedure        Є.{ розділ оголошення іменованих констант }
8.function         Ж. { оператори }
9.begin … end.     З. { розділ оголошення змінних)
10.a:=b-c/3        И.{ розділ оголошення функцій }
11.end.            Й.{ заголовок програми }











Немає коментарів:

Дописати коментар