Текст программы:
Programlab1v8;
Uses
Crt ;
Label
1,2 ;
const
a = 1.1;
b = 4;
var
y,x: Real;
ch: Char;
begin
1:
clrscr;
textcolor (11);
Writeln (' ПРОГРАММИРОВАНИЕ ФОРМУЛ; ОПЕРАТОРЫ ВВОДА И ВЫВОДА');
Writeln ;
Writeln (' Лабораторная работа № 1, 8-ой вариант');
Writeln (' Дано:');
Writeln (' Константыa=1.1 иb=4');
Writeln (' Переменные x, которые надо ввести с клавиатуры = -3 и 3');
Writeln ;
Writeln (' При -3 y=1.31; 3 y=2.87');
Writeln (' Вычисленение производится по формуле:');
Writeln ;
Writeln (' ln(|x+a|)*b');
Writeln (' y = -----------');
Writeln (' √a^b-sin(b)');
Writeln ;
textcolor (LightGreen);
Write ('Введитезначение x: ');
Read (x);
{-= вычисляемформулу =-}
y:= ln(abs(x+a))*b/(sqrt(exp(b*ln(a)))-sin(b));
{Выводим полученный результат}
Writeln ;
textcolor (Yellow);
WriteLn ('Результат вычисления y =',y:6:2);
Writeln ;
textcolor (LightRed);
Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');
Writeln ;
textcolor (White);
Ch := ReadKey;
If Ch=#27 Then goto 2;
goto 1;
2:
Writeln ('До свидания');
Writeln ('Работу выполнил:');
Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');
end.
Лабораторная работа 2
Условный оператор (If..then..else)
Лабораторное задание
Написать алгоритм и программу для вычисления значения у из таблицы 4 для х, введенного с клавиатуры. Произвести тестирование программы.
Алгоритм выполнения:
Текстпрограммы:
Program lab2v8;
Uses Crt ;
Label 1,2 ;
Var y,x: Real; ch: Char;
begin
1:
clrscr;
textcolor (11);
Writeln (' УСЛОВНЫЙОПЕРАТОР');
Writeln ;
Writeln (' Лабораторная работа № 2, 8-ой вариант');
Writeln (' Дано:');
Writeln (' Дана система уравнений для вычисления значения y');
Writeln (' при котором x требуется ввести с клавиатуры.');
Writeln ;
Writeln (' Диапазон, при которых значение x подходит к решению,');
Writeln (' должно контролироваться программой.');
Writeln (' /');
Writeln (' | x*(3-x) , -1<= x <0');
Writeln (' y = < 1 , 0<= x <1');
Writeln (' | tg(2x) , 1<= x <=2');
Writeln (' \');
Writeln (' Производя проверку, в значении tg(2x) - х является ГРАДУСОМ!');
Writeln ;
textcolor (LightGreen);
Write ('Введитезначение x: ');
Read (x);
{-= делаем проверку и вычисления =-}
if ((x<-1) or (x>2)) then Writeln ('Введённое значение выходит за пределы')
else
Begin
if x<0 then y := x*(3-x)
else if x<1 then y := 1
else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));
{Выводим полученный результат }
Writeln ;
textcolor (Yellow);
WriteLn ('Результат вычисления y =',y:7:3);
End;
Writeln ;
textcolor (LightRed);
Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');
Writeln ;
textcolor (White);
Ch := ReadKey;
If Ch=#27 Then goto 2;
goto 1;
2:
Writeln ('До свидания.');
Writeln ('Работу выполнил:');
Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');
end.
Лабораторная работа 3
«Цикл с предусловием» (While..do)
Лабораторное задание
Написать алгоритм и программу вычисления у(х) или z(t) из лабораторной работы № 1 для заданных значений диапазона и шага аргументов z, t, таблица 5. Первое значение вычисляется в крайней левой точке заданного диапазона значений аргументов х. Произвести тестирование программы.
Алгоритм выполнения:
Текст программы:
Program lab3v8;
Uses
Crt ;
Label
1,2 ;
const
a = 1.1;
b = 4;
dx = 0.5;
var
y,x: Real;
ch: Char;
begin
1:
clrscr;
textcolor (11);
Writeln (' ЦИКЛ С ПРЕДУСЛОВИЕМ');
Writeln ;
Writeln (' Лабораторная работа № 3, 8-ой вариант');
Writeln (' Дано:');
Writeln (' Константыa=1.1; b=4');
Writeln ;
Writeln (' Изменение x происходит от -3 до 3 с шагом 0,5');
Writeln (' Вычисленение производится по формуле:');
Writeln ;
Writeln (' ln(|x+a|)*b');
Writeln (' y = -----------');
Writeln (' √a^b-sin(b)');
Writeln ;
textcolor (LightGreen);
Writeln ('Дляпродолжениянажмите "Enter"');
Ch := ReadKey;
If Ch<>#13 Then goto 1;
clrscr;
Writeln (' Вычисленение производится по формуле:');
Writeln ;
Writeln (' ln(|x+a|)*b');
Writeln (' y = ----------- ; a=1.1, b=4' );
Writeln (' √a^b-sin(b)');
Writeln ;
{-= вычисляем формулу в цикле =-}
x := -3;
While (x<=3) do
Begin
y:= ln(abs(x+a))*b/(sqrt(exp(b*ln(a)))-sin(b));
{Выводим полученный результат}
textcolor (Yellow);
WriteLn ('Результат вычисления y =',y:6:2, ' при x = ', x:6:2);
x := x+dx;
End;
Writeln ;
textcolor (LightRed);
Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');
Writeln ;
textcolor (White);
Ch := ReadKey;
If Ch=#27 Then goto 2;
goto 1;
2:
Writeln ('До свидания.');
Writeln ('Работу выполнил:');
Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');
end.
алгоритм программа формула тестирование
Лабораторная работа 4
«Цикл с постусловием» (Repeat..until)
Лабораторное задание
Задание 1. Написать алгоритм и программу вычисления функции у(х) из лабораторной работы №2 в N равномерно распределенных в диапазоне Х1<х<Х2 точках, таблица 6. Результаты сформировать в виде таблицы. Произвести тестирование.
Задание 2. Произвести пошаговое выполнение программы, наблюдая переменные х, у, n
Алгоритм выполнения:
Текст программы:
Programlab4v8;
Uses
Crt ;
Label
1,2 ;
Const
X1=-1; X2=2; N=11;
var
y,x,dx: Real;
i: Integer;
ch: Char;
vr: Byte;
begin
1:
clrscr;
textcolor (11);
Writeln (' ЦИКЛ С ПОСТУСЛОВИЕМ');
Writeln ;
Writeln (' Лабораторная работа № 4, 8-ой вариант');
Writeln (' Дано:');
Writeln (' Дана система уравнеий для вычисления значения y,');
Writeln (' /');
Writeln (' | x*(3-x) , -1<= x <0');
Writeln (' y = < 1 , 0<= x <1');
Writeln (' | tg(2x) , 1<= x <=2');
Writeln (' \');
Writeln (' При выводе значении tg(2x) - х является ГРАДУСОМ!');
Writeln ;
Writeln (' Значениеx = [-1;2].');
Writeln (' Из диапазона x выбирается 10 значений, которые');
Writeln (' атоматически вычисляются, разбив промежуток на равные части.');
Writeln ;
textcolor (LightGreen);
Writeln ('Выберите вариант вывода значений:');
Writeln (' 1 - вывод всех значений');
Writeln (' 2 - пошаговый режим');
Writeln ('(нажмите соотв. цифру на клавиатуре)');
{Проверяем выбораный режим 49="1", 50="2"}
Ch := ReadKey;
If Ch=#49 then vr:=10
else if Ch=#50 then vr := 1
elsegoto 1;
clrscr ;
Writeln (' Cистема уравнеий для вычисления значения y,');
Writeln (' /');
Writeln (' | x*(3-x) , -1<= x <0');
Writeln (' y = < 1 , 0<= x <1');
Writeln (' | tg(2x) , 1<= x <=2');
Writeln (' \');
if vr = 1 then
begin
textcolor (LightRed);
Writeln(' для завершения нажмите "Esc", для продолжения любую клавишу');
Writeln ;
textcolor (LightGreen);
end
else Writeln ;
{-= выводим в табличном значении =-}
Writeln (' ==================');
Writeln (' = n = x = y =');
Writeln (' ==================');
dx := (X2-X1)/(N-1);
x := X1;
i := 1;
Repeat
{ на всякий случай пусть проверяет ;) }
if ((x<-1) or (x>2)) thenWriteln ('Значение вышло за пределы - ГЛЮК 8)')
else
Begin
if x<0 then y := x*(3-x)
else if x<1 then y := 1
else y := (sin(2*x*Pi/180)/cos(2*x*Pi/180));
Writeln (' =',i:3,'=',x:7:2,'=',y:7:2,'=');
x := x+dx;
i := i+1;
{проверка для пошагового режима}
if vr < 10 then
begin
Ch := ReadKey;
If Ch=#27 then goto 2;
end;
End
Until x>2;
Writeln (' ================== ');
Writeln ;
textcolor (LightRed);
Writeln(' для завершения нажмите "Esc", для повтора любую клавишу');
Writeln ;
textcolor (White);
Ch := ReadKey;
If Ch=#27 then goto 2;
goto 1;
2:
Writeln ('До свидания.');
Writeln ('Работу выполнил:');
Writeln ('К.Виктор гр. ЗРП-118 (210402) 2009г.');
end
Лабораторная работа 5.1
«Цикл с заданным числом повторений» (For..to..do)
Лабораторное задание
Задание 1. Изменить алгоритм и программу из лабораторной работы 4, используя вместо цикла с постусловием счетный цикл.