Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лаб.роб..doc
Скачиваний:
20
Добавлен:
06.11.2018
Размер:
5.92 Mб
Скачать

Лабораторна робота № 11

Тема: Turbo Pascal. Програмування вкладених циклів.

Мета: Формування умінь створення програм, які містять вкладені цикли алгоритмічною мовою високого рівня Pascal .

1 Теоретичні відомості

Необхідно обчислити значення yi=f(z,xi), де параметр циклу z змінюється від початкового до кінцевого значення з постійним кроком z, а змінна xi(і=1,2,…,n) є елементом одновимірного масиву (дійсні числа).

Для заданої функції необхідно:

  • скласти графічний алгоритм з використанням операторів циклу;

  • скласти програму з використанням операторів циклу;

  • вивести на друк значення функції і відповідних їм значень аргументів. Виведення аргументів виконати так, щоб один з них друкувався перед початком внутрішнього циклу;

  • розв’язати задачу на ЕОМ в діалоговому режимі;

  • проаналізувати одержані результати.

Перед складанням алгоритму слід визначити кількість значень функції, які будуть одержані в результаті розв’язання задачі, т. б. кількість значень функції від кожного аргумента. Загальна кількість значень функції дорівнюватиме добутку кількостей значень всіх аргументів.

2 Хід роботи

2.1 Постановка задачі

Обчислити значення функції

, = 0,65 .

Аргумент q змінюється від початкового значення 2,8 до кінцевого 5,4 з кроком 1.3. Змінна с являє собою одновимірний масив (с1=-1,85; с2=2,39; с3=3,65).

2.2 Графічний алгоритм показаний на рис. 11.1

ні

так

Рисунок 11.1 – Графічний алгоритм

2.3 Таблиця ідентифікації змінних

Змінна

a

q

zm

cm

Ідентифікатор

a

q

z[m]

c[m]

2.4 Програма мовою Pascal та результати обчислень

Program VC {Bкладені_цикли};

const

a=0.65;

Var

m:integer;

q:real;

c,z: array [1..3] of real;

Вegin

for m:=1 to 3 do

begin

write('c(',m,')=');

read(c[m])

end;

q:=2.8;

writeln('РЕЗУЛЬТАТИ РОЗРАХУНКУ:');

repeat

writeln('q=',q:6:3);

for m:=1 to 3 do

begin

z[m]:=c[m]+(exp(m)-q)/abs(1-a);

writeln('z(',m,')=',z[m]:6:3,' c(',m,')=',c[m]:6:3)

end;

q:=q+1.3;

until q>5.4

end.

РЕЗУЛЬТАТИ РОЗРАХУНКУ:

q= 2.800

z(1)=-2.083 c(1)=-1.850

z(2)=15.502 c(2)= 2.390

z(3)=53.037 c(3)= 3.650

q= 4.100

z(1)=-5.798 c(1)=-1.850

z(2)=11.787 c(2)= 2.390

z(3)=45.608 c(3)= 3.650

q= 5.400

z(1)=-9.512 c(1)=-1.850

z(2)= 8.073 c(2)= 2.390

z(3)=45.609 c(3)= 3.650