Учебная страница курса биоинформатики,
год поступления 2015
Практикум 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 не обязательно!)