Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
met_AKT1_11.doc
Скачиваний:
3
Добавлен:
01.05.2019
Размер:
1.04 Mб
Скачать
    1. Содержание задания

Задание 2

- разработать блок-схему алгоритма разветвляющей структуры для вычисления функции F(x)=f(x,y,z) в соответствии с вариантом задания (см. приложение Б, таб. Б.1);

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

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

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

  • смоделировать в программе шесть-восемь различных синтаксических

ошибок и описать их;

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

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

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

- задание;

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

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

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

- выводы.

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

  1. Приведите пример алгоритма разветвляющей структуры.

  2. Объясните работу условных операторов Pascal if … then и if … then … else.

  3. Что такое выражение отношения и булевское (логическое) выражение. Объясните правила их записи. Назовите знаки операций выражений отношения и булевских выражений.

  4. Перечислите арифметические и логические операции в порядке убывания их приоритета.

  5. Объясните назначение типов integer и real.

  6. Объясните назначение типа Boolean. Что такое логические константы True и False.

  7. Что такое составной оператор, и в каких случаях он используется в программе.

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

    1. Цель работы

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

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

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

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

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

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

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

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

Формат

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.

Вычислить значения функции для всех , если значение аргумента изменяется с шагом .

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.

Вычислить значения функции для всех , если значение аргумента изменяется с шагом .

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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]