Програма записується в окремому exe-файлі. Таким чином, програма це алгоритм, який призначається для виконання комп'ютером. Двійкове подання команд комп'ютера називається
Вид материала | Урок |
СодержаниеЦикл із лічильником Пряма форма: for := to do ; У перекладі з англійської for Приклади використання оператора циклу з лічильником Підпрограми. Процедури Приклад використання процедури |
- Комплекс програм, які використовуються для роботи з комп'ютером, називається програмним, 156.82kb.
- Програма курсу «Сходинки до інформатики» 2 клас, 66.29kb.
- Програма, яка призначена для відображення вмісту web-сторінок називається а сервер, 18.35kb.
- 5 операційні системи, 496.26kb.
- Програма курсу за вибором "основи комп’ютерної безпеки " для основної школи, 119.72kb.
- 1. Назва модуля, 79.93kb.
- 1. Назва модуля, 92.33kb.
- Робоча навчальна програма предмет Комп’ютери у фізичних дослідженнях, 98.31kb.
- Тема уроку, 27kb.
- Текст програми це набір інструкцій (команд), які можуть бути виконані комп'ютером., 221.57kb.
Цикл із лічильником
Для програмування алгоритмів, у яких до початку роботи циклу стає точно відомо, скільки саме разів необхідно виконати тіло циклу, зручно використовувати оператор циклу з лічильником.
У мові програмування Паскаль існує дві форми оператора циклу з лічильником: пряма та зворотна. Пряма форма:
for <змінна>:=<ПЗ> to
<оператор>;
У перекладі з англійської for означає «для», to — «до», do — «робити».
<3мінна> — це змінна цілого або символьного типу даних, вона називається лічильником циклу; ПЗ (початкове значення) і КЗ (кінцеве значення) — величини відповідного тилу.
Принцип роботи:
<0ператор> (тіло циклу) виконується КЗ-ПЗ+1 разів (для лічильника цілого типу, для символьного тут і далі треба замість КЗ і ПЗ підставляти відповідні номери в таблиці кодів ASCII) для всієї послідовності значень лічильника циклу від початкового до кінцевого -включно. Тож, перший раз значення <змінної> дорі»* нює ПЗ, другий — ПЗ+1, третій — ПЗ+2 і так далі доКЗ.
Звичайно КЗ>ПЗ. Якщо ПЗ виявляється більшим за КЗ, то <оператор> не виконується жодного разу, якщо вони рівні, цикл буде виконано один раз.
Для того щоб тіло циклу містило не один, а декілька операторів, їх треба взяти в оцерато-рні дужки begin ... end.
Якщо треба, щоб значення лічильника циклу змінювалися від більших до менших, застосовується зворотна форма циклу з лічильником:
for <змінна>:=<ПЗ> downto
У перекладі з англійської down to означає «вниз до».
Тут звичайно ПЗ>КЗ, <оператор> виконується ПЗ-КЗ+1 разів для всієї послідовності цілих значень лічильника циклу, які послідовно зменшуються від початкового до кінцевого включно. Перший раз значення <змінної> до,-. рівнює ПЗ, другий — ПЗ-1, третій — ПЗ-2» в останній — КЗ. Якщо ПЗ виявляється менше КЗ, то <оператор> не виконується жодного разу.
Роботу оператора циклу з лічильником легко змоделювати за допомогою циклу з передумовою чи з післяумовою.
Наприклад, фрагмент програми
for i:=1 to 100 do
write('A');
можна записати з використанням циклу з передумовою так:
1:=1
while i<=100 do
begin
write('A');
і:=і+1;
end;
Приклади використання оператора циклу з лічильником:
а) for і:=1 to 6 do
write('*');
Результат роботи: змінна і пробігає значення від 1 до 6, усього шість значень, на екран буде іибедено шість зірочок.
б) for с:='А' to 'Z' do
write(c);
Результат роботи: на екран в рядок будуть виведені всі великі букви латинського алфавіту «ABCDEF...XYZ».
в) for m:=-4 to 4 do
begin
n:=m*m; - write(n,' ');
end;
Результат роботи: на екран будуть виведені в рядок квадрати цілих чисел від -4 до 4 (загалом дев'ять чисел).
Підпрограми. Процедури
На практиці програми розв'язування задач бувають досить великими, часто деякі фрагменти програми використовуються по декілька разів. Тому е зручним виділити з програми такі фрагменти та оформити їх окремо, так щоб програма могла користуватися результатами їх роботи, коли це буде потрібно. Такий окремо оформлений фрагмент програми називається підпрограмою.
Підпрограма в мові програмування — це самостійний фрагмент розв'язку деякої окремої задачі, записаний та оформлений таким чином, щоб його можна було неодноразово виконувати з різними вхідними даними в різних місцях головної програми.
"У мові програмування Паскаль визначено два види підпрограм: процедури та функції. Підпрограми описуються в розділі опису програми після розділу опису змінних.
Процедура в мові програмування Паскаль завжди оформлюється стандартним чином і має такий вигляд:
procedure <ім'я процедури>
(<список параметрів>);
...<розділ описів> . Begin
... <серія операторів>
End;
У перекладі з англійської procedure означає «метод дій». Після слова end, яке завершує процедуру, ставиться крапка з комою.
<Ім'я процедури> — це ідентифікатор, ство-і рений за правилами мови програмування.
<Серія операторів> (називається тілом прoцедури) містить скінченну послідовність операн торів, відокремлених крапкою з комою. Оператори виконуються один за одним, у порядку їх запису. Серія може складатися з одного оператора або бути порожньою (не містити жодного оператора).
<Розділ описів> призначається для опису тих величин, які опрацьовуються чи використовуються процедурою. Розділ описів процедури складається з тих самих розділів, що й розділи описів програми. Змінні, константи, типи даних тощо, описані в процедурі, носять назву локальних (на відміну від об'єктів головної програми, які називаються глобальними). Процедура має доступ до глобальних об'єктів, воваї може використовувати їх, змінювати тощо. Локальні об'єкти недоступні у головній прогрв та в інших підпрограмах.
У <списку параметрів> перелічуються змінні, які використовуються у процедурі, із зазна~ ченням їх типів. Імена змінних відокремлю» ся одне від одного комами, від назви типу двокрапкою. Після назви кожного типу ставиться крапка з комою.
Існує два типи параметрів процедури; метри-змінні та параметри-знлценпя. У <списку параметрів> перед параметрами-змінними ставиться службове слово var.
Наприклад:
procedure Example (var a, b: integer ;
с:char; var d:real; e:integerjf У цьому прикладі змінні a, b, d — це nap метри-змінні, с,-е — це параметри-значенщя.
Використовуються процедури через»
процедури, який записується так:
<ім'я процедури>(<список значеаь>)т де <ім'я процедури> — це ім'я процедури, яку необхідно використати;
<список значень> — це перелік відділених ркомами змінних (для відповідних параметрів-: змінних) та довільних виразів (для відповідних параметрів-значень).
Наприклад:
Example(x,y,'?',f,y*(x+5));
Параметри, перелічені в заголовку опису процедури, називаються формальними параметрами.
При виконанні оператора процедури (це називають ще виклик процедури) формальні параметри дістають конкретні значення. Ці значення називаються фактичними параметрами.
У момент виконання оператора процедури головна програма припиняє роботу та починаться виконання процедури (говорять, що до неї передається управління). Після припинення виконання процедури головна програма продовжує роботу з місця виклику.
Головна програма може викликати будь-яку підпрограму, підпрограма може викликати тільки підпрограми, які описані вище від неї.
При виклику процедури параметри-значення вабувають нових значень, які здобуваються в результаті обчислення виразів оператора процедури. Наприклад, у вищенаведеному прикладі якщо до виклику процедури змінна х мала значення 5, а змінна у значення 2, то параметр е набуде значення 20, а параметр с значення «?». Параметри-значення >в процедурі можна використовувати як звичайні змінні, нові значення, яких вони набудуть, не матимуть впливу на будь-які змінні головної програми.
При виклику процедури параметри-змінні .отримують доступ до комірок пам'яті, де знаходяться значення змінних, які стоять в операторі виклику процедури. Починаючи з моменту виклику, всі зміни значень параметрів-змінних будуть автоматично відображатися на значен--вях пов'язаних з ними змінних. Наприклад, у вищенаведеному прикладі після виклику продедури змінна зв'яжеться зі змінною а, у — sb, f — sd.
У програмах параметри-значення звичайно використовуються для передачі процедурі вхідних даних, параметри-змінні — для повернення результатів роботи процедур.
Приклад використання процедури:
Знайти периметр трикутника, який заданий координатами своїх вершин. Для визначення периметра трикутника мож-ла використати процедуру знаходження довжини відрізка.
Program triangle;
var Xl,ylfx2,y2,x3,y3,dl,d2.,d3jreal;
procedure dist(xxl,yyl,xx2,yy2:real;
var d:real);
begin
d:=sgrt(sqr(xx2-xxl)+sqr{yy2-yyl)); end;
Begin
write('Введіть координати перші вершшн:'If
readln(xl,yl);
write('Введіть координати другої верпини:')?,
readln(x2,y2);
write( 'Введіть координати третьої веряшиї') f
readln(x3,y3);
dist(xl,yl,x2,y2,dl);
dist(x2,y2,x3,y3,d2);
dist(xl,yl,x3,y3,d3);
writeln( 'Периметр трикутника дорівнює',
dl+d2+d3); End.