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

Лабораторная работа № 2 Структурные операторы. Условный оператор.

Цель работы. Знакомство с работой опeрaтора if. . .then…, оператора if. . .then…else… и вложенных операторов if. . .then…else…

Краткая теория.

Выполнение условного оператора начинается с вычисления значения логического выражения, записанного в условии. Простые условия записываются в виде неравенств или равенств (например, if a>b then writeln (‘Число а – большее из двух’) else writeln (‘Число b – большее из двух’)). Сложные условия составляют из простых с помощью логических операций NOT, AND, OR (например, , if (a>b) and (a<>b) then writeln (‘Число а – большее из двух’) else writeln (‘Число b – большее из двух’)). Логическое выражение принимает одно из двух возможных значений – TRUE (истина) или FALSE (ложь). Если условие истинно, то выполняется <оператор1>, в противном случае - <оператор2>. Если в качестве оператора должна выполниться серия операторов, то они объединяются в операторные скобки begin-end.

Ветвь ELSE может отсутствовать, если в случае невыполнения условия ничего делать не надо (if C=0 then writeln (‘ температура замерзания воды’)). Разбор оператора можно выполнить на следующем примере.

Написать программу, проверяющую, принадлежит ли число, введенное с клавиатуры, интервалу (0,5).

Обозначим: х – число, вводимое с клавиатуры пользователем. Принадлежность числа х интервалу (0,5) определяется следующей системой неравенств:

0 5

Х принадлежит заданному интервалу лишь в том случае, если одновременно выполняются оба условия.

Program Primer2;

Var x: integer;

Begin

Writeln (‘Введите число x’);

Readln (x); {вводим целое число}

If (x>0) and (x<5) then writeln (x, ‘принадлежит интервалу’)

Else writeln (x, ‘не принадлежит интервалу’);

End.

Часто приходится выбирать путь решения задачи не из двух, а из нескольких возможных. Это можно реализовать, используя несколько условных операторов. В этом случае после служебных слов Then и Else записывается новый условный оператор. Если элементами вложенных условных операторов служат неполные условные операторы, то могут возникать неясности, связанные с установлением границ условных операторов. В таких случаях служебное слово else относится к ближайшему if.

Пример. Даны целые числа а, b, c. Если a≤b≤c, то все числа заменить их квадратами, если a>b>c, то каждое число заменить наибольшим из них, в противном случае сменить знак каждого числа (а=а2, b=b2, c=c2 - если a≤b≤c; а=с, b=с - если a>b>c; а= -а, b= -b, с= -с – в остальных случаях).

Program Primer3;

Var a,b,c: integer;

Begin

Writeln (‘Введите числа a,b,c’);

Readln (a,b,c);

If (a<=b) and (b<=c) then

begin

a:=sqr(a); b:=sqr(b); c:=sqr(c)

end

Else if (a>b) and (b>c) then

begin

a:=c; b:=c

end

else

begin

a:=-a; b:=-b; c:=-c

end;

Writeln (a:3,b:3,c:3);

Readln;

End.

Решение задач.

  1. Запишите программу в которой значение переменной вычисляется по формуле: A+B, если А – нечетное и A*B, если А – четное.

  2. Вычислить значение функции .

  3. Найти наибольшее из трех данных чисел.

  4. Вывести на экран номер четверти, которой принадлежит точка с координатами (х,у), при условии, что х и у отличны от 0.

  5. Вычислить значение функции

  6. Даны три целых числа, найти среднее из них. Средним назовем число, которое больше наименьшего из данных чисел, но меньше наибольшего.

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

  8. Даны три числа. Написать программу, подсчитывающую количество чисел, равных 0.

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

  10. Если целое число М делится на целое число К, то вывести на экран частное от деления, в противном случае – сообщение «М на К нацело не делится».

  11. Найти количество положительных чисел среди четырех целых чисел a,b,c,d.

  12. Составить программу, которая определила бы вид треугольника.

  13. Составить программу, в которой если число является четным, то вывести «ДА», иначе вывести «НЕТ».

  14. Составить программу, в которой если число делится на 5, то вывести целую часть от деления.

  15. Даны действительные числа a, b, c. Проверить, выполняются ли неравенства a<b<c.

  16. Даны действительные числа a, b, c. Удвоить эти числа, если a≥b≥c и заменить их абсолютными значениями, если это не так.

  17. Даны два действительных числа. Вывести первое число, если оно больше второго, и оба числа, если это не так.

  18. Даны три числа, выбрать из них те, которые принадлежат интервалу (1,3).

  19. Даны действительные числа х, у (х≠у). Меньшее из этих двух чисел заменить их полусуммой, а большее их удвоенным произведением.

  20. Если сумма трех различных чисел x, y, z меньше единицы, то наименьшее из этих трех чисел заменить полусуммой двух других, в противном случае заменить меньшее из х и у полусуммой двух оставшихся значений.

  21. Даны действительные числа х, у. Если х и у отрицательны, то каждое значение заменить его модулем; если отрицательно только одно из них, то оба значения увеличить на 0,5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0,5, 2,0], то оба значения уменьшить в 10 раз; в остальных случаях х и у оставить без изменения.

  22. Даны действительные числа a,b,c,d. Если a≤b≤c≤d, то каждое заменить наибольшим из них; если a>b>c>d, то числа оставить без изменения; в противном случае все числа заменяются их квадратами.

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

  24. Составить программу, которая уменьшает первое число в пять раз, если оно больше второго по абсолютной величине.

  25. Найти количество отрицательных чисел среди четырех целых чисел a,b,c,d.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]