Лабораторная работа №3. Табулирование функций

Цель работы

- получение навыков в решении отдельных фрагментов инженерных задач с использованием Turbo-Pascal;

- получение навыков в использовании операторов цикла при решении практических задач;

- получение навыков в написании, отладке и тестировании программ.

Краткие теоретические сведения

При решении практических задач часто требуется вычислять значения функций, которых нет в списке стандартных, или требуется получить значение функции с заранее заданной точностью.

Пусть необходимо вычислить значения функции Лабораторная работа №3. Табулирование функций - student2.ru , если аргумент Лабораторная работа №3. Табулирование функций - student2.ru изменяется на отрезке Лабораторная работа №3. Табулирование функций - student2.ru с постоянным шагом h. Согласно условию задачи необходимо для значения аргумента Лабораторная работа №3. Табулирование функций - student2.ru вычислить значение функции Лабораторная работа №3. Табулирование функций - student2.ru , затем изменить аргумент Лабораторная работа №3. Табулирование функций - student2.ru и снова вычислить значение функции Лабораторная работа №3. Табулирование функций - student2.ru , затем изменить аргумент Лабораторная работа №3. Табулирование функций - student2.ru и снова вычислить значение функции Лабораторная работа №3. Табулирование функций - student2.ru и так до тех пор, пока значение аргумента не превысит значение Лабораторная работа №3. Табулирование функций - student2.ru .

Описанная задача называется задачей табулирования функции.

При написании программы для решения подобных задач необходимо использовать оператор цикла.

Формат

Repeat

< оператор 1>;

. . . . . . . . . . . . . . .

< оператор n>;

until <выражение >;

. . . . . . . . . . . . . . .

В данной структуре < оператор 1>, < оператор 2>, …, < оператор n> -выполняемые операторы, составляющие тело цикла; <выражение >- булевское выражение, истинность которого проверяется в конце цикла.

Оператор цикла repeat . . . until называют оператором цикла с постусловием.

Оператор цикла repeat . . . until организует выполнение цикла, состоящего из любого числа операторов, с неизвестным заранее числом повторений. Тело цикла, состоящее из операторов < оператор 1>, < оператор 2>, …, < оператор n>,выполняется хотя бы один раз.Выход из цикла осуществляется при истинности булевского выражения[2].

Формат

while <выражение > do < оператор>;

. . . . . . . . . . . . . . . . . . . . . . . . .

Оператор цикла while . . . do организует выполнение одного оператора неизвестное заранее число раз. Выход из цикла осуществляется, если булевское <выражение > окажется ложным, т.е. примет значение логической константы False. Так как истинность булевского выражения проверяется в начале цикла, то тело цикла может не выполниться ни разу.

Оператор цикла while . . . do называют оператором цикла с предусловием.

Если в теле цикла необходимо выполнить два и более операторов, то они заключаются в операторные скобки begin . . . end; .

Пример программы на Pascal

Задача 3.

Вычислить значения функции Лабораторная работа №3. Табулирование функций - student2.ru для всех Лабораторная работа №3. Табулирование функций - student2.ru , если значение аргумента изменяется с шагом Лабораторная работа №3. Табулирование функций - student2.ru .

Program st3;

Var

x,y,x0,xk,h:real;

Begin

read(x0,xk,h);

writeln(’ x0=’,x,’ xk=’,xk,’ h=’,h);

x:=xo;

Repeat

y:=x*x;

writeln(‘x=’,x, ‘ y=’,y);

x:=x+h;

until x>xk;

End.

Задача 4.

Вычислить значения функции Лабораторная работа №3. Табулирование функций - student2.ru для всех Лабораторная работа №3. Табулирование функций - student2.ru , если значение аргумента изменяется с шагом Лабораторная работа №3. Табулирование функций - student2.ru .

Program st3;

Var

x,y,x0,xk,h:real;

Begin

read(x0,xk,h);

writeln(’ x0=’,x,’ xk=’,xk,’ h=’,h);

x:=xo;

while x<=xk do

Begin

if x<>0 then

Begin

y:=1/x ;

writeln(‘x=’,x ,‘ y=’,y);

End

else write(‘решений нет’);

x:=x+h;

end;

End.

3.3. Содержание задания

Задание 3

- разработать блок-схему алгоритма циклической структуры для вычисления функции в соответствии с вариантом задания (см. приложение В, таб. В.1);

- написать и отладить программу в соответствии с блок-схемой;

- поставить программу на выполнение, отладить и протестировать ее;

- сравнить результаты ручного и машинного счета;

- задачи для самостоятельного решения представлены в приложении Д.

Содержание отчета

- цель работы;

- задание;

- блок-схема алгоритма решения задачи;

- текст программы;

- результаты ручного и машинного счета;

- выводы.

3.5. Контрольные вопросы

  1. Что такое цикл. Приведите пример алгоритма циклической структуры.
  2. Объясните работу циклического оператора Pascal repeat . . . until. Дайте рекомендации по его использованию.
  3. Объясните работу циклического оператора Pascal while . . . do. В чем особенности его использования в программе.
  4. Объясните суть задачи табулирования функции.

Наши рекомендации