- •Часть 1
- •Содержание
- •Среда программирования Turbo Pascal
- •Лабораторная работа №1 Программирование вычислительного процесса с алгоритмом линейной структуры
- •5. Протокол работы программы
- •6. Содержание отчета
- •Лабораторная работа №2 Программирование разветвляющегося вычислительного процесса
- •4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
- •Примеры программирования разветвляющихся вычислительных процессов
- •1. Использование условного оператора
- •4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
- •Лабораторная работа №3 Программирование циклических вычислительных процессов
- •Примеры программирования циклических вычислительных процессов с заданным числом повторений
- •2. Таблица распределения идентификаторов
- •2. Таблица распределения идентификаторов
- •Примеры программирования циклических вычислительных процессов с заданным диапазоном изменения переменной
- •3. Блок-схема программы
- •Примеры программирования вычислительных процессов, выполняемых до достижения заданной точности
- •Лабораторная работа №4 Программирование комбинированных вычислительных процессов.
- •Примеры программирования комбинированных вычислительных процессов
- •2. Таблица распределения идентификаторов
- •2. Блок-схема программы
- •3. Таблица распределения идентификаторов
- •2. Таблица распределения идентификаторов
- •Приложение 1 Структура программы
- •Приложение 2 Основные функции
- •Приложение 3 Основные элементы блок-схемы
- •Приложение 4
2. Таблица распределения идентификаторов
|
Входные |
промежуточные |
выходные |
||
переменные |
х |
a |
K |
N |
у |
имя |
х |
a |
K |
N |
у |
тип |
real |
real |
integer |
integer |
real |
3. Блок-схема программы с использованием цикла с постусловием представлена на рис. 13.
4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
Рис. 13. Блок-схема программы |
Program Primer; uses Crt; var x, y, a : real; n, k: integer; begin writeln('Vvedite x, a, k = '); readln(x,a,k); y:=0; n:=1; repeat y:=y+((sqr(x)+a)*n)/(n+1); n:= n+1 until n > k; writeln ('y = ', y:6:2); writeln; end. 5. Протокол работы программы Vvedite x, a, k = 2.0 4.0 5 y = 28.40
6. Содержание отчета (см. задача 1).
|
Примеры программирования циклических вычислительных процессов с заданным диапазоном изменения переменной
Встречаются вычислительные процессы, которые сводятся к многократному повторению одних и тех же действий до тех пор, пока некоторая переменная остается внутри заранее заданного интервала. Выход значения этой переменной из интервала прерывает циклический вычислительный процесс. Простейшим примером такого процесса является табуляция функции, т. е. многократное вычисление значений функции при изменении аргумента от некоторого начального до некоторого конечного значений с некоторым шагом.
Задача 6
1. Формулировка задачи: вычислить значение функции y = 2x2 - 4x + 6 при изменении аргумента в интервале [-2; 2] с шагом 0,5.
2. Таблица распределения идентификаторов
|
Входные |
промежуточные |
выходные |
|||||
Переменные |
хнач |
хкон |
Δх |
x |
k |
n |
у |
х |
Имя |
хn |
xk |
h |
x |
k |
n |
у |
х |
Тип |
real |
real |
real |
real |
integer |
integer |
real |
real |
3. Блок-схема программы
На рисунках 14, 15, 16 представлены блок-схемы, которые должны быть реализованы в программах операторами с предусловием (while), цикла с параметром (for) и с постусловием (repeat). В первом варианте требуется определить необходимое количество повторений цикла и выразить значение аргумента через параметр цикла k. Для этого используется функция trunc, которая вычисляет целое число.
4. Программа. Программа составляется по блок-схеме с учетом таблицы распределения идентификаторов.
1-й вариант Program Primer; uses Crt; var x, xn, xk, h, y: real; begin write('Vvedite xn, xk, h = '); readln(xn, xk, h); x:=xn; while x <= xk do begin y:= 2 * sqr(x) – 4 * x + 6; writeln ('x = ', x:6:2,' y = ', y:6:2); x:= x + h; end; writeln; end. 5. Протокол работы программы Vvedite xn, xk, h = -1.5 1.0 0.5 x = -1.50 y = 16.50 x = -1.00 y = 12.00 x = -0.50 y = 8.50 x = 0.00 y = 6.00 x = 0.50 y = 4.50 x = 1.00 y = 4.00
|
Рис. 14. Блок-схема программы (while) |
||
2-й вариант Program Primer; uses Crt; var x, xn, xk, h, y: real; k, n: integer; begin write('Vvedite xn, xk, h = '); readln(xn, xk, h); x:=xn; k:= trunc((xk – xn)/h) + 1; for n: =1 to k do begin x:=xn + (n – 1) * h; y:= 2 * sqr(x) – 4 * x + 6; writeln ('х = ', x:6:2,'у = ', y:6:2); end; writeln; end. |
Рис. 15. Блок-схема программы (for) |
||
3-й вариант Program Primer; uses Crt; var x, xn, xk, h, y: real; begin write('Vvedite xn, xk, h = '); readln(xn, xk, h); x:=xn; repeat y:= 2 * sqr(x) – 4 * x + 6; writeln ('х = ', x:6:2,'у = ', y:6:2); х:= x + h until x > xk; end.
6. Содержание отчета (см. задача 1). |
Рис. 16. Блок-схема программы (repeat) |
||
