- •Для студентів заочної форми навчання
- •1 Рекомендації щодо написання та оформлення контрольної роботи
- •2 Завдання до контрольної роботи
- •Завдання 1
- •Лінійний обчислювальний процес
- •Короткі теоретичні відомості
- •1 Структура програми
- •1.2 Типи даних
- •1.3 Стандартні процедури введення/виведення даних
- •Варіанти задач
- •Контрольні питання
- •Завдання 2 Розгалужений обчислювальний процес Короткі теоретичні відомості
- •2.1 Умовний оператор
- •Варіанти задач
- •Контрольні питання
- •Завдання 3 Циклічний обчислювальний процес Короткі теоретичні відомості
- •3.1 Цикли. Конструкції for - to, for - downto
- •3.2 Оператори циклу з передумовою while - do
- •3.3 Оператор циклу з подальшою умовою repeat - until
- •Варіанти задач
- •Контрольні питання
- •Завдання 4 Робота з одновимірними масивами чисел Короткі теоретичні відомості
- •Варіанти задач
- •5.1 Дії над масивами
- •5.2 Дії над елементами масиву
- •5.3 Типові ситуації, що виникають при роботі з двовимірними масивами
- •Варіанти задач
- •3Авдання 6 Організація програм, що містять підпрограми користувача Короткі теоретичні відомості
- •6.1 Підпрограми. Функції та процедури, визначувані користувачем
- •6.2 Підпрограми-функції
- •6.3 Локальні та глобальні змінні
- •6.4 Процедури
- •Варіанти задач
- •Контрольні питання
- •3 Критерії оцінювання знань студентів
- •Список літератури
- •Зразок оформлення титульної сторінки контрольної роботи
- •Контрольна робота
- •Кременчук 20__
Контрольні питання
У яких випадках використовується умовний оператор?
Які дві форми запису умовного оператора?
Наведіть приклад умовного оператора.
У чому відмінність між повною і короткою формою запису умовного оператора?
Чи може умовний оператор містити оператор переходу?
Як виконується програма за наявності в ній оператора переходу?
Які з наведених нижче операторів є неправильними і чому?
а) IF A<B THEN A:=A*A ELSE B:=B*B;
б) IF X AND Y THEN S:=S+1; ELSE S:=S-1;
в) IF 5 THEN S:=s+5;
г) IF (A=B) AND P THEN P:=P+5.6
8. Задати за допомогою умовного оператора такі дії: менше з двох значень змінних дійсного типу Х і Y замінити нулем, а у разі їх рівності − замінити нулями обидва.
9. Поміняти місцями значення цілих змінних А, В, C таким чином, щоб виявилося А>Y>С.
10. Булевій змінній В присвоїти значення TRUE, якщо значення Х і Y рівні, і значення FALSE інакше.
Література: [1-4].
Завдання 3 Циклічний обчислювальний процес Короткі теоретичні відомості
3.1 Цикли. Конструкції for - to, for - downto
При розв’язанні багатьох задач обчислювальний процес має циклічний характер. Це означає, що частина операторів багаторазово виконується при різних значеннях змінних. Оператори запису циклів є структурними, оскільки до їх складу входять інші оператори.
Оператор циклу з параметром використовується в тих випадках, коли заздалегідь відомо, скільки разів повинна повториться циклічна частина програми.
Оператор циклу має вигляд:
FOR i:=m1 TO m2 DO
begin <оператори циклічної частини програми> end;
Тут FOR (для), ТО (до), DO (робити) − службові слова; i − параметр циклу; m1, m2 − початкове та кінцеве значення параметра циклу.
Найчастіше параметр циклу i використовують як змінну цілого типу, а крок його зміни дорівнює +1 або -1. Якщо значення параметра циклу зростає, то крок його зміни +1. Якщо значення параметра циклу зменшується, то крок його -1 і в операторі циклу FOR замість службового слова ТО записується службове слово DOWNTO [1].
Приклад 3.1.1. Скласти програму обчислення n! (факторіалу). Program prim311; var n, i , F : integer; begin write('Введіть n :'); readln(N); F:=1; FOR I :=1 TO n DO F :=F*i; writeln ('F= ', F) end. |
Приклад
3.1.2.
Обчислити
суму
перших 20 елементів
ряду
Program pr312; uses crt; const n=20; var i: byte; z: real; Begin clrscr; write('Введіть x :'); readln(x); S:=0; for i:=1 to n do S:=S+(n+i)/i; writeln('S= ', S:6:3); readkey End. |
3.2 Оператори циклу з передумовою while - do
Цикл з попередньою умовою використовується, як правило, у тих випадках, коли заздалегідь не відоме число повторень циклу.
Форма запису оператора циклу з передумовою:
WHILE <логічний вираз> DO
BEGIN
<Оператори циклічної частини програми>
END;
тут WHILE (поки) і DO (виконати) − службові слова; <логічний вираз> − вираз булевого типу.
Виконання оператора розпочинається з перевірки істинності логічного виразу. Якщо він має значення TRUE, то виконується циклічна частина програми. Потім виконання оператора циклу повторюється до тих пір, поки логічний вираз не стане рівним FALSE. Як тільки виходить значення FALSE, керування передається операторові, що йде за оператором циклу. Якщо вираз булевого типу FALSE при першому вході в цикл, то циклічна частина програми не виконується жодного разу [2].
Проілюструємо використання оператора циклу з передумовою.
Приклад
3.2.
Знайти суму ряду
з точністю
.
При складанні програми вважати, що точність досягнута, якщо для поточного члена ряду аi виконується співвідношення аi ≤ ε.
У
таких задачах для обчислення поточного
члена ряду аi
раціонально використати рекурентне
співвідношення: ,
де
коефіцієнт
заздалегідь обчислюється.
Для
цього прикладу
program pr32;
uses crt;
const eps = 0.1E-3;
var i: integer; y, Sum: real;
begin clrscr;
sum:=0; {Обнуляємо лічильник} i:=1; y:=1/3; {при i=1}
WHILE y>=eps DO
begin
sum:=sum+y;
writeln('i=', i:2, ' y ', y:8:5, ' sum=', sum:8:5);
i:=i+1; y:=y*(i+1)/(2*i+1)
end;
readkey end.
