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