Skip to content

Практическая работа №1

Закрепить навыки разработки последовательных алгоритмов и их реализации на языке Python с использованием переменных, базовых типов данных, операций ввода и вывода, арифметических операций, целочисленного деления и остатка от деления.

Основные теоретические положения

Section titled “Основные теоретические положения”

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

Общая схема:

Входные данные -> Вычисления -> Промежуточные результаты -> Результат

Простейшая программа на Python:

name = input("Введите имя: ")
age = int(input("Введите возраст: "))
print("Имя:", name)
print("Возраст:", age)

Для числовых вычислений используются арифметические операции:

a + b # сложение
a - b # вычитание
a * b # умножение
a / b # обычное деление
a // b # целочисленное деление
a % b # остаток от деления
a ** b # возведение в степень

Например, для перевода количества секунд в часы, минуты и секунды:

seconds = 7384
hours = seconds // 3600
minutes = (seconds % 3600) // 60
seconds_left = seconds % 60
print(hours, minutes, seconds_left)

Важный алгоритмический принцип

Section titled “Важный алгоритмический принцип”

Перед написанием программы необходимо определить:

  1. Что дано?
  2. Что требуется получить?
  3. Какие вычисления необходимо выполнить?
  4. В каком порядке они должны выполняться?

Общие требования к выполнению практической работы

Section titled “Общие требования к выполнению практической работы”

Для каждой основной задачи необходимо:

  1. Ознакомиться с условием.
  2. Определить входные и выходные данные.
  3. Составить словесное описание алгоритма.
  4. При необходимости представить алгоритм в виде блок-схемы.
  5. Реализовать алгоритм на Python.
  6. Проверить программу не менее чем на двух наборах входных данных.
  7. Сделать вывод о результате выполнения.

Не следует сразу переходить к написанию кода. Основная цель работы — научиться сначала строить алгоритм.

Основные задачи 1–6 являются обязательными. Дополнительный блок рекомендуется выполнить полностью; при нехватке времени преподаватель может выбрать 2–3 задачи из него.


Задание для выполнения

Section titled “Задание для выполнения”

Часть 1. Основные задачи

Section titled “Часть 1. Основные задачи”

Задача 1. Характеристики компьютера

Section titled “Задача 1. Характеристики компьютера”

Пользователь вводит:

  • объём оперативной памяти в ГБ;
  • объём накопителя в ГБ;
  • количество ядер процессора;
  • тактовую частоту процессора в ГГц.

Необходимо вывести введённые характеристики в виде краткого отчёта.

Дополнительно вычислить условный показатель:

количество ядер × тактовая частота

Требование: отдельно определить входные данные, вычисляемые значения и выходные данные.


Задача 2. Свободное место на диске

Section titled “Задача 2. Свободное место на диске”

Пользователь вводит общий объём диска и объём занятого пространства в ГБ.

Определить:

  • объём свободного пространства;
  • процент занятого пространства;
  • процент свободного пространства.

Результат вывести с поясняющими подписями.

Например:

Общий объём: 512 ГБ
Занято: 320 ГБ
Свободно: 192 ГБ
Занято: 62.5 %
Свободно: 37.5 %

Задача 3. Перевод времени

Section titled “Задача 3. Перевод времени”

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

Перевести это значение в часы, минуты и секунды.

Например:

Ввод:
7384
Результат:
2 ч. 3 мин. 4 сек.

Обязательно использовать операции // и %.

После реализации проверьте программу для:

  • 60 секунд;
  • 3600 секунд;
  • 7384 секунд;
  • 86399 секунд.

Задача 4. Перевод объёма данных

Section titled “Задача 4. Перевод объёма данных”

Пользователь вводит объём данных в байтах.

Определить этот объём:

  • в килобайтах;
  • мегабайтах;
  • гигабайтах.

В данной задаче использовать:

1 КБ = 1024 байта
1 МБ = 1024 КБ
1 ГБ = 1024 МБ

Результат вывести в удобном для чтения виде.


Задача 5. Расчёт стоимости оборудования

Section titled “Задача 5. Расчёт стоимости оборудования”

Пользователь вводит стоимость трёх комплектующих компьютера:

  • процессора;
  • оперативной памяти;
  • накопителя.

Необходимо вычислить:

  • общую стоимость;
  • стоимость с учётом фиксированной скидки 10 %;
  • размер полученной скидки.

Задача 6. Покупка и сдача

Section titled “Задача 6. Покупка и сдача”

Пользователь вводит стоимость товара и сумму денег, внесённую покупателем.

Необходимо определить:

  • размер сдачи;
  • количество купюр номиналом 1000 рублей;
  • оставшуюся сумму;
  • количество купюр номиналом 500 рублей;
  • оставшуюся сумму;
  • количество купюр номиналом 100 рублей.

Предполагается, что сумма покупки не превышает внесённую сумму.

Для решения использовать // и %.


Часть 2. Дополнительный алгоритмический блок

Section titled “Часть 2. Дополнительный алгоритмический блок”

Задачи этого блока предназначены для углублённой отработки алгоритмического мышления. Они не требуют новых конструкций Python.

Задача 7. Площадь и периметр помещения

Section titled “Задача 7. Площадь и периметр помещения”

Пользователь вводит длину и ширину помещения в метрах.

Определить:

  • площадь помещения;
  • периметр;
  • количество упаковок напольного покрытия.

Известно, что одна упаковка рассчитана на 2.4 м².

Сначала вычислить требуемую площадь покрытия, затем определить количество полных упаковок и остаток площади.

Дополнительное требование: придумать способ округления количества упаковок вверх, не используя специальные функции округления.


Задача 8. Разложение количества секунд

Section titled “Задача 8. Разложение количества секунд”

Пользователь вводит количество секунд.

Представить его в виде:

дни, часы, минуты, секунды

Например:

90061 секунд
= 1 день 1 час 1 минута 1 секунда

Составьте алгоритм самостоятельно, не копируя решение из задачи 3.


Задача 9. Расход интернет-трафика

Section titled “Задача 9. Расход интернет-трафика”

Пользователь вводит:

  • количество скачанных файлов;
  • средний размер одного файла в МБ;
  • количество дней использования подключения.

Определить:

  • общий объём скачанного трафика в МБ;
  • общий объём в ГБ;
  • средний расход трафика за день.

Задача 10. Расчёт времени работы оборудования

Section titled “Задача 10. Расчёт времени работы оборудования”

Сервер выполнил несколько одинаковых операций.

Пользователь вводит:

  • количество операций;
  • среднее время выполнения одной операции в секундах.

Определить общее время выполнения всех операций и представить результат в часах, минутах и секундах.


Часть 3. Самостоятельная задача

Section titled “Часть 3. Самостоятельная задача”

Придумайте собственную задачу на последовательный алгоритм, связанную с вычислениями.

Условие должно содержать:

  • не менее трёх входных данных;
  • не менее двух вычислений;
  • понятный результат.

Для задачи необходимо представить:

  1. условие;
  2. входные данные;
  3. выходные данные;
  4. алгоритм;
  5. блок-схему;
  6. программу на Python;
  7. минимум два теста.

  1. Что такое последовательный алгоритм?
  2. Какие данные называются входными?
  3. Какие данные называются выходными?
  4. Чем отличается оператор / от //?
  5. Для чего используется оператор %?
  6. Как преобразовать количество секунд в часы, минуты и секунды?
  7. Почему перед написанием программы полезно определить входные и выходные данные?
  8. В каких задачах удобно применять остаток от деления?
  9. Чем алгоритм отличается от программы?
  10. Зачем проводить тестирование программы на нескольких наборах данных?