Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Общие сведения

Лабораторная работа №2

Цель работы: научиться решать задачи на разветвляющиеся алгоритмы; научиться использовать в программах условный оператор if и оператор выбора case.

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

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

Пример. Дано действительное x. Для функции f, график которой представлен на рисунке, вычислить f(x).

 

Математическая модель: функция вычисляется по следующей формуле:

Составим схему алгоритма, детализировав все блоки (рис. 2).

 

Дальнейшая детализация не требуется. Переводим алгоритм на язык Паскаль.

Program example1; var x, f:Real; begin Write('Введите x: '); Readln(x); if x<-1 then f:= -x-1 else if (x>=-1) and (x<0) then f:= x-1 else if (x>=0) and (x<1) then f:= -x+1 else f:= x+1; Writeln('F= ',f:6:2); Readln; end.

 

Рис. 3. Блок-схема ветвления в 4-х направлениях

 

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

Задание 1. Используя оператор if, вычислить заданное выражение для данных типа Integer:

а) b)

c) d)

Задание 2. Найти алгоритм решения задачи и реализовать его с помощью оператора (операторов) if-then-else:

a) Составить программу, реализующую эпизод сказки: машина спрашивает, куда пойдет герой, и в зависимости от ответа (налево – (-1), прямо – 0, направо – 1), печатает, что произойдет с героем.

b) Морской бой. Машина задумывает два числа от 0 до 9. Игрок пытается их угадать, вводя свои два числа. Если они совпали (в любом сочетании), то игрок выиграл.

c) В Атлантическом океане терпит бедствие пассажирский теплоход «Посудина». Все пассажиры будут спасены, если на помощь успеют два судна. Судно продержится на плаву t часов. Скорость судов-спасателей 40 узлов. Составить программу, определяющую спасутся ли пассажиры. Известны расстояния от трех судов-спасателей до тонущего судна.

d) Через старый мост движется поток автомашин. Одновременно на мосту могут находиться 3 машины. Если на мост въедут 3 легковых или 2 легковых и грузовик – мост выдержит. Если 2 грузовика и легковая или 3 грузовика – рухнет.

 

Задание 3. Используя оператор выбора, составить программы решения следующих задач.

a) По номеру дня недели вывести на печать рабочий это день или выходной, считая выходными субботу и воскресенье.

b) По номеру месяца указать, к какому времени года он относится.

c) По номеру месяца вывести на печать количество дней в нем.

d) Единицы массы пронумерованы следующим образом: 1 — килограмм, 2 — миллиграмм, 3 — грамм, 4 — тонна. Дан номер единицы массы и масса тела M в этих единицах (M - вещественное число). Вывести массу данного тела в килограммах.

Дополнительные задания

1. Даны действительные числа a, b, c, x, y. Выяснить, пройдет ли кирпич с ребрами a,b,c в прямоугольное отверстие со сторонами x и y. Просовывать кирпич в отверстие разрешается только так, чтобы каждое из его ребер было параллельно или перпендикулярно каждой из сторон отверстия.

2. Сможет ли шар радиуса R пройти в ромбообразное отверстие со стороной P и острым углом Q?

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

1. Какие операторы используются для программирования развилок?

2. Как выполняются операторы условного перехода?

3. Какую из функций: Sin(x), Abs(x), Trunc(x) можно заменить условным оператором if x<0 then x:= -x?

4. Если выбор вариантов осуществляется из конечного числа элементов выбора, то лучше взять для этого оператор if или case?

5. Как заменить оператор case операторами if?

6. В чем преимущество оператора case от последовательности «коротких» операторов if?

7. Какой тип переменной можно использовать в качестве ключа оператора case?




Поделиться с друзьями:


Дата добавления: 2014-12-16; Просмотров: 2626; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.