Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Inf_Lab_otch_KhTF_2.doc
Скачиваний:
197
Добавлен:
11.04.2015
Размер:
189.44 Кб
Скачать

Лабораторная работа № 2. Программирование разветвлений

  1. Что такое алгоритм линейной структуры? Перечислите операторы, реализующие этот алгоритм.

Алгоритм линейной структуры – алгоритм, в котором все действия выполняются последовательно.

Составной оператор, оператор присваивания, операторы ввода, операторы вывода.

  1. Что такое алгоритм разветвляющейся структуры? Перечислите операторы, реализующие этот алгоритм.

Алгоритм разветвляющейся структуры – алгоритм, в котором происходит переход к одной из нескольких ветвей алгоритма или к далеко расположенной части алгоритма.

  1. Какой вид имеют составной оператор и оператор присваивания, а также что они означают?

Составной оператор имеет вид:

begin

Op1;

OpN

end

Оператор присваивания имеет вид:

P:=V

  1. Какой вид имеют операторы ввода и вывода, а также что они означают?

Операторы вывода имеют вид:

write (V1 , … , VN)

writeln (V1 , … , VN)

  1. Какой вид имеет оператор безусловного и условного перехода, а также что они означают?

Оператор безусловного перехода имеет вид:

Goto M

  1. Какой вид имеет оператор варианта и что он означает?

Оператор варианта (или оператор выбора) имеет вид:

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-й.

  1. Что такое метка, условие и селектор? К каким типам данных относятся эти понятия?

Метка – обозначение строки в программе, отделяемое от программного кода двоеточием.

Селектор – выражение порядкового типа, которое может принимать одно из многих значений.

  1. Напишите, что означает каждая строка в вышеприведённых программах.

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.

  1. Напишите программу к одной из задач дополнительного задания.

  2. Вычислить

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. Что такое алгоритм циклической структуры? Перечислите операторы, реализующие этот алгоритм.

Алгоритм циклической структуры – алгоритм, в котором производится многократное повторение однотипных действий.

  1. Что такое цикл? Перечислите составляющие и разновидности циклов.

Цикл – многократно повторяющийся участок алгоритма. Цикл включает заголовок цикла, тело цикла и конец цикла.

Циклы делятся на:

1.  Цикл с предусловием (условие выхода из цикла проверяется в начале перед действиями в теле цикла).

2.  Цикл с постусловием (условие выхода из цикла проверяется в конце после действий в теле цикла).

3.  Цикл с параметром (цикл выполняется фиксированное количество раз, определяемое параметром цикла).

  1. Какой вид имеет оператор цикла с предусловием и что он означает?

.  Оператор цикла с предусловием имеет вид:

while U do Op

где while – пока, do – делать, U – условие, Op – оператор.

Оператор означает, что пока условие U истинное, повторять оператор Op в цикле; как только условие станет ложным, выйти из цикла.

  1. Какой вид имеет оператор цикла с постусловием и что он означает?

Оператор цикла с постусловием имеет вид:

repeat

Op1;

OpN

until U

где repeat – повторять, until – до тех пор пока, Op1 – оператор 1-й, OpN – оператор N-й, U – условие.

Оператор означает, что повторять операторы Op1 и т.д., … OpN в цикле до тех пор, пока условие U не станет истинным; как только условие станет истинным, выйти из цикла.

  1. Какой вид имеет оператор цикла с параметром (при увеличении параметра) и что он означает?

.  Оператор цикла с параметром (при увеличении параметра) имеет вид:

for Par := Nz to Kz do Op

где for – для, to – до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.

Оператор означает, что для параметра Par , увеличивающегося от начального значения Nz до конечного значения Kz с шагом 1, повторять оператор Op в цикле.

  1. Какой вид имеет оператор цикла с параметром (при уменьшении параметра) и что он означает?

Оператор цикла с параметром (при уменьшении параметра) имеет вид:

for Par := Nz downto Kz do Op

где for – для, downto – вниз до, do – делать, Par – параметр цикла, Nz – начальное значение, Kz – конечное значение, Op – оператор.

Оператор означает, что для параметра Par , уменьшающегося от начального значения Nz до конечного значения Kz с шагом (-1), повторять оператор Op в цикле.

  1. Что такое параметр цикла? Может ли он быть целым числом, дробным числом?

Параметр цикла (или счётчик циклов) – переменная порядкового типа, которая изменяется в цикле от начального до конечного значения с каким-либо шагом.

  1. Напишите, что означает каждая строка в вышеприведённых программах.

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.

  1. Напишите программу к одной из задач дополнительного задания.

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

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.