- •Лабораторная работа №1.
- •Задание 1. Ветвление с двумя альтернативами
- •Лабораторная работа №3.
- •Тема: Операторы повторений
- •Блок-схема алгоритма вычислений с использованием оператора цикла с предусловием while Блок-схема алгоритма вычислений с использованием оператора цикла с предусловием while
- •Лабораторная №4.
- •Ввод Cij
- •3. Результат выполнения контрольного примера.
- •Лабораторная №7.
Лабораторная работа №3.
Тема: Операторы повторений
Задание.
Составить схему алгоритма и программу в языке Паскаль для вычисления значений функции y=f(x) в точках от до c шагом . При выполнении задания использовать операторы цикла с постусловием, с предусловием и оператор цикла с параметром.
Результаты вычислений оформить в виде таблицы, используя символы псевдографики.
|
x1 = 1; xn = 2; Δx = 0,2; a = 3,5; b = 1,2 |
Задание: Составить схему алгоритма для вычисления значений функции
от значения x1 = 1 до значения xn = 2 с шагом Δx=0,2.
Решение: Блок-схемы алгоритмов вычислений и тексты программ с использованием операторов цикла while, repeat, for приведены ниже.
While)
Блок-схема алгоритма вычислений с использованием
оператора цикла с предусловием WHILE
Блок-схема алгоритма вычислений с использованием оператора цикла с предусловием while Блок-схема алгоритма вычислений с использованием оператора цикла с предусловием while
program p3a;
var a,b,x,y,x1,xn,dx:real;
begin
write(‘Введите начальное, конечное и шаг=’);
readln(x1,xn,dx);
x:=x1;
a:=3.5;
b:=1,2;
writeln(' Таблица');
writeln('┌─────┬─────┐');
writeln('│ X │ Y │');
while x<(xn+dx) do
begin
y:=sqrt(a*x)/b+a*x*sqrt(x);
writeln('├─────┼─────┤');
writeln('│',x:6:2,'│',y:6:2,'│');
x:=x+dx;
end;
writeln('└─────┴─────┘');
readln;
end.
Таблица
┌─────┬─────┐
│ X │ Y │
├─────┼─────┤
│ 1.00 │ 5.06 │
├─────┼─────┤
│ 1.20 │ 6.31 │
├─────┼─────┤
│ 1.40 │ 7.64 │
├─────┼─────┤
│ 1.60 │ 9.06 │
├─────┼─────┤
│ 1.80 │ 10.54 │
├─────┼─────┤
│ 2.00 │ 12.10 │
└─────┴─────┘
Repeat)
program p3b;
var a,b,x,y,x1,xn,dx:real;
begin
write(‘Введите начальное, конечное и шаг=’);
readln(x1,xn,dx);
x:=x1;
a:=3.5;
b:=1,2;
writeln(' Таблица');
writeln('┌─────┬─────┐');
writeln('│ X │ Y │');
repeat
y:= sqrt(a*x)/b+a*x*sqrt(x);
writeln('├─────┼─────┤');
writeln('│',x:6:2,'│',y:6:2,'│');
x:=x+dx;
until x>xn+dx/2;
writeln('└─────┴─────┘');
readln;
end.
Таблица
┌─────┬─────┐
│ X │ Y │
├─────┼─────┤
│ 1.00 │ 5.06 │
├─────┼─────┤
│ 1.20 │ 6.31 │
├─────┼─────┤
│ 1.40 │ 7.64 │
├─────┼─────┤
│ 1.60 │ 9.06 │
├─────┼─────┤
│ 1.80 │ 10.54 │
├─────┼─────┤
│ 2.00 │ 12.10 │
└─────┴─────┘
3)
program p3a;
var a,b,x,y,x1,xn,dx:real;
k,n:integer;
begin
write(‘Введите начальное, конечное и шаг=’);
readln(x1,xn,dx);
a:=3.5;
b:=1,2;
n:=Round((xn-x1)/dx)+1;
writeln(' Таблица');
writeln('┌────┬─────┐');
writeln('│ X │ Y │');
for k:=1 to n do
begin
x:=x1+(k-1)*dx;
y:= sqrt(a*x)/b+a*x*sqrt(x);
writeln('├─────┼─────┤');
writeln('│',x:5:2,'│',y:5:2,'│');
end;
writeln('└─────┴─────┘');
readln;
end.
Таблица
┌─────┬─────┐
│ X │ Y │
├─────┼─────┤
│ 1.00 │ 5.06 │
├─────┼─────┤
│ 1.20 │ 6.31 │
├─────┼─────┤
│ 1.40 │ 7.64 │
├─────┼─────┤
│ 1.60 │ 9.06 │
├─────┼─────┤
│ 1.80 │ 10.54 │
├─────┼─────┤
│ 2.00 │ 12.10 │
└─────┴─────┘