- •Лабораторная работа № 1. Программирование последовательных вычислений
- •Лабораторная работа № 2. Программирование разветвлений
- •Лабораторная работа № 3. Программирование циклов
- •Лабораторная работа № 4. Программирование задач с одномерными массивами
- •Лабораторная работа № 5. Программирование задач с двумерными массивами
- •Лабораторная работа № 6. Программирование процедур и функций
- •Лабораторная работа № 7. Программирование структурных типов данных
Лабораторная работа № 2. Программирование разветвлений
Что такое алгоритм линейной структуры? Перечислите операторы, реализующие этот алгоритм.
Алгоритм линейной структуры – алгоритм, в котором все действия выполняются последовательно.
Составной оператор, оператор присваивания, операторы ввода, операторы вывода.
Что такое алгоритм разветвляющейся структуры? Перечислите операторы, реализующие этот алгоритм.
Алгоритм разветвляющейся структуры – алгоритм, в котором происходит переход к одной из нескольких ветвей алгоритма или к далеко расположенной части алгоритма.
Какой вид имеют составной оператор и оператор присваивания, а также что они означают?
Составной оператор имеет вид:
begin
Op1;
…
OpN
end
Оператор присваивания имеет вид:
P:=V
Какой вид имеют операторы ввода и вывода, а также что они означают?
Операторы вывода имеют вид:
write (V1 , … , VN)
writeln (V1 , … , VN)
Какой вид имеет оператор безусловного и условного перехода, а также что они означают?
Оператор безусловного перехода имеет вид:
Goto M
Какой вид имеет оператор варианта и что он означает?
Оператор варианта (или оператор выбора) имеет вид:
case S of
Z1 : Op1;
…
ZN : OpN
else Op0
end
где case – в случае, of – из, else – иначе, end – конец, S – селектор, Z1 – значение 1-е, ZN – значение N-е, Op1 – оператор 1-й, OpN – оператор N-й, Op0 – оператор 0-й.
Что такое метка, условие и селектор? К каким типам данных относятся эти понятия?
Метка – обозначение строки в программе, отделяемое от программного кода двоеточием.
Селектор – выражение порядкового типа, которое может принимать одно из многих значений.
Напишите, что означает каждая строка в вышеприведённых программах.
Program Lab2a; {Заголовок программы} |
Program Lab2b; {Заголовок программы} |
Var {раздел описания переменных} |
Var a,c:integer; {описание переменных} |
a,b,c:real; {описание переменных} |
Begin |
Begin |
read(a); {ввод переменной} |
writeln('Введи a,b'); {вывод запроса на ввод} |
case a of {оператор варианта} |
read(a,b); {ввод переменных} |
0: c:=2; |
if a>b {условный оператор} |
1..10: c:=3; |
then c:=(a-b)/(a*b) |
-1,11: c:=4 |
else c:=exp(b*ln(a)); |
else c:=5 |
writeln('c=',c:10:3); {вывод результатов} |
end; |
End. |
writeln(c);{вывод результата} |
|
End. |
Напишите программу к одной из задач дополнительного задания.
Вычислить
Program L2;
Var
L,x,b,a:real;
Begin
Read(b,x,a);
If b>2 then y:=sin(0.57)/cos(0.57)*ln(b-2)/ln(10)
Else y:=sqr(sin(x))+abs(exp(a));
Writeln(y)
End.
Лабораторная работа № 3. Программирование циклов
Что такое алгоритм циклической структуры? Перечислите операторы, реализующие этот алгоритм.
Алгоритм циклической структуры – алгоритм, в котором производится многократное повторение однотипных действий.
Что такое цикл? Перечислите составляющие и разновидности циклов.
Цикл – многократно повторяющийся участок алгоритма. Цикл включает заголовок цикла, тело цикла и конец цикла.
Циклы делятся на:
1. Цикл с предусловием (условие выхода из цикла проверяется в начале перед действиями в теле цикла).
2. Цикл с постусловием (условие выхода из цикла проверяется в конце после действий в теле цикла).
3. Цикл с параметром (цикл выполняется фиксированное количество раз, определяемое параметром цикла).
Какой вид имеет оператор цикла с предусловием и что он означает?
. Оператор цикла с предусловием имеет вид:
while U do Op
где while – пока, do – делать, U – условие, Op – оператор.
Оператор означает, что пока условие U истинное, повторять оператор Op в цикле; как только условие станет ложным, выйти из цикла.
Какой вид имеет оператор цикла с постусловием и что он означает?
Оператор цикла с постусловием имеет вид:
repeat
Op1;
…
OpN
until U
где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.
Оператор означает, что повторять операторы Op1 и т.д., … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.
Какой вид имеет оператор цикла с параметром (при увеличении параметра) и что он означает?
. Оператор цикла с параметром (при увеличении параметра) имеет вид:
for Par := Nz to Kz do Op
где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Оператор означает, что для параметра Par , увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.
Какой вид имеет оператор цикла с параметром (при уменьшении параметра) и что он означает?
Оператор цикла с параметром (при уменьшении параметра) имеет вид:
for Par := Nz downto Kz do Op
где for – для, downto – вниз до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.
Оператор означает, что для параметра Par , уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.
Что такое параметр цикла? Может ли он быть целым числом, дробным числом?
Параметр цикла (или счётчик циклов) – переменная порядкового типа, которая изменяется в цикле от начального до конечного значения с каким-либо шагом.
Напишите, что означает каждая строка в вышеприведённых программах.
Program Lab3a; {заголовок программы} |
Program Lab3b; |
Var {раздел описания переменных} |
Var |
x,y,xn,xk,dx:real;{описание переменных} |
x,y:real; |
Begin |
Begin |
writeln('Введи xn,xk,dx');{вывод запроса на ввод данных} |
x:=0; |
read(xn,xk,dx);{ввод данных} |
Repeat {начало цикла с постусловием} |
x:=xn; {запись начального значения} |
y:=sin(x)/cos(x); {находим значение функции} |
while x<=xk do {начало цикла с предусловием} |
writeln(x,y); {выводим результат} |
Begin |
x:=x+1; увеличиваем значение аргумента |
y:=exp(x);{авычисляем значение функции} |
until x>10; конец цикла с постусловием |
writeln('при x=',x:10:3,' y=',y:10:3); {выводим результат на экран} |
End. |
x:=x+dx; {находим новое значениеие аргумента} |
|
end; |
|
End. |
|
Напишите программу к одной из задач дополнительного задания.
Вычислить , гдес увеличивается от сн до ск с шагом с.
Program Lab3; |
Var |
С,a,b,R,W,R,сn,сk,dС:real; |
Begin |
writeln('Введи сn,сk,dс'); |
read(сn,Сk,dс); |
С:=сn; |
while c<=ck do |
begin |
W:=abs(a*b*c)/(exp(3*ln(R))-exp(1))+sqr(pi); |
writeln('при C=',C:10:3,' W=',W:10:3); |
C:=C+dc; |
end; |
End. |