- •Міністерство освіти україни український державний морський технічний університет
- •До виконання лабораторних робіт з курсу “основи програмування та алгоритмічні мови” Частина 1 миколаїв - 1999
- •© Український державний морський технічний університет, 1999 вступ
- •Робота № 1 Розробка та реалізація програми з лінійною структурою
- •Короткі теоретичні відомості
- •Завдання 1.1
- •Завдання 1.2 Представити математичний запис виразу і показати порядок дій.
- •Завдання 1.3
- •Приклад виконання роботи Завдання 1.1. Данні математичні вирази записати мовою Pascal:
- •Розв’язання:
- •Розв’язання:
- •Розв’язання:
- •Контрольні питання
- •Короткі теоретичні відомості
- •Завдання 2.1
- •Приклад виконання роботи
- •Короткі теоретичні відомості
- •Завдання 3.1
- •Завдання 3.2
- •Приклад виконання роботи
- •Розв’язання:
- •Розв’язання:
- •3.4.2 Присвоїти хнове значення, яке дорівнює старому значеннюхплюс крокh.
- •Контрольні питання
- •Робота № 4
- •Короткі теоретичні відомості
- •Завдання 4.1
- •Завдання 4.2
- •Завдання 4.3
- •Приклад виконання роботи
- •Розв’язання:
- •Розв’язання:
- •2.5. Надрукувати елементи масивуапісля перестановки.
- •Контрольні питання
- •Робота № 5
- •Короткі теоретичні відомості
- •Завдання 5.1
- •Завдання 5.2
- •Завдання 5-3 Оцінити ефективність алгоритму бінарного пошуку (непарні варіанти) та т-блочного пошуку (парні варіанти) за завданням 4.3.
- •Розв’язання:
- •Розв’язання:
- •Контрольні питання
- •Робота № 6 Розробка та реалізація програми з використанням процедур та функцій
- •Короткі теоретичні відомості
- •Процедура має ту саму структуру, що й програма, і складається
- •Завдання 6.1
- •Завдання 6.2
- •Розв’язання:
- •Розв’язання:
- •40 11 26 5 60 47 14 9 16 19 2 13 36 55 54 17 56 27 Масив а після перестановки
- •Результат
- •Завдання 7.1
- •Завдання 7.2
- •Приклад виконання роботи
- •Розв’язання:
- •Розв’язання:
- •Контрольні питання
- •Робота № 8
- •Завдання 8.1
- •Завдання 8.2
- •Розв’язання:
- •40 11 26 5 60 47 14 9 16 19 2 13 36 55 54 17 56 27 Масив а після перестановки
- •Контрольні питання
- •Список рекомендованої літератури
- •Алфавіт мови Turbo Pascal 6.0 (7.0)
- •Службові слова мови Turbo Pascal 6.0 та 7.0
Завдання 3.1
Представити математичний запис фрагмента програми і обчислити значення змінної X після його виконання. Позначення: N - це номер варіанта за списком групи.
№ |
Фрагмент програми |
№ |
Фрагмент програми |
1-5 |
Х:=1; for J:=7 downto N do X:=X*J; X:=2*X |
6-10 |
X:=0; J:=l; repeat X:=X+J; J:=J+2 until J>N |
11-15 |
X: =0; for J:=l to N do X:=X+2; X:=2*X |
16-20 |
X:=l; while X<=N do X:=X+1; X:=2*X |
21-25 |
X:=1; J:=1; X1:=N div 5; repeat X:=X*X1; J:=J+1; if J=4 then break until J>5 |
26-301 |
X: =N; for K:=l to 6 do begin if K<3 then continue; X:=X+1 end |
Завдання 3.2
Скласти програму табулювання функції з завдання 2.2 при зміні значення хвід -1 до 1 з кроком 0,2 та виконати її у середовищі системи програмуванняTurbo Pascal 6.0
Приклад виконання роботи
Завдання 3.1. Представитиматематичнийзапис фрагментапрограми
X : =1 ;
for J:=l to 5do X :=X*J
и обчислити значення змінної X після його виконання.
Розв’язання:
Цей фрагмент програми реалізує обчислення х!=1-2-...-5. Після виконання цього фрагмента Х=120.
Завдання 3.2. Скласти програму табулювання функції y~ctgx при зміні значенняхвід о=-1 до Ь=1 з кроком /і=0,5 і виконати її у середовищі системи програмуванняTurbo Pascal 6.0
Розв’язання:
Постановка задачі
Скласти програму табулювання функції y=ctgx при зміні значенняхвід я=-1 доЬ=1 з крокомh=0,5 на мовіTurbo Pascal.
Методика розв'язання задачі
Методика розв’язання задачі збігається з методикою з приклада завдання 2.2 (при оформленні роботи треба навести методику наново).
Алгоритм розв’язання задачі
Алгоритм розв’язання задачі можна представити у вигляді такої послідовності дій:
Ввести значення a, b, h;
Присвоїти хзначення а;
Обчислити п(кількість повторень тіла циклу) для змінюванняхвідa доЬз крокомh за формулоюn = ((ї> -a)/h)+1;
Повторювати празів наступні дії:
Перевірити умову (2.2). Якщо умова істинна, то обчисли ти значення функції уза формулою (2.1) і вивестихтау,інакше , вивести повідомлення: ’не існує’;
3.4.2 Присвоїти хнове значення, яке дорівнює старому значеннюхплюс крокh.
Запишемо алгоритм розв’язання задачі мовою Turbo Pascal, позначив змінніх, у, a, b, h відповідно як X,Y, А, В, Н (усі типуReal), апякN(типInteger), та, врахував те, що оскільки кількість
повторень тіла циклу заздалегідь відома, то логічніше вживати цикл forз параметром циклу І (типуInteger).
Текст програми
program LR3;
{програма табулювання функції Y=Cos(X)/Sin(X)) uses Crt;
var X, Y, А, В, H: real;
I, N: integer; begin
ClrScr;
Writelnf' Введіть А, В, H' ) ;
Readln(А, В, H);
N:=Trunc((В-A)/Н)+1; X:=A;
for I:=l to N do
begin
if Sin(X)<>0 then begin
Y:=Cos(X)/Sin(X);
Writelnf' X=',X:6:2,' Y=',Y:11) end
else Writeln(' X=',X:6:2,' Y= не існує');
X:=X+H end end.
Результати роботи програми
Введіть А, В, Н -1.0 1.0 0.5 Х= -1.00 Y=-6.4209Е-01 Х= -0.50 Y=—1.8305Е+00 Х= 0. 00 Y= не існує Х= 0.50 Y= 1.8305Е+00 Х= 1.00 Y= б.4209Е-01