Приклад 1.Вивести послідовно числа від 150 до вказаного меншого числа в зворотному порядку.
| | | |
| |
| | PROGRAM chisla;
var
x,i:byte;
{x - значення, що вводиться
i - змінна циклу}
begin
write ('введи ціле число, менше 150');
readln(x);
for i:=150 downto x do
write (i:5);
end.
| |
|
Приклад 2.Знайти суму десяти введених значень.
| | | |
| |
| | PROGRAM suma;
var
x,s:real;
i:byte;
{x - значення, що вводиться
s - сума введених значень
i - змінна циклу}
begin
s:=0;
for i:=1 to 10 do
begin
write ('введи наступне значення');
readln(x);
s:=s+x;
end;
writeln ('Сума введених значень = ',s:10:2);
end.
| |
|
Приклад 3.Вводиться послідовність символів. При введенні символу ´П´ - вивести своє прізвище, при введенні символу ´І´ - ім´я, при введенні символу ´к´ - завершити роботу.
| | | |
| |
| |
PROGRAM Dann;
var
c:char;
{c - символ, що вводиться}
begin
repeat
write (‘Введи символ (для заверш.роботи символ к)’);
readln c;
case c of
’П’,’п’: writeln (’Iванов’);
’I’,’i’: writeln (’Іван ’);
end;
until c=’к’;
end.
| |
|
Приклад 4.Знайти найбільше значення функції Y=2sin(X+3)+2X на проміжку [10,100] в точках з кроком 10.
| | | |
| |
PROGRAM Funk;
var
X,Y: max:real;
begin
X:=10;
Max:=2*sin(X+3)+2*X;
While X<= 100 do
Begin
Y:= 2*sin(X+3)+2*X;
If Y>max then
Max:=Y;
X:=X+10;
End;
Writeln (‘Максимальне значення функції ‘,max:7:2);
end.
| |
| |
|
Приклад 5.Знайти кількість цифр в заданому числі.
| | | |
| |
| | Program chislo;
{Сума цифр заданого числа}
var
x,S:integer;
begin
write ('Введи чисдо');
readln (x);
S:=0;
while x<>0 do
begin
S:=S+x mod 10;
x:=x div 10;
end;
writeln ('Сума цифр заданого числа = ',S:5);
readln;
end.
| |
|
Приклад 6.Вивести всі трьохзначні числа у яких крайні цифри однакові.
| | | |
| |
| | Program chislo;
var
k,m,n:integer;
begin
for k:=1 to 9 do
for m:=0 to 9 do
for n:=0 to 9 do
if k=n then
writeln (k*100+m*10+n:5);
readln;
end.
| |
|
Завдання для самоперевірки.
1. Який з операторів реалізації циклічних процесів краще використати, якщо відома кількість повторів.
2. Який з операторів реалізації циклічних процесів краще використати, якщо відомо, що повтори потрібно завершити при натисканні деякої клавіші.
3. Який з операторів реалізації циклічних процесів краще використати, якщо відома, що повтори потрібно завершити коли змінна набуде деякого значення.
4. В операторі for параметр циклу повинен бути якого типу?
5. Що являється умовою завершення циклу в операторі repeat ?
6. Скільки разів буде виконано цикл For i:=1 to 1 do writeln (‘День добрий!’);
7. Визначити Y. Y:=1; For i:=1 to 5 do if i<4 then inc(y);
8. Що являється умовою завершення циклу в операторі while ?
9. Скільки разів буде виконано цикл While true do writeln (‘День добрий!’);
10. Що являється умовою завершення циклу в операторі for ?
11. Розробити програму, яка визначає кількість позитивних, негативних і нульових значень в послідовності 15 заданих чисел.
12. Розробити програму, яка визначає факторіал заданого числа.
13. Розробити програму, яка визначає мінімальне введене значенні при вводі послідовності цілих чисел. Введення завершується при вводі числа -77.
14. Розробити програму, яка визначає всі натуральні дільники заданого числа.
15. Розробити програму, яка визначає чи є задане ціле число простим.
16. Розробити програму, яка знаходить кількість цифр заданого натурального числа.
17. Розробити програму, яка виводить всі трьохзначні натуральні числа у яких середня цифра є нуль.
18. Розробити програму, яка знаходить суму членів ряду
. N = 20.
19. Розробити програму, яка знаходить суму перших десяти членів ряду
.
20. Розробити програму, яка знаходить суму
для заданого n.
Процедурно-орієнтоване програмування. Допоміжні алгоритми Pascal
1) Загальна характеристика допоміжних алгоритмів.
2) Глобальні та локальні описи.
3) Упереджуючий опис підпрограм.
4) Функції.
5) Процедури.
6) Передача в підпрограму структурованих типів даних.
Допоміжні алгоритми - це алгоритми, які описані окремо і можуть бути використані не одноразово. Їх використання дає змогу запобігти повторних записів однакових серій операторів.
В мові Pascal допоміжними алгоритмами (підпрограми) можуть бути процедури та функції. У програмі процедури і функції задаються описами, які розміщуються в описовій частині.
Структура підпрограми така ж як і програми: вони складаються з заголовку і блоку.
Підпрограма повинна мати засіб для обміну даними між нею і програмою, що її викликає. Таким засобом є формальні параметри, які описуються в заголовку. За допомогою формальних параметрів можна передавати в підпрограму дані і отримувати їх нові значення. Параметрами можуть бути параметри-значення, параметри-змінні (перед ними повинно стояти слово VAR), параметри-процедури (перед ними ставиться слово PRОCEDURE), параметри-функції ( перед ними ставиться слово FUNCTIЇN).
Для кожного формального параметра вказується:
- ключове слово (VAR, PRОCEDURE, FUNCTIОN), якщо воно потрібно,
- ім´я параметра,
- символ ":" та його тип.
Описи параметрів відділяються між собою символом ";".
Якщо програма, що викликає, повинна отримати результат, який визначається в підпрограмі, то такий параметр повинен бути описаний як параметр-змінна.
Виклик підпрограми має формат:
< ім’я підпрограми > [ (< список фактичних параметрів >) ];
Елементи списку відокремлюються символом ",". Між формальними та фактичними параметрами повинна бути взаємна відповідність: кількість їх повинна бути однакова, однаковий порядок слідування, тип кожного фактичного параметру повинен співпадати з типом відповідного формального параметру.
Глобальні та локальні описи
Глобальні константи, типи, змінні - це ті, що оголошені в програмі зовні процедур та функцій до їх означення. Глобальні елементи доступні всім процедурам і функціям.
Локальні - існують тільки в тілі процедури або функції, де вони визначені. Формальні параметри також є локальними.
Якщо ім´я локального опису співпадає з ім´ям глобального опису, то така змінна розглядається як локальна.
Упереджуючий опис підпрограм
При описі процедур і функцій необхідно слідкувати, щоб опис підпрограми, що викликається, був раніше виклику. Щоб не слідкувати за послідовністю записів підпрограм можна попередньо описати заголовки всіх підпрограм з словом FОRWARD, а потім в довільному порядку записати опис всіх підпрограм.
Формат попереднього опису заголовку:
<заголовок підпрограми >; FОRWARD;