Прості оператори в Паскалі h2>
Питання
1. P>
Рішення
найпростішої задачі на комп'ютері не обходиться без операцій вводу-виводу
інформації. Введення даних - це передача інформації з зовнішнього носія в
оперативну пам'ять для обробки. Висновок - зворотний процес, коли дані
передаються після обробки з оперативної пам'яті на зовнішній носій. p>
Процедура
читання READ. p>
Забезпечує
введення числових даних, символів, рядків і т.п. для подальшої обробки
програмою. Формат: p>
Read
(x1, x2, ..., xN); p>
Readln
(x1, x2, ..., xN); p>
Де
х1, х2, ... - змінні допустимих типів даних. Ці значення вводяться з
клавіатури і відображаються на екрані. Значення повинні вводиться в суворій
відповідності з синтаксисом мови Паскаль. p>
Наприклад. p>
Var p>
I: real; p>
P: integer; p>
K: char; p>
Begin p>
Read (I, P, K); p>
... ... .. p>
Варіант
вводу: 221.23 34 'П' p>
Процедура
читання Readln аналогічна процедурі Read, відмінність полягає в тому, що після
зчитування в списку одного значення, такі дані зчитуються з
початку нового рядка. p>
Якщо
у прикладі замінити Read на Readln, то після введення з клавіатури перше значення
курсор перейде на новий рядок. p>
Процедура
запису WRITE. p>
Виробляє
висновок числових даних, символів, рядків і т.п. Формат: p>
Write (y1, y2, ..., yN); p>
Writeln (y1, y2, ..., yN); p>
Де
y1, y2, ... - вирази типу integer, real, char, byte і т.д. p>
Формати
виведення числа. p>
Значення Х p>
Вираз p>
Результат p>
134 p>
Write (x) p>
134 (з позиції курсору) p>
134 p>
Write (x: 10) p>
******* 134 (крайня права позиції поля шириною 10) p>
234,36 p>
Write (x) p>
2.3436000000E +02 (з плаваючою точкою) p>
234,36 p>
Write (x: 8: 2) p>
** 234.36 (з фіксованою крапкою) p>
234,36 p>
Write (x: 8: 4) p>
234.3600 p>
234,36 p>
Write (x: 10: 1) p>
***** 234.4 p>
(*
означає пробіл) p>
Формати
виводу чисел. p>
Значення A, B p>
Вираз p>
Результат p>
3 і 45 p>
Write (A, B) p>
345 (з позиції курсору) p>
3 і 45 p>
Write ( 'A =', A
, '* B =', B) p>
A = 3 B = 45 p>
3 і 45 p>
Writeln (A, B) p>
3 p>
45 p>
3 і 45 p>
Write (A: 4, B: 4) p>
*** 3 ** 45 (крайня права позиція) p>
3 і 45 p>
Writeln (A: 4, B: 4) p>
*** 3 p>
** 45 p>
3 і 45 p>
Writeln ( 'A =', A: 4,
'B =', B: 4) p>
A =*** 3 p>
B =** 45 p>
3 і 45 p>
Write (A: 4); p>
Write (B: 4); p>
*** 3 p>
** 45 p>
Питання
2. P>
Оператор
безумовного переходу GO TO. p>
Це
оператор означає «перейти до» і застосовується у випадках, коли після виконання
деякого оператора треба виконати не наступний один по одному, а який-небудь
інший оператор, зазначений міткою. p>
Формат: p>
Go
to N; p>
Де
N - мітка, мітка може містити як цифрові, так і літерні символи. P>
Використання
безумовної передачі керування в програмі вважається теоретично надлишкової,
тому що сприяє створенню малозрозумілих і заплутаних програм, які викликають
великі складності при налагодженні та супроводі. Тому рекомендується
мінімальне використання оператора з дотриманням таких правил: p>
слід
прагнути застосовувати оператор переходу для керування тільки вниз по тексту
програми; p>
відстань
між міткою і оператором переходу на неї не повинно перевищувати однієї сторінки
тексту (або екрана). p>
Оператор
очищення екрана. p>
Формат:
ClrScr; p>
Структурні
оператори. p>
Такі
оператори являють собою конструкції, побудовані з інших операторів по
суворо визначеними правилами. Всі структурні оператори можна розділити на три
групи: складові, умовні, повтору. p>
Складовою
оператор пс групу з довільного числа операторів, відокремлених один від одного
крапкою з комою, і обмежену операторними дужками begin end. Складовою
оператор сприймається як єдине ціле і може знаходитися в будь-якому місці
програми, де синтаксис мови допускає наявність операторів. p>
Умовні
оператори призначені для вибору на виконання одного з можливих дій
(операторів) в залежності від деякої умови (при цьому одну з таких дій
може бути порожнім або відсутнім). В якості умов вибору використовується
значення логічного виразу. У Паскалі є два умовних оператора. P>
Оператор
умови IF. p>
Це
оператор є одним з найпопулярніших засобів, які змінюють природний
порядок виконання операторів програми. Синтаксично оператор умови IF
виглядає наступним чином: p>
If
<умова> then <оператор1> else <оператор2>; (оператор
повної форми) p>
If
<умова> then <оператор>; (оператор скороченої форми) p>
Оператор
виконується таким чином. Спочатку обчислюється вираз, записане в
умови. У результаті його обчислення виходить значення, якщо воно істинно, то
виконується оператор 1, якщо результат помилковий, то виконується оператор 2 або
оператор, наступний за оператором IF. Оператори IF можуть бути вкладеними. P>
Приклад.
Скласти алгоритм і програму обчислення приватного двох цілих чисел. P>
p>
Program delenie; p>
Uses Crt; p>
Var a, b: integer; p>
Result: real; p>
Begin p>
ClrScr; (оператор очищення екрана) p>
Writeln
( 'Введіть значення ділене А'); p>
Readln
(a); p>
Writeln
( 'Введіть значення дільника В'); p>
Readln
(b); p>
If
b = 0 then writeln ( 'на нуль ділити не можна') p>
Else
begin (початок складеного оператора) p>
Result: = a/b; p>
Writeln ( 'Приватне чисел одно', Result
: 8:2); p>
End;
(Кінець складеного оператора) p>
Readln
(затримка результату) p>
End. p>
Оператор
вибору CASE. p>
Якщо
один оператор IF може забезпечити вибір з двох альтернатив, то оператор вибору
дозволяє зробити вибір з довільного числа наявних варіантів. Він складається
з вираження, званого селектором, і списку параметрів, кожному з яких
передує список констант вибору (список може складатися з однієї константи. p>
Формат
оператора: p>
Case
<вираз - селектор> of p>
<список
1>: <оператор 1>; p>
<список
2>: <оператор 2>; p>
... ... ... ... p>
<список
N>: <оператор N>; p>
Else
<оператор>; p>
End; p>
Оператор
Case працює таким чином. Спочатку обчислюється значення
вирази-селектора, потім забезпечується реалізація того оператора, константа
вибору якого дорівнює поточному значенню селектора. Якщо жодна з констант НЕ
рана поточному значенню селектора, то виконується оператор що стоїть за словом
Else. Якщо слово Else відсутній, то активується оператор, що знаходиться за
словом End, тобто перший оператор за кордоном Case. p>
Селектор
повинен відноситься до одного з цілочисельних типів. Список констант вибору
складається з довільної кількості значень, або діапазонів, відокремлених один
від одного комами. Межі діапазону записуються двома константами через
розмежувачами «..». Тип константи повинен збігатися з типом селектора. p>
При
використання оператора вибору повинні виконуватися наступні правила: p>
Значення
виразу «перемикача» записаного після слова Case, повинні належати
дискретного типу, для цілого типу вони повинні лежати в діапазоні integer; p>
Всі
константи, що передують операторам альтернатив, повинні мати тип, сумісний
з типом вирази; p>
Всі
константи в альтернативи повинні бути унікальні в межах оператора варіанту,
діапазони не повинні перетинатися і не повинні містити констант, зазначених у
даній або інших альтернативи. p>
Приклад:
скласти програму виводу назви дня тижня за його номером. p>
Program DAY; p>
Var D: byte; p>
Begin p>
Write
( 'Введіть номер дня тижня'); p>
Readln
(D); p>
Case
D of (обчислення значення селектора і вибір) p>
1:
writeln ( 'понеділок'); p>
2:
writeln ( 'вівторок'); p>
3:
writeln ( 'середа'); p>
4:
writeln ( 'четвер'); p>
5:
writeln ( 'п'ятниця'); p>
6:
writeln ( 'субота'); p>
Else p>
Writeln ( 'Неділя'); p>
End; p>
Readln; p>
End. p>
Питання
3. P>
Якщо
в програмі виникає необхідність кількаразового виконання деяких
операторів, то використовуються оператори повтору (або циклу). У мові Паскаль
розрізняють три види операторів циклу: while, repeat, for. Вони використовуються для
організації циклів різних типів. p>
Якщо
кількість повторень оператора заздалегідь невідомо, а задано лише умова його
повторення (або закінчення), використовуються оператори while, repeat. Оператор for
використовується, якщо кількість повторень відомо заздалегідь. p>
Оператор
WHILE. P>
Його
часто називають оператором циклу з передумовою, за те що перевірка умови
виконання тіла циклу здійснюється на самому початку оператора. p>
Формат
оператора: p>
While
<умова продовження циклу> do p>
<тіло
циклу>; p>
Умова
- Булевського вираз, тіло циклу - простий або складової оператор. Перед
кожним виконанням тіла циклу обчислюється значення виразу умови, якщо
результат істина, то тіло циклу виконується. Якщо результат брехня, то відбувається
вихід з циклу і перехід до першого оператору після while оператора. p>
Оператор
повтору REPEAT. p>
Цей
оператор відрізняється від попереднього тим, що умова перевіряється після
чергового виконання операторів тіла циклу і таким чином гарантується хоча б
одноразове виконання циклу. Друга відмінність від першого оператора: припиненням
циклу є рівність вирази константі істина. За цей оператор repeat
часто називають циклом з постусловіем. p>
Формат
оператора: p>
Repeat p>
<оператор>
; p>
... ... ... ... .... p>
<оператор>; p>
Until
<умова закінчення циклу>; p>
Оператори,
укладені між словами repeat/until, є тілом циклу. Спочатку
виконується тіло циклу, потім перевіряється умова виходу з циклу. p>
Оператор
повтору FOR. p>
В
разі коли кількість повторень відомо, для організації циклічної обробки
інформації застосовується оператор повтору For. Часто цей оператор називають
оператором циклу з параметром, тому що кількість повторень задається змінною,
яку називають параметром циклу (або керуючої змінної). Цей оператор
складається із заголовка і тіла циклу. p>
Формат
оператора: p>
For
<параметр циклу>: = A1 to A2 do <оператор>; (за зростанням) p>
For
<параметр циклу>: = A1 downto A2 do <оператор>; (за спаданням) p>
Де
А1 і А2 - вирази, що визначають відповідно початкове та кінцеве значення
параметра циклу. p>
Тіло
циклу може бути простим або складеним оператором. Оператор For
забезпечує виконання тіла циклу до тих пір, поки не будуть перебрано все
значення параметра циклу від початкового до кінцевого. p>
Заголовок
оператора повтору For визначає: p>
діапазон
зміни значень керуючої змінної та одночасне кількість повторень
оператора, що міститься в тілі циклу; p>
напрям
зміни параметра циклу (зростання - to Порядок нумерації - downto). p>
На
використання параметра циклу накладаються наступні обмеження: p>
В
як параметр повинна використовуватися проста змінна, описана в
поточному блоці. p>
Управляюча
мінлива повинна мати дискретний тип. p>
Початкове
і кінцеве значення діапазону повинні мати сумісний тип з параметром циклу.
При цьому допускаються будь-які скалярні типи, крім речового. P>
В
тілі циклу забороняється явне зміна значення керуючої змінної. p>
Значення
керуючої змінної змінюється на +1 або -1, тобто крок дорівнює одиниці. p>
Приклад.
Скласти програму для перекладу відстаней з дюймів в сантиметри (1дюйм = 2,5
см) для значень довжин від 1 до 20 дюймів. p>
Нехай
R1 - відстань у дюймах, а R2 - це відстань в см. p>
1 спосіб. p>
Program sb1; p>
Var p>
R2: real; p>
R1
: Integer; p>
Begin p>
Writeln
( 'Таблиця перекладу відстаней з дюймів в сантиметри'); p>
For R1: = 1 to 20 do p>
Begin p>
R2: = 2.5 * R1; p>
Writeln (R1: 6, '', R2: 8:2); p>
End; p>
Readln; p>
End. p>
2 спосіб. p>
Program sb2; p>
Var p>
R2: real; p>
R1
: Integer; p>
Begin p>
Writeln
( 'Таблиця перекладу відстаней з дюймів в сантиметри'); p>
R1: = 1; p>
While R1 <= 20 do p>
Begin p>
R2: = 2.5 * R1; p>
Writeln (R1: 6, '', R2: 8:2); p>
R1: = R1 + 1; p>
End; p>
Readln; p>
End. p>
3 спосіб. p>
Program sb3; p>
Var p>
R2: real; p>
R1: integer; p>
Begin p>
Writeln
( 'Таблиця перекладу відстаней з дюймів в сантиметри'); p>
R1: = 1; p>
Repeat p>
R2: = 2.5 * R1; p>
Writeln (R1: 6, '', R2: 8:2); p>
R1: = R1 + 1; p>
Until R1> 20; p>
Readln; p>
End. p>
Список літератури h2>
Для
підготовки даної роботи були використані матеріали з сайту http://5ka.ru/
p>