Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Тема: Циклические алгоритмы




 

Задание.

Составить схему алгоритма и программу а языке Паскаль для вычисления значений функции y=f(x) в точках от до c шагом . При выполнении задания использовать операторы цикла с постусловием, с предусловием и оператор цикла с параметром.

Результаты вычислений оформить в виде таблицы, используя символы псевдографики. Коды символов приведены в таблице. Для вставки нужного символа в текст программы держите нажатой клавишу ALT при наборе кода. Код набирать на ЦИФРОВОЙ КЛАВИАТУРЕ.

 

Коды символов:

 

Одинарная рамка Двойная рамка Горизонтальные элементы Вертикальные элементы
┌ ┬ ┐ 218 194 191 ├ ┼ ┤ 195 197 180 └ ┴ ┘ 192 193 217 ╔ ╦ ╗ 201 203 187 ╠ ╬ ╣ 204 206 185 ╚ ╩ ╝ 200 202 188 ─ 196 ═ 205 │ 179 ║ 186

 

 

ВАРИАНТЫ ЗАДАНИЙ К ЛАБОРАТОРНОЙ РАБОТЕ № 3

 

Номер варианта y = f(x) Исходные данные
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

Пример. Составить схему алгоритма для вычисления значений функции от значения до значения с шагом ð x =0,5.

 

Решение. 1.Блок-схемы алгоритмов вычислений и тексты программ с использованием операторов цикла while, repeat, for приведены ниже.

1) While

 
 

 

 


Да Нет

 

 

 
 
Блок-схема алгоритма вычислений с использованием оператора цикла с предусловием WHILE

 


Текст программы.

 

program p3a;

var x,y,x1,xn,dx:real;

begin

write(‘Введите начальное, конечное и шаг=’);

readln(x1,xn,dx);

x:=x1;

writeln(' Таблица');

writeln('┌─────┬─────┐');

writeln('│ X │ Y │');

while x<(xn+dx) do

begin

y:=ln(sqr(x)+2*x+10);

writeln('├─────┼─────┤');

writeln('│',x:5:2,'│',y:5:2,'│'

x:=x+dx;

end;

writeln('└─────┴─────┘');

readln;

end.

 

 

Результат выполнения контрольного примера.

 

Таблица

┌─────┬─────┐

│ X │ Y │

├─────┼─────┤

│ 1.00 │ 2.56 │

├─────┼─────┤

│ 1.50 │ 2.72 │

├─────┼─────┤

│ 2.00 │ 2.89 │

├─────┼─────┤

│ 2.50 │ 3.06 │

├─────┼─────┤

│ 3.00 │ 3.22 │

├─────┼─────┤

│ 3.50 │ 3.38 │

├─────┼─────┤

│ 4.00 │ 3.53 │

├─────┼─────┤

│ 4.50 │ 3.67 │

├─────┼─────┤

│ 5.00 │ 3.81 │

└─────┴─────┘


2) For

 
 

 

 


 

 
 
Блок-схема алгоритма вычислений с использованием оператора цикла с параметром FOR  

 

 


Текст программы.

 

program p3a;

var x,y,x1,xn,dx:real;

k,n:integer;

begin

write(‘Введите начальное, конечное и шаг=’);

readln(x1,xn,dx);

n:=Trunc((xn-x1)/dx)+1;

writeln(' Таблица');

writeln('┌─────┬─────┐');

writeln('│ X │ Y │');

for k:=1 to n do

begin

x:=x1+(k-1)*dx;

y:=ln(sqr(x)+2*x+10);

writeln('├─────┼─────┤');

writeln('│',x:5:2,'│',y:5:2,'│');

end;

writeln('└─────┴─────┘');

readln;

end.

 

Результат выполнения контрольного примера.

 

Таблица

┌─────┬─────┐

│ X │ Y │

├─────┼─────┤

│ 1.00 │ 2.56 │

├─────┼─────┤

│ 1.50 │ 2.72 │

├─────┼─────┤

│ 2.00 │ 2.89 │

├─────┼─────┤

│ 2.50 │ 3.06 │

├─────┼─────┤

│ 3.00 │ 3.22 │

├─────┼─────┤

│ 3.50 │ 3.38 │

├─────┼─────┤

│ 4.00 │ 3.53 │

├─────┼─────┤

│ 4.50 │ 3.67 │

├─────┼─────┤

│ 5.00 │ 3.81 │

└─────┴─────┘

 


3) Repeat

 

       
 
 
   
Блок-схема алгоритма вычислений с использованием оператора цикла с постусловием REPEAT

 

 


Текст программы.

 

program p3a;

var x,y,x1,xn,dx:real;

k,n:integer;

begin

write(‘Введите начальное, конечное и шаг=’);

readln(x1,xn,dx);

x:=x1;

writeln(' Таблица');

writeln('┌─────┬─────┐');

writeln('│ X │ Y │');

repeat

y:=ln(sqr(x)+2*x+10);

writeln('├─────┼─────┤');

writeln('│',x:5:2,'│',y:5:2,'│');

x:=x+dx;

until x>xn+dx/2;

writeln('└─────┴─────┘');

readln;

end.

 

Результат выполнения контрольного примера.

 

Таблица

┌─────┬─────┐

│ X │ Y │

├─────┼─────┤

│ 1.00 │ 2.56 │

├─────┼─────┤

│ 1.50 │ 2.72 │

├─────┼─────┤

│ 2.00 │ 2.89 │

├─────┼─────┤

│ 2.50 │ 3.06 │

├─────┼─────┤

│ 3.00 │ 3.22 │

├─────┼─────┤

│ 3.50 │ 3.38 │

├─────┼─────┤

│ 4.00 │ 3.53 │

├─────┼─────┤

│ 4.50 │ 3.67 │

├─────┼─────┤

│ 5.00 │ 3.81 │

└─────┴─────┘

 

 


 

Поделиться:





Читайте также:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...