Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник программирование 7-9 на печать.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
6.6 Mб
Скачать

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

Упр.13. Ввести два целых числа и вывести на экран наибольшее из них.

Упр. 14. Написать программу для подсчета суммы только положительных из трех данных чисел.

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

Упр. 16. Компьютер спрашивает: "Что сегодня нужно всем?" и если получает ответ ЭВМ, то пишет "Ну, конечно ЭВМ!", иначе "Это тоже нужно всем, но нужнее ЭВМ!"

Дома:

26. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»). Составить программу и блок-схему.

27. Найти количество отрицательных чисел среди четырех целых чисел A, B, C, D. Составить программу и блок-схему.

§ 11. Вложенные условные операторы

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

Упражнение 17. Развивая предельную скорость своего движения, жираф пробегает за 23 с 335,8 м. Заяц - за 55 с 918,5 м. Кто из этих животных чемпион по скорости?

program champion; var s1,s2,t1,t2,v1,v2:real; begin write ('Введите показатели жирафа s1, t1');

readln (s1,t1); write ('Введите показатели зайца s2, t2');

readln (s2,t2); v1:=s1/t1;

v2:=s2/t2; if v1=v2 then    writeln ('Победила дружба') else if v1>v2 then   writeln ('Жираф чемпион') else   writeln ('Заяц чемпион');

end.

Упражнение 18. Вычислить значение функции:

у=

Для решения этой задачи рассмотрим координатную прямую, на которой отметим промежутки, на которые разбиваются все значения переменной х.

x>0

x<0

x=0

x

Начнем записывать условный оператор:

если х>0

то вычислить у по формуле у=х-12

иначе

Что же должно выполниться в случае иначе? На эту ветку оператора попадают все не положительные значения х. Если бы для этих чисел нужно было бы выполнить один и тот же оператор (или группу операторов), то проблемы бы не стояло. Но нам нужно этот промежуток разделить еще на две части (отрицательные и ноль), и для части выполнить свой оператор. Поэтому ветка Иначе будет содержать еще один условный оператор и наш вложенный условный оператор будет иметь вид:

если х>0

то у=х-12

иначе

если х=0

то у= 5

иначе у=sqr(x);

if х>0

then у := х-12

else

if х=0

then у := 5

else у := sqr(x);

Домашние вопросы и задачи:

  1. Как организовать в алгоритме рассмотрение трех и более вариантов возможного продолжения программы? Приведите пример.

  2. Расскажите по шагам, как работает программа о чемпионе. Укажите все возможные варианты прохождения этого алгоритма. Насколько усложнился бы алгоритм при выборе одного из трех зверей?

Задачи:

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

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

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