Практикум 7. Задания.
Всем заданиям присвоены мнемоники, указанные после названий. Мнемоники заданий подчеркнуты. Каждую программу (после того, как убедитесь, что она правильно работает!) кладите в файл "~/term1/block3/credits/Family_pr7_mnemonics.py" где ~ — ваша домашняя папка (не путать с папкой public_html!), Family — ваша фамилия латинскими буквами с большой буквы, а mnemonics — мнемоника, указанная в задании. Пример: ~/term1/block3/credits/Pupkin_pr7_hello.py.
Протокол ~/term1/block3/credits/Pupkin_pr7_protocol.doc нужен для ответов на дополнительные задания (обозначены звёздочкой *).
Регистр букв в имени файла, как в задании. Не ошибайтесь с именем файла, иначе мы не увидим решение! Например, если вместо "protein-length" в имени будет 'protein_length", то задание зачтено не будет.
Когда в задании говорят "печатает", имеется в виду вывод на консоль (точнее, в стандартный выходной поток, например при помощи print), а не вывод на принтер :)
См. советы и подсказки.
1. Hello world. Мнемоника: hello
Написать программу, печатающую текст "What is your name?". После этого пользователь вводит своё имя, нажимает Enter и программа печатает "Hello, Vasya!", где Vasya — это имя, которое ввёл пользователь.
Пример входа:
Vasya
Пример выхода:
What is your name? Hello, Vasya!
2. Длина белка. Мнемоника: protein-length
Программа открывает файл "cds.txt" и считывает два натуральных числа, первое из первой строки файла, второе из второй строки. Считая эти числа номерами первого и последнего нуклеотида открытой рамки считывания (с учётом стоп-кодона), программа рассчитывает и печатает длину соответствующего белка.
(*) дополнительный бонус, если ваша программа будет выдавать положительное число и в случаях, когда первое число больше второго (открытая рамка на комплементарной цепи).
Пример содержимого файла "cds.txt":
1 300
Пример выхода:
99
3. Сколько цифр в числе? Мнемоника: number-length
Програма открывает файл "numbers.txt" и считывает два натуральных числа, A из первой строки, B из второй. Программа возводит A в степень B и печатает число цифр в записи полученного числа.
Пример содержимого файла "numbers.txt":
2 100
Пример выхода:
31
(*) Что больше: 33 в степени 33 или 32 в степени 34?
4. Гипотенуза. Мнемоника: hypotenuse
В файле catheti.txt находятся два действительных числа a и b. Выведите гипотенузу треугольника с катетами a и b.
Пример содержимого файла "catheti.txt":
3 4
Пример выхода:
5.0
5. Последняя цифра. Мнемоника: last-digit
Программа печатает "Enter a natural number:". Пользователь вводит число, после чего программа печатает его последнюю цифру, объясняя, что это такое.
Пример входа:
205
Пример выхода:
Enter a natural number: The last digit of your number is 5.
6. Повтор. Мнемоника: repeat
В файле "RepeatMe.txt" находятся: в первой строке — любой набор символов (слово T), во второй — натуральное число N. Программа печатает слово T, повторённое N раз через запятую. После последнего повтора запятая не печатается.
Пример содержимого файла "RepeatMe.txt":
AAA 5
Пример выхода:
AAA,AAA,AAA,AAA,AAA
Для этого задания понадобится (пропущенная на лекции по моей (С.А.С.) забывчивости) операция умножения строки на число, см. в подсказках.
7. Экспонента натурального числа. Мнемоника: exp
Программа печатает "Enter a natural number:". Пользователь вводит число, после чего программа печатает целое число — экспоненту введённого числа, округлённую до целого по стандартным правилам, с объяснением, что это такое.
Пример входа:
8
Пример выхода:
exp(8) is approximately 2981
8. Вершина параболы. Мнемоника: parabola
Дана формула параболы: y = x2 + bx + c .
Абсцисса вершины рассчитывается по формуле: x = --b/2 .
Программа получает из файла "parabola.txt" действительные числа b и c и печатает координаты вершины в круглых скобках.
Пример содержимого файла "parabola.txt":
-1 0.25
Пример выхода:
(0.5, 0.0)
9. Реакция нейтрализации. Мнемоника: neutralization
Смешали A моль кислоты HCl и B моль щелочи KOH. Произошла реакция нейтрализации. Избыточный реагент остался в растворе.
Программа, задавая подходящие вопросы, получает от пользователя числа A и B и распечатывает состав раствора, образовавшегося в результате реакции нейтрализации, то есть количество моль HCl, КОН и KCl.
Пример входа:
0.1 0.2
Пример выхода:
0 HCl 0.1 KOH 0.1 KCl
(*) 10а. Пирожки. Мнемоника: pie
Пирожок в столовой стоит a рублей и b копеек. Определите, сколько рублей и копеек нужно заплатить за n пирожков. Программа получает на вход (любым способом, но этот способ должен быть описан в протоколе) три числа: a, b, n, и должна вывести два числа: стоимость покупки в рублях и копейках.
Пример входа:
10 55 2
Пример выхода:
21 r. 10 k.
(*) 10б. Булочки. Мнемоника: cookie
Булочка в столовой стоит a рублей и b копеек. У Семёна есть c рублей и d копеек. Определите, какое наибольшее количество булочек может купить Семён.
Пример входа:
10 55 22 0
Пример выхода:
2
(*) 11. День недели. Мнемоника: week
Обозначим дни недели следующими числами: 1 — понедельник, 2 — вторник, ... 6 — суббота, 7 — воскресенье. Программа получает день недели, на который пришлось первое января в этом году (от 1 до 7 включительно), и номер текущего дня в году (от 1 до 365). Год не високосный. Распечатать, на какой день недели приходится текущий день (число от 1 до 7).
Пример входа (первое января — четверг, сегодня 30 января):
4 30
Пример выхода (30 января — пятница):
5
(*) 12. Задание. Найти новые операции с типами int, float и str. Описать в протоколе их суть и примеры использования.
(**) 13. Задания 1-3 со страницы факультатива по python (для выполнения 3 знать str.ljust, str.rjust, str.center не обязательно!)