Задача 4. Перевести байты в килобайты или наоборот




Принять число с клавиатуры и перевести его в байты или килобайты — по выбору пользователя.

 

Определим изначально, что для перевода числа в байты пользователь вводит ‘b’, а в килобайты — ‘k’.

 

Алгоритм решения:

 

Шаг 1. Пользователь вводит значение.

Шаг 2. Пользователь выбирает единицы измерения.

Шаг 3. Если выбран перевод в байты, умножить число на 1024.

Шаг 4. Если выбран перевод в килобайты, разделить число на 1024.

В этой задаче пользователь может ввести что угодно, поэтому нельзя оставлять второй случай без проверки, т.е. использовать исключительно ветку else. Нужно использовать либо две отдельные ветки if, либо вложенное в else второе if-условие. Второй вариант предпочтителен с точки зрения оптимизации кода: если сработал первый if, второй проверяться не будет.

 

Ещё проще решить эту задачу, если вместо if использовать оператор выбора case.

Блок-схема алгоритма:

Программный код на Python:

n = int(input("Число: ")) change_type = input("Перевести в байты (b) или килобайты (k): ") if change_type.lower() == 'b': print(f"{n} Кб = {n * 1024} байт") elif change_type.lower() == 'k': print(f"{n} байт = {n / 1024} Кб")


Результат работы программы:

 

Подведем итоги:

1. Программирование — это не просто решение практических задач, но также поиск и выбор оптимального способа решения.

2. Не изобретайте велосипед. Пользуйтесь тем, что уже разработано, и оптимизируйте алгоритм под свои задачи.

3. Когда задача решена, подумайте, как усовершенствовать код. Он может пригодиться вам и в других проектах.

 

Домашнее задание

1. Изучите теоретический материал

2. Для каждой из 8 задач, приведенных ниже нужно:

a. Составить графическое представление алгоритма в виде блок-схемы на сайте www.draw.io с использованием фигур набора GENERAL - для каждой задачи на отдельной странице (страницы к документу добавляются как в excel – нажатием знака + внизу страницы). При изображении ветвления, помечать ветви при истинности условия словом «да», при ложности – словом «нет». При сохранении документа он скачивается в виде файла в формате.xml

b. Написать программную реализацию в программе PyCharm (или др.) – для каждой задачи отдельный файл в формате.py

3. Созданные файлы (один.xml и 8.py) упаковать в архив и выслать мне на проверку на почту juneority@mail.ru с указанием своей фамилии и класса в теме письма.

 

ЗАДАЧИ:

1. Найти сумму и произведение цифр трехзначного числа, которое вводит пользователь.

 

2. По введенным пользователем координатам двух точек вывести уравнение прямой вида
y = kx + b, проходящей через эти точки.

 

3. Написать программу, которая генерирует в указанных пользователем границах

● случайное целое число,

● случайное вещественное число,

● случайный символ.

Для каждого из трех случаев пользователь задает свои границы диапазона. Например, если надо получить случайный символ от 'a' до 'f', то вводятся эти символы. Программа должна вывести на экран любой символ алфавита от 'a' до 'f' включительно.

 

4. Пользователь вводит две буквы. Определить, на каких местах алфавита они стоят, и сколько между ними находится букв.

 

5. Пользователь вводит номер буквы в алфавите. Определить, какая это буква.

 

6. По длинам трех отрезков, введенных пользователем, определить возможность существования треугольника, составленного из этих отрезков. Если такой треугольник существует, то определить, является ли он разносторонним, равнобедренным или равносторонним.

 

7. Определить, является ли год, который ввел пользователь, високосным или не високосным.

Високосным является год, номер которого кратен четырём, но те из них, которые кратны 100 являются високосными только когда делятся ещё и на 400.

Отсюда следует распределение високосных годов:

· год, номер которого кратен 400, — високосный;

· остальные годы, номер которых кратен 100, — невисокосные;

· остальные годы, номер которых кратен 4, — високосные.

Последние годы столетий, оканчивающиеся на два нуля, в трёх случаях из четырёх не являются високосными. Так, годы 1700, 1800 и 1900 не являются високосными, так как они кратны 100 и не кратны 400. Годы 1600 и 2000 — високосные, так как они кратны 400. Годы 2100, 2200 и 2300 — невисокосные. В високосные годы вводится дополнительный день — 29 февраля.

Предыдущим високосным годом был 2016 год, следующим високосным годом будет 2020 год.

 

8. Вводятся три разных числа. Найти, какое из них является средним (больше одного, но меньше другого).

 

Примечания ко всем задачам урока:

  1. Решайте задачу при помощи линейного алгоритма или алгоритма с ветвлением (без циклов, рекурсии и массивов).
  2. Если речь идёт о символах, используйте только строчные буквы английского алфавита.
  3. Пример оформления блок-схем находится в прикрепленном файле Блок-схемы для примера.xml


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: