Расчетное задание ИСТ-11. Задание на выполнение расчетнографической работы по дисциплине Технологии программирования
Скачать 168.48 Kb.
|
Вариант 12. Китайский гороскопКитайский гороскоп делит время на 12-летние циклы, и каждому году соответствует конкретное животное. Один из таких циклов приведен в табл. 7. После окончания одного цикла начинается другой, то есть 2012 год снова символизирует дракона. Таблица 7. Китайский гороскоп
Напишите программу, которая будет запрашивать у пользователя год рождения и выводить ассоциированное с ним название животного по китайскому гороскопу. При этом программа не должна ограничиваться только годами из приведенной таблицы, а должна корректно обрабатывать все годы нашей эры. Вариант 13. Шкала РихтераВ табл. 8 приведены диапазоны магнитуд землетрясений по шкале Рихтера с описаниями. Таблица 8. Шкала Рихтера
Ваша программа должна запрашивать у пользователя магнитуду землетрясения по шкале Рихтера и выводить на экран описание уровня, соответствующего введенному значению. Например, если пользователь введет значение 5,5, нужно вывести сообщение о том, что этой магнитуде соответствует умеренный уровень землетрясения. Задание № 4 Вариант 1. Билеты в зоопаркВ зоопарке цена входного билета зависит от возраста посетителя. Дети до двух лет допускаются бесплатно. Дети в возрасте от трех до 12 лет могут посещать зоопарк за $14,00. Пенсионерам старше 65 лет вход обойдется в $18,00, а обычный взрослый билет стоит $23,00. Напишите программу, которая будет запрашивать возраст всех посетителей в группе (по одному за раз) и выводить общую цену билетов для посещения зоопарка этой группой. В качестве индикатора окончания ввода можно по традиции использовать пустую строку. Общую цену билетов стоит выводить в формате с двумя знаками после запятой. Вариант 2. Биты четностиОпределение бита четности – это простой механизм выявления ошибок при передаче данных в условиях низкой надежности соединения, например по телефонной линии. Идея заключается в том, что после передачи каждых восьми бит следом отправляется бит четности, позволяющий определить наличие ошибки при передаче одного бита из восьми. При этом можно использовать как контроль четности, так и контроль нечетности. В первом случае бит четности, посылаемый следом за группой из восьми бит данных, выбирается таким образом, чтобы общее количество переданных единичек в числе восьми бит данных и проверочного бита было четным. Во втором случае их количество должно быть нечетным. Подсказка. Пользователь должен вводить последовательность в виде строки. После ввода вы можете определить количество нулей и единиц во введенной последовательности при помощи метода count. Информацию о работе этого метода можно найти в онлайне. Напишите программу, вычисляющую значение бита четности для групп из восьми бит, введенных пользователем, с использованием контроля четности. Пользователь может вводить комбинации из восьми бит бесконечное количество раз, а индикатором окончания ввода пусть снова будет пустая строка. После каждой введенной группы из восьми бит программа должна выводить на экран сообщение о том, чему должен равняться бит четности: 0 или 1. Также осуществляйте контроль ввода и выводите соответствующее сообщение об ошибке, если пользователь ввел последовательность, отличную от восьми бит. Вариант 3. Плата за таксиПредставьте, что сумма за пользование услугами такси складывается из базового тарифа в размере $4,00 плюс $0,25 за каждые 140 м поездки. Напишите функцию, принимающую в качестве единственного параметра расстояние поездки в километрах и возвращающую итоговую сумму оплаты такси. В основной программе должен демонстрироваться результат вызова функции. Подсказка. Цены на такси могут меняться со временем. Используйте константы для представления базового тарифа и плавающей ставки, чтобы программу можно было легко обновлять при изменении цен. Вариант 4. Расчет стоимости доставкиИнтернет-магазин предоставляет услугу экспресс-доставки для части своих товаров по цене $10,95 за первый товар в заказе и $2,95 – за все последующие. Напишите функцию, принимающую в качестве единственного параметра количество товаров в заказе и возвращающую общую сумму доставки. В основной программе должны производиться запрос количества позиций в заказе у пользователя и отображаться на экране сумма доставки. Вариант 5. Случайный номерной знакПредставьте, что в вашем регионе устаревшим является формат номерных автомобильных знаков из трех букв, следом за которыми идут три цифры. Когда все номера такого шаблона закончились, было решено обновить формат, поставив в начало четыре цифры, а за ними три буквы. Напишите функцию, которая будет генерировать случайный номерной знак. При этом номера в старом и новом форматах должны создаваться примерно с одинаковой вероятностью. В основной программе нужно сгенерировать и вывести на экран случайный номерной знак. Задание № 5 Вариант 1 Игра «Жизнь» Конвея — клеточный автомат для имитационного моделирования, позволяющий создавать интересные узоры на основе простых правил. Изобрел ее математик Джон Конвей в 1970 году, а сделала известной рубрика «Математические игры» Мартина Гарднера в журнале Scientific American. Программисты и специалист по вычислительной технике сегодня очень любят эту скорее интересную визуализацию, чем настоящую «игру». Двумерная доска содержит сетку из «клеток», которые все следуют трем простым правилам: живые клетки с двумя или тремя соседями остаются живыми на следующем шаге моделирования; мертвые клетки с ровно тремя соседями оживают на следующем шаге моделирования все прочие клетки умирают или остаются мертвыми на следующем шаге. Состояние клетки на следующем шаге моделирования (живая или мертвая) зависит только от текущего состояния. Клетки не «помнят» старых состояний. Существует множество исследований, посвященных узорам, генерируемым на основе этих простых правил. К сожалению, профессор Конвей умер от осложнений COVID-19 в апреле 2020 года. Больше информации об игре «Жизнь» вы можете найти в статье «Википедии» https://ru.wikipedia.org/wiki/Игра_«Жизнь». Колония клеток пусть задана множеством (set) пар координат (множество кортежей), например: Пример: colony = { (1,1), (2,1), (3,1), (3,2), (2,3) } 5.1 Напишите функцию count_neighbors(cell), которая возвращает количество соседей у клетки с координатами cell = (x, y). 5.2 Напишите функцию get_colony_area(colony), которая возвращает множество (set) клеток, граничащих с колонией, включая клетки, занятые колонией. 5.3 Напишите функцию next_generation(colony), которая возвращает множество (set) клеток следующего поколения, количество умерших и родившихся клеток. |