Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти і науки України
Вінницький національний технічний університет
Інститут Інформаційних технологій та комп’ютерної інженерії
Кафедра ОТ
Звіт
з виконання лабораторної роботи №1
з дисципліни «Програмування»
на тему: «Дослідження лінійних та розгалужених алгоритмів»
Тема: Дослідження лінійних та розгалужених алгоритмів.
Мета: 1.1Обчислити заданий змішаний арифметичний вираз для даних у форматах REAL (змінні a,b) і INTEGER (інші змінні). 1.2Обчислити заданий цілочисельний вираз для данних a, b у форматі INTEGER, використовуючи оператор IF. Результат Х - теж цілочисельний (INTEGER чи LONGINT).
Умова задачі:
Варіант 7
1.1
Написати лінійний алгоритм до даного виразу.
Створити програму на мові Pascal.
Провести обрахунки та записати висновок.
1.2
Написати розгалужений алгоритм до даного виразу.
Створити програму на мові Pascal у форматі INTEGER.
Провести обрахунки та записати висновок.
/
Аналіз задачі:
1.1Для даного виразу можна скласти алгоритм обчислення, основна умова якого: а×а-1≠0; змінні с і d можуть набувати будь яких значень.
1.2 Для даного виразу можна скласти алгоритм обчислення, основна умова якого: b≠0; змінна a може набувати будь якого значення.
Розробка алгоритму:
1.1
1.2
Лістинг програми:
1.1
var a, d, c, y :real;
Begin
writeLn ('y=((2*c)-ln(d/4))/(a*a-1)');
writeLn (' ');
write ('Введіть число A ');
readLn (a);
write ('Введіть число C ');
readLn (c);
write ('Введіть число D ');
readLn (d);
y:=((2*c)-(ln(d/4)))/(a*a-1);
write (y);
End.
1.2
Uses CRT;
Const
inv1='Повторiть введення';
inv2=' Ділення на нуль! ';
inv3='Результат ';
inv4='виходить за дiапазон! ';
inv5=' значення, що вводиться, ';
invA='A';
invB='B';
Label L1;
var
a,b,x : Integer;
ch : Char;
function F (a,b:Integer; Var x:Integer) : Boolean;
Var x1 : Real;
s1 : String;
Begin
F:=True;
if b>a then x1:=(a-5)/b
else if b=a then x1:=-125
else if a=0 then
Begin
s1:=inv2+inv1;
Writeln(s1);
F:=False;
Exit;
End
else x1:=5*a+b;
if (x1>=-32768)and(x1<=32767) then x:=trunc(x1)
else
Begin
s1:=inv3+inv4;
Writeln(s1);
Writeln(x1);
Writeln(inv1);
F:=False;
Exit;
End
End;
Procedure Input(Var A:integer; inv:String);
Label L;
Var aL :Real;
s1 : String;
Begin
L:
Write('Введiть значення '+inv,'===>');
Readln(aL);
if (aL>=-32768)and(aL<=32767) then A:=trunc(aL)
else
Begin
s1:=inv5+inv4;
Writeln(s1);
Writeln(inv1);
goto L;
End
End;
begin
Repeat
ClrScr;
Writeln('Варiант 7');
Writeln(' 5*a+b, якщо a>b');
Writeln('X = -125, якщо a=b');
Writeln(' (a-5)/b, якщо a<b');
Writeln;
L1:
Input(b,invB);
Input(a,invA);
if F(a,b,x) then Writeln ('x=',x)
else goto L1;
Writeln('Для повторного piшення натисни на "Enter"');
ch:=ReadKey;
Until (ch='n') or (ch='N');
end.
Результати роботи програми:
1.1
1.2
Висновок: Виконавши лабораторну роботу я навчився обчислювати заданий змішаний арифметичний вираз для даних у форматах REAL та INTEGER. А також я обчислював заданий цілочисельний вираз для данних a, b у форматі INTEGER, використовуючи оператор IF. Результат Х - теж цілочисельний (INTEGER чи LONGINT).
Контрольні питання
Особливості виконання досліджуваних операторів: умовні, уведення-висновку.
Процедури і функції. Формальні і фактичні параметри.
Арифметичні вирази: знаки арифметичних операцій, стандартні функції.
Діапазон припустимих значень для цілочисельних змінних (INTEGER або LONGINT).
Обробка аварійних ситуацій.
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!