Міністерство освіти і науки, молоді та спорту України
Полтавський національний технічний університет
імені Юрія Кондратюка
Кафедра автоматики та електропривода
Розрахунково-графічна робота
з дисципліни «Інформатика»
тема «Turbo Pascal» та «MathCAD»
Варіант № 90
Виконав:
студент групи 101-МІ
Шапошник А.С.
Перевірила:
Ясько Г.Г.
Полтава 2012
Частина 1. «Turbo Pascal»
Лабораторна робота № 1
Мовою TURBO PASCAL скласти програму обчислення функції з розгалуженням F(Xі) із використанням циклу WHILE...DO. Аргумент Xі заданий умовами: а<х<b, xi+1 = Xi ± h, h – крок, тобто величина, на яку збільшується змінна Xi при черговому виконанні циклу, сталі:
Текст програми:
Program Programm_1;
Uses Crt;
Const a=0.5; b=25; c=12; h=1.2; k=0.6;
Var x , F: Real; i: integer;
Begin
CLRSCR;
x := a;
while (x<b) do
Begin
If (x > c)
then F := 9.81*sqr(x) + exp(a*sqrt(b))
else F := 5*k + x;
Writeln ('x = ', x:5:2, ' F = ', F:6:2);
x := x + h;
end;
end.
Результат:
x = 0.50 F = 3.50
x = 1.70 F = 4.70
x = 2.90 F = 5.90
x = 4.10 F = 7.10
x = 5.30 F = 8.30
x = 6.50 F = 9.50
x = 7.70 F = 10.70
x = 8.90 F = 11.90
x = 10.10 F = 13.10
x = 11.30 F = 14.30
x = 12.50 F = 1544.99
x = 13.70 F = 1853.42
x = 14.90 F = 2190.10
x = 16.10 F = 2555.03
x = 17.30 F = 2948.22
x = 18.50 F = 3369.65
x = 19.70 F = 3819.35
x = 20.90 F = 4297.29
x = 22.10 F = 4803.48
x = 23.30 F = 5337.93
x = 24.50 F = 5900.63
Лабораторна робота № 2
Програма має зчитувати з клавіатури в масив дійсні числа до тих пір, поки не буде введене число, яке попадає у діапазон між першим і другим уведеними числами. Після цього повинна видати на екран мінімальне число, та середнє додатних чисел.
Текст програми:
Program Programm_2;
uses crt;
Var
a:array [1..100] of real;
i, k, bluzhche: integer;
dobutok, max_ch, min_rizn, rizn : real;
Begin
clrscr;
i:=0;
max_ch :=0;
dobutok := 1;
repeat
i:=i+1;
Write('Введіть елемент масиву a[',i,']: ');
Readln(a[i]);
if (a[i] > max_ch) then
max_ch := a[i];
dobutok := dobutok*a[i];
until dobutok > 100;
min_rizn := max_ch;
writeln('Введена послідовність: ');
for k:=1 to i do
Begin
write(a[k],', ');
rizn := max_ch - a[k];
if (rizn < min_rizn)and(a[k]<>max_ch) then
Begin
min_rizn := rizn;
bluzhche := k;
End;
End;
Writeln;
Writeln('Максимальне число послідовності:',max_ch);
Writeln('Число,найближче до максимального:',a[bluzhche]);
End.
Результат:
Лабораторна робота № 3
У матриці m*n вирахувати середні значення по стовпцях. Видати на екран отриманий рядок. Видати на екран: вихідну матрицю та матрицю у якій зроблені наступні дії: якщо значення елемента матриці менше від середнього, то замінити його числом 77.
Текст програми:
Program Program_3;
uses crt;
const
m=3; n=3;
Var
A,B:array[1..m,1..n] of real;
c:array[1..m] of real;
i,j,k:integer;
summ, ser_zn:real;
begin
clrscr;
summ := 0;
for i:=1 to m do
for j:=1 to n do
begin
write('Введіть елемент матриці A[',i,',',j,']: ');
readln(A[i,j]);
summ := summ + A[i,j];
end;
ser_zn := summ/(m*n);
writeln;
writeln('Вихідна матриця А:');
for i:=1 to m do
begin
for j:=1 to n do
write(A[i,j]:6:2);
writeln;
end;
writeln;
writeln('Результуюча матриця B: ');
for i:=1 to m do
begin
for j:=1 to n do
begin
if (A[i,j] < ser_zn) then B[i,j] := 77
else B[i,j] := A[i,j];
write(B[i,j]:6:2);
end;
writeln;
end;
writeln; writeln;
write ('Рядок сумм по стовпцях: ');
for j:=1 to n do
begin
for i:=1 to m do
c[j] := c[j] + A[i,j];
write(c[j],', ');
end;
end.
Результат:
Лабораторна робота № 4
Програма повинна зчитувати з клавіатури у масив слова до тих пір, поки не буде введено слово, що починається з букви “а”. Після чого повинна видати на екран кількість слів у введеній послідовності та слово мінімальної довжини.
Текст програми:
Program Program_4;
Uses CRT;
Var
mass_sliv : array [1..50] of string;
kilk_bykv, i, j, k: integer;
min_slovo: string;
Begin
clrscr;
i := 1;
Write('Введіть перше слово: ');
Readln(mass_sliv[i]);
min_slovo := mass_sliv[i];
Repeat
i := i + 1;
Write('Введіть наступне слово: ');
Readln(mass_sliv[i]);
kilk_bykv:=length(mass_sliv[i]);
if (kilk_bykv < length(min_slovo)) then min_slovo := mass_sliv[i];
Until mass_sliv[i][1] = 'а';
writeln;
writeln('Кількість введених слів: ', i);
writeln;
writeln('Слово найменшої довжини: ', min_slovo);
End.