Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МЕтодичка по практическим работам.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
156.28 Кб
Скачать

If условие then оператор1 else оператор2

оператор1 выполняется при истинности условия, а оператор2 – в противном случае. Часть else может отсутствовать.

Оператор варианта:

case выражение do

набор_значений1: оператор1;

набор_значений2: оператор2;

. . .

набор_значенийN: операторN;

else оператор

end

Вычисляется выражение и его значение сравнивается с наборами значений. Если оно содержится в одном из наборов, выполняется соответствующий оператор. В противном случае выполняется оператор else-части. else-часть может отсутствовать.

Ввод данных с клавиатуры

readln(имя_переменной1,имя_переменной2,...)

Переменным присваиваются значения, набираемые на клавиатуре. Ввод продолжается до тех пор, пока не будет введено значение последней переменной списка. Разделитель между вводимыми значениями – пробел.

Вывод данных на экран:

writeln(выражение1,выражение2,...)

Значения выражений вычисляются и выводятся последовательно в текущую строку экрана. После вывода всех значений курсор переводится в начало следующей строки.

Пример выполнения

Даны действительные числа a, b, c (a<>0). Выяснить, имеет ли уравнение ax2+bx+c=0 действительные корни. Если имеет, найти их, если нет, выдать сообщение.

program Primer;

var A,B,C,D:real;

begin

writeln('введите через пробел A,B,C');

readln(A,B,C);

D:=B*B-4*A*C;

if D<0 then writeln('корней нет (D=',D,')');

if D=0 then writeln('корень:',-B/(2*A));

if D>0 then writeln('корни:', (-B+sqrt(D))/(2*A), ',',(-B-sqrt(D))/(2*A));

end.

Варианты заданий

Во всех заданиях задано вещественное x. Необходимо вычислить

1.

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

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

  1. Можно ли выполнять операцию деления (/) над переменными целого типа ?

  2. Какого типа будет результат выражения 15/4 ?

  3. Какие из приведенных ниже записей вещественных чисел являются неправильными и почему?

    7.

    6.1

    0.0

    .456

    0Е–2

    0.1Е–5

    5.3Е4

    2,1

    +2.3Е+3

    71

    0.31

    .0

  4. Какие из приведенных ниже записей являются правильными с точки зрения языка ПАСКАЛЬ?

    'А'<'С'

    '1'>'9'

    FALSE <TRUE

    'А'<'В' AND 1<2

    '0' OR '9'

    '1'+'9'

    1>'9'

    (D'>'G') AND (1<2)

  5. Какие из приведенных ниже выражений являются правильными, определить для них тип результата:

I*I+J*J+2*K/2

X<Y

SIN(X)+2*COS(Y)+Z

I+SQRT(J)

если известно, что I,J,K:INTEGER; X,Y,Z:REAL; A,B:BOOLEAN ?

  1. Какие из приведенных ниже операторов присваивания являются правильными:

X:=Y+SIN(SIN(Z));

A:=(X<Y)OR B AND(I<>J);

X:=I+J-B;

I:=I+K/J;

если известно, что I,J,K:INTEGER; X,Y,Z:REAL; A,B:BOOLEAN ?

  1. Записать приведенные ниже высказывания в виде выражений:

а) значение А принадлежит интервалу (8,33);

б) значение А не принадлежит отрезку [-2,0];

в) значение А принадлежит одному из отрезков: [-5,-4], [0,2];

г) точка с координатами (X, Y) лежит внутри круга с центром в начале координат и радиусом 2.3.

  1. Булевской переменной B присвоить значение TRUE, если значения переменных X и Y равны, FALSE – в противном случае.

Лабораторная работа 3. Программы с использованием циклов

Основные сведения

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

while условие do оператор

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

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

repeat

оператор1;

оператор2;

. . .

операторN

end

Сначала выполняется последовательность операторов, а затем проверяется условие. Если оно ложно, то снова выполняется последовательность операторов, и так до тех пор, пока условие не станет истинным. Независимо от изначальной истинности условия последовательность операторов выполняется хотя бы один раз.

Оператор цикла с возрастающим параметром

for параметр:=начальное_значение to конечное_значение do оператор

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