- •Раздел 3 Программирование
- •1 Структура программы на языке Pascal
- •2 Операторы языка Pascal
- •2.2 Операторы ввода данных
- •2.3 Операторы вывода данных
- •3 Стандартные функции Pascal
- •3.1 Примеры составления линейной программы
- •4 Контрольные вопросы
- •5 Задание
- •1 Условный оператор if
- •2 Оператор варианта case
- •3 Контрольные вопросы
- •4 Задание
- •4.1 Задание по условному оператору
- •4.2 Задание по оператору варианта
- •5 Содержание отчета
- •1 Оператор цикла с постусловием
- •2 Оператор цикла с предусловием
- •3 Оператор цикла с параметром
- •4 Контрольные вопросы
- •5 Задание
- •6 Содержание отчета
- •1 Итерационные циклы
- •2 Программа итерационного цикла
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Краткая теория
- •1 Программа "цикл в цикле"
- •2 Программа "цикл и ветвление"
- •3 Программа "цикл в цикле и ветвление"
- •4 Контрольные вопросы
- •5 Задания
- •6 Содержание отчета
- •1 Одномерные и многомерные массивы
- •2 Обработка массивов
- •3 Контрольные вопросы
- •4 Задания
- •5 Содержание отчета
- •1 Описание функций
- •2 Параметры функции
- •2.1 Параметры-значения
- •2.2 Параметры-переменные
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Формат описания процедуры
- •2 Параметры процедуры
- •3 Контрольные вопросы
- •4 Задание
- •5 Содержание отчета
- •1 Средства и методы отладки программ
- •1.1 Понятие отладки
- •1.2 Разновидности ошибок
- •1.2.1 Ошибки этапа компиляции
- •1.2.2 Ошибки этапа выполнения
- •1.2.3 Логические ошибки
- •2 Выполнение программы по шагам и трассировка
- •2.1 Выполнение по шагам и трассировка
- •2.2 Остановка выполнения
- •2.3 Отслеживание и модификация
- •2.4 Понятие отладочного шага
- •2.5 Выполнение программы по шагам
- •2.6 Трассировка программы
- •2.7 Выполнение больших фрагментов
- •2.8 Повторное выполнение
- •3.2.2 Редактирование просматриваемых выражений
- •3.3 Вычисление и модификация
- •3.3.1 Вычисление выражений
- •3.3.2 Модификация переменных
- •3.4 Использование точек останова
- •3.5 Задание точек останова
- •3.6 Отмена точки останова
- •3.7 Модификация точек останова
- •3.8 Создание условной точки останова
- •5.2 Установка точек останова
- •6 Содержание отчета
3 Программа "цикл в цикле и ветвление"
Пример 3
Вычислить сумму S положительных и произведение Р отрицательных значений функции y = cos t -b, в области t [-1;1] с шагом 0.2 и
в области b [-0.1;0.2] с шагом 0.1.
В примере - две переменные, t и b, нужно для каждого значения t просчитать все b, если y>0,, то прибавить его значение к предыдущей сумме S, если y<0, то умножить его на предыдущее произведение Р.
В примере 3 встречаются два циклических и ветвящийся вычисли-
тельные процессы. Внешний цикл организован по параметру t, внутренний цикл - по параметру b.
151
Внутри цикла после вычисления значения функции у осуществляется проверка условий ветвящегося вычислительного процесса, который реализует вычисление произведения p отрицательных значений функции (в случае выполнения условия у<0) и вычисление суммы s положительных значений функции, если у>0.
Программа
const
dt=0.2;
db=0.1;
var
t,b,y,s,p: real;
begin
t:=-1;
repeat { цикл по t }
b:=-0.1;
repeat { цикл по b }
y:=cos(t)-b;
if y<0 then
p:=p*y
else
s:=s+y;
writeln(' t=',t:2:1,' b=',b:2:1,
'y(t,b)= y(',t:2:1,',', b:2:1,')=',y:4:2,
's=',s:4:2, 'p=',p:4:2);
t:=t+dt;
until t>1;
b:=b+db;
until b>0.2;
end.
4 Контрольные вопросы
1 Назовите известные вам структуры алгоритмов.
2 Какие вычислительные процессы реализуются в сложных алгоритмах?.
3 Как организуются программы с вложенными циклами ?
4 Какие вычислительные процессы можно выделить в задании по вашему варианту ?
5 Охарактеризуйте синтаксис и особенность применения операторов if,
repeat.
152
6 Сколько циклов может быть вложено друг в друга ?
7 Как изменится программа примера 3, если оператор repeat заменить на оператор while?
5 Задания
-
№ варианта
Выражение
1
2
1
t(8-7(-t))
, если -1.4<=t<=4z = t -│20-t , если 4<t<=9.8
2
(2-x)+│x│
, если
-0.8<=x<=0.2S = cos x+e sin x , если 0.2<x<=1
3
z
(4-z)
, если -2.5<=z<0.4y = 3 sin(z-0.4)-z , если 0.4<=z<=2.5
4
(12-x)x
, если 5<=x<=11 y = x 12+x , если 11<x<=17
5
3.14+xy
, если 1<=x<=10
z = tg x + cos y , если 2<=y<=4
6
sin
(x
+1) , если 0.1<=x<=0.5
y = cos z , если 0<=z<=1
7
е2е
+ esin
t
, если
-1.5<=t<0z = 2√t ,если 0<=t<=2
8
x+y
0.1<=x<=0.3 z = 1-xy 0.5<=y<=0.8
9
(z-1)
, если 0<=z<=3C = |z-6| , если 3<=z<=8
10
t+4sin
t│ ,если
-2<=t<0y = (t-(t-3)) , если 0<=t<=4
11
x-1
– lnx4
, если -5<=x<=0M = │cos x│x-2 ,если 0<x<=10
12
2+3(a-x)
, 0.1<=x<=17.55 z = 5ax , 0.5<=a<=2.5
13
(S
-2S-2) , если
-2<=s<=0z = (S-cos S) , если 0<S<=1.5
14
a+sin
x -2<=x<=7 y = sin(a+x) -1<=a<=1
15
(cos(y-1)-2)
, ,если
-3<=y<=1S = (y sin y-1) , если 1<y<=4
16
sin│x/a│
, 0.5<=x<=3.5 y = ax , 0.1<=a<=0.2
153
-
1
2
17
b
sin x 0<=x<=2 y = cos z 0.1<=z<=2.5
18
a
sin x , если
0.1<=x<=1 y = b cos x , если 1<x<2
19
│ax
+bx │, если
0.1<=x<=1 y = sin(bx+a) , если 1<x<=2
20
cos
x , если
0.5<x<=0.9 y = x+sin x-cos x, если 0.9<x<=1
