0% нашли этот документ полезным (0 голосов)
25 просмотров13 страниц

Lab 5

Документ описывает лабораторную работу по программированию на языке Python, состоящую из трех заданий. Первое задание включает создание программы, выводящей сообщение 'Hello, world!', а второе - разработку программы, которая взаимодействует с пользователем, запрашивая личные данные и вычисляя среднее арифметическое оценок. Третье задание связано с вычислением математического выражения с использованием модуля math и демонстрирует основные операции и синтаксис Python.

Загружено:

vecanew
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
0% нашли этот документ полезным (0 голосов)
25 просмотров13 страниц

Lab 5

Документ описывает лабораторную работу по программированию на языке Python, состоящую из трех заданий. Первое задание включает создание программы, выводящей сообщение 'Hello, world!', а второе - разработку программы, которая взаимодействует с пользователем, запрашивая личные данные и вычисляя среднее арифметическое оценок. Третье задание связано с вычислением математического выражения с использованием модуля math и демонстрирует основные операции и синтаксис Python.

Загружено:

vecanew
Авторское право
© © All Rights Reserved
Мы серьезно относимся к защите прав на контент. Если вы подозреваете, что это ваш контент, заявите об этом здесь.
Доступные форматы
Скачать в формате PDF, TXT или читать онлайн в Scribd
Вы находитесь на странице: 1/ 13

Лабораторная работа 5

«Простые программы на языке Python»

Задание 1. На языке Python реализовать программу, которая выводит сообщение «Hello,


world!». Это первая программа, которую пишут на новом языке программирования.

Порядок выполнения лабораторной работы


1. В папке IT создать новую папку Lab5, в которой будут храниться все программы
данной лабораторной работы.
2. Открыть среду для создания программ на языке Python (Пуск  Все программы
 Anaconda3(64-bit)  Spider). Закрыть выведенный в Окне кода файл temp.py

Вспомогательное окно

Окно кода

Консоль

Рис. 1. Консоль Python


3. Создать новый документ (Файл  Новый файл или нажать клавиши Ctrl+N),
сохранить его под именем z1 в папке Lab5, удалить из файла автоматически вставленные
строки.
4. Закрыть Вспомогательное окно, так чтобы на экране отображалось только Окно
кода и Консоль для вывода результатов (рис. 2)

Рис. 2. Консоль Python и новый файл


5. Реализовать программу, которая выводит пользователю сообщение «Hello, world!»
(рис. 3). Здесь и далее пояснение по синтаксису и семантике языка Python выделяются в
окрашенный серым цветом блок.

1
Для вывода текстовых сообщений используется оператор print(), в качестве
аргумента в двойных кавычках указывается текст сообщения. Следует отметить, что
синтаксис языка является регистрозависимым, то есть оператор print(), как и другие
ключевые слова и функции Python должны записываться строчными буквами. Например:
print("Hello, world!")
Если отдельные фрагменты программы требуют пояснений, необходимо использовать
комментарии. Однострочные комментарии начинаются с символа «#». Например:
# вывод сообщения пользователю
print("Hello, world!")

6. Запустить программу на выполнение в окне с документом (Запуск  Запуск или


нажать клавишу F5 или кликнуть по пиктограмме ), программа выполнится, и ее
результат отобразится на консоли (рис. 3).

Рис. 3. Код программы и результат ее выполнения

Задание 2. На языке Python реализовать программу, которая:


 спрашивает у пользователя его имя и группу, выводит приветствие на экран;
 спрашивает у пользователя его год рождения, выводит информацию о том, сколько лет
исполнится (исполнилось) пользователю в этом году;
 спрашивает у пользователя, какие оценки он получил за экзамены в зимнюю сессию,
выводит среднее арифметическое оценок;
 определяет, в какую группу успеваемости (отличник, хорошист, троечник, двоечник)
попал пользователь.

Порядок выполнения лабораторной работы


1. Создать новый документ (Файл  Новый файл или нажать клавиши Ctrl+N),
сохранить его в папке Lab5 под именем z2.
2. Реализовать программу, которая спрашивает у пользователя его имя (рис. 4а).
Для ввода данных используется оператор input(), который считывает строку текста,
введенную пользователем в консоли, и заносит ее в переменную. Например, следующий
оператор вводит строку текста и заносит ее в переменную name.
name = input()
Существует несколько правил для выбора имен переменных.

2
a. Имя состоит из букв или цифр, должно начинаться с буквы. Может включать
символ подчеркивания. Не может совпадать с ключевыми словами языка.
b. Имя является регистрозависимым (переменные x и X – разные переменные).
c. Имя переменной должно максимально четко соответствовать хранимым в ней
данным.
d. Использовать короткие имена рекомендуется только для переменных «местного
значения». Называть переменные именами, не несущими смысловой нагрузки, например
i, p – можно только в том случае, если они используются в небольшом фрагменте кода
и их применение очевидно. Например, использовать переменные i, j в качестве
управляющих переменных цикла это общепринятое обозначение, понятное всем.
e. Названия переменных, чтобы быть понятными, могут состоять из нескольких слов.
Переменные из нескольких слов пишутся вместеВотТак (первое слово с маленькой
буквы, остальные слитно и с большой). Например:
pointX
Этот способ записи называется «верблюжьей нотацией» или «camelCase».
Для вывода значения переменной используется оператор print(), например,
следующий оператор выведет на экран значение переменной name:
print(name)
С помощью оператора print() можно выводить строковые константы и значения
переменных одновременно, при выводе они разделяются запятой. Например:
print("Привет, ", name, "!")

3. Запустить программу на выполнение (кликнуть по пиктограмме или нажать


клавишу F5), подтвердить запрос о сохранении файла, занести в консоли входные данные,
результат показан на рис. 4б.

a) б)
Рис. 4. а) Запрос имени; б) результат
4. Самостоятельно добавить операторы ввода и вывода в программу так, чтобы
результат ее выполнения в консоли выглядел, как показано на рис. 5.

Рис. 5. Результат выполнения программы


5. Дописать программу так, чтобы пользователь, кроме имени и группы, вводил год
своего рождения, а программа вычисляла, сколько лет исполнится пользователю в этом году и
выводила значение (рис. 6а), результат после запуска и ввода входных данных показан на рис.
6б.
Для ввода числовых значений в переменные необходимо перед оператором ввода
input() указать тип значения (int или float). Например, следующий оператор вводит
целое значение в переменную year:

3
year = int(input())
Кроме того Python допускает использование подсказки пользователю непосредственно
в операторе input(). При использовании такой подсказки ввод данных пользователем
при выполнении программы будет осуществляться сразу после текста подсказки на той же
строке. Например, следующий оператор вводит целое значение в переменную year,
выдавая пользователю подсказку:
year = int(input("В каком году Вы родились? "))
Вычисление выражения и занесение его значения в некоторую переменную
осуществляется с помощью оператора присваивания. Например, следующий оператор
от текущего года отнимает введенное пользователем значение и результат заносит в
переменную age:
age = 2019 - year
В выражениях допустимо использовать арифметические операции (сложение «+»,
вычитание «-», умножение «*», деление «/», целочисленное деление «//», остаток от
деления «%», возведение в степень «**»).

a)

б)
Рис.6. а) запрос года рождения; б) результат

6. Выполнить проверку введенного пользователем значения года:


если год меньше, чем 1950, или больше, чем 2002
вывести сообщение об ошибке
иначе
вывести информацию о возрасте пользователя
Код программы показан на рис. 7, а результат выполнения при различных входных
данных – на рис. 8а и 8б.
Для реализации возможности выполнения различных действий в зависимости от
условия используется условный оператор if..else, синтаксис которого следующий:
if условие :
оператор
оператор

else :
оператор
оператор

4
где
условие – логическое выражение, которое может включать знаки отношений (равно
«==» (два подряд равенства), не равно «!=», больше «>», меньше «<», больше или равно
«>=», меньше или равно «<=»), логические операции (и «and», или «or», не «not»);
оператор – любые операторы, допустимые в языке Python.
После условия в операторе if и после else ОБЯЗАТЕЛЬНО ставится знак
двоеточие «:», который означает наличие вложенных конструкций.
Вложенные инструкции в Python записываются в соответствии с одним и тем же
шаблоном, когда основная инструкция завершается двоеточием, вслед за которым
располагается вложенный блок кода, обычно с отступом под строкой основной
конструкции.
Вложенные инструкции объединяются в блоки по величине отступов. Отступ может
быть любым, главное, чтобы в пределах одного вложенного блока отступ был одинаков
(обычно это 4 пробела).
В следующем примере Опрератор1 и Оператор2 относятся к вложенному блоку
Основной конструкции, а Оператор3 находится на уровне Основной
конструкции.
Основная конструкция:
Оператор1
Оператор2
Оператор3

а)
Рис. 7. Код программы

а) б)
Рис. 8. Результат выполнения программы при различных входных данных

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


пользователя его оценки за зимнюю сессию, оценки заносятся в переменные mark1, mark2,
mark3 и mark4 соответственно, осуществляется проверка правильности ввода оценок (оценка
не может быть меньше 2 и больше 5), если всё введено верно, то вычисляется среднее
арифметическое оценок. Результаты выполнения программы при различных входных данных
приведены на рис. 9.

5
а) б)
Рис. 9. Результат выполнения программы при различных входных данных

8. Далее необходимо определить, к какой группе успеваемости относится пользователь.


Это можно сделать по его минимальной оценке. Если минимальная оценка 5, то пользователь
является отличником, если 4 – хорошистом, если 3 – троечником, если 2 – двоечником.
Для определения минимальной оценки можно воспользоваться встроенной функцией
min(), в качестве аргументов которой через запятую перечисляются переменные, среди
значений которых нужно найти минимальное. Также к стандартным относится функция
max(),которая вычисляет максимальное значение из значений, перечисленных через
запятую аргументов.
Например, следующий оператор находит минимальное значение введенных оценок и
заносит его в переменную minMark:
minMark = min(mark1, mark2, mark3, mark4)
Для определения группы успеваемости можно воспользоваться конструкцией
if…elsif…else, которая реализует выполнение разных действий в зависимости от
нескольких условий:
if условие1 :
операторы

elif условие2 :
операторы

else :
операторы

Код программы показан на рис. 10а, результат – на рис. 10б. Вычисление минимальной
оценки и вывод группы успеваемости относится к вложенному блоку оператора if…else (в
котором проверялась правильность ввода оценок), поэтому перед каждым оператором стоит 4
пробела.

6
а) б)
Рис. 10. а) код программы; б) результат выполнения программы

Задание 3. Вычислить значение следующего выражения:


𝜋 𝑦 1 1
𝑙𝑛 𝑦 sin 𝑥 ∙ 𝑥 𝑥 cos tg
3 𝑧 √𝑧 1
𝑥 𝑦
для 𝑥 3.5, 𝑦 4.56, 𝑧 0.5;
𝑥 1, 𝑦 1, 𝑧 0.5.

Порядок выполнения лабораторной работы


1. Создать новый документ (Файл  Новый файл или нажать клавиши Ctrl+N),
сохранить его в папке Lab5 под именем z3.
2. Реализовать фрагмент программы, которая спрашивает у пользователя значения
переменных x, y, z (рис. 11а). Результат выполнения показан на рис. 11б.
Python допускает запись нескольких операторов на одной строке. Тогда эти операторы
должны разделяться точкой с запятой «;». Но делать это слишком часто не
рекомендуется, считается, что программу легче «читать», если каждый оператор
расположен на отдельной строке.

а) б)
Рис. 11. а) код программы; б) результат выполнения программы

Более простым и наглядным является способ, когда подсказка пользователю задается в


качестве аргумента input(), рис. 12.

а) б)
Рис. 12. а) код программы; б) результат выполнения программы

7
3. Подключить модуль math, который содержит множество функций для работы с
числовыми данными. Для этого в самом начале программы вставить оператор:
import math
В таблице 1 приведены некоторые из функций, реализованных в модуле math.
Таблица 1
Функция Описание
math.ceil(x) округление до ближайшего большего числа.
math.factorial(x) факториал числа x.
math.floor(x) округление вниз.
math.fmod(x, y) остаток от деления x на y.
math.trunc(x) усекает значение x до целого.
math.exp(x) ex.
math.log(x, логарифм x по основанию base. Если base не
[base]) указан, вычисляется натуральный логарифм.
math.log10(x) логарифм x по основанию 10.
math.log2(x) логарифм x по основанию 2.
math.pow(x, y) xy .
math.sqrt(x) квадратный корень из x.
math.acos(x) арккосинус x (x указывается в радианах).
math.asin(x) арксинус x (x указывается в радианах).
math.atan(x) арктангенс x (x указывается в радианах).
math.cos(x) косинус x (x указывается в радианах).
math.sin(x) синус x (x указывается в радианах).
math.tan(x) тангенс x (x указывается в радианах).
math.degrees(x) конвертирует радианы в градусы.
math.radians(x) конвертирует градусы в радианы.
math.pi pi = 3,1415926...
math.e e = 2,718281...
math.inf значение .

4. Записать арифметическое выражение, его результат занести в переменную result,


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

Рис. 13. Разбиение выражения на части

На рис. 14а приведен код программы, вычисляющий выражение, на рис. 14б – результат
ее выполнения для различных входных данных. Важно! Для наглядности отдельные фрагменты

8
программы рекомендуется отделять друг от друга пустыми строками, при необходимости
вставляя комментарии.
В коде программы используется две встроенных функции, не относящиеся к модулю
math, поэтому они записываются без префикса «math.»:
abs(x) – вычисляет модуль числа x;
round(x, n) - округляет число x до n знаков после запятой.

а) б)
Рис. 14. а) Код программы; б) результат выполнения программы

5. Для того чтобы в программе постоянно не писать префикс math перед названием
функции (math.sin()), можно в начале программы импортировать из модуля math все
функции (указать *) или перечислить нужные через запятую. В этом случае программа для
вычисления выражения будет выглядеть, как показано на рис. 15.

Рис. 15. Код программы с импортом функций


6. Данная программа не учитывает область определения вычисляемого выражения,
поэтому при её выполнении для некоторых значений переменных выдается ошибка (рис. 16).

Рис. 16. Результат выполнения программы с ошибкой

9
Самостоятельное задание 4. Дан треугольник, заданный координатами своих вершин.
Для этого треугольника вычислить (формулы для вычислений приведены в Приложении к
данной работе):
 длины сторон;
 периметр;
 площадь;
 величины углов в градусах.
Проверить возможность построения треугольника (сумма двух любых сторон больше
третьей), а также вывести тип треугольника: прямоугольный, тупоугольный, остроугольный.
При выводе чисел выполнить округление до трех знаков после запятой.

Порядок выполнения лабораторной работы


1. Создать новый документ (Файл  Новый файл или нажать клавиши Ctrl+N),
сохранить его в папке Lab5 под именем z4.
2. Реализовать программу, которая спрашивает у пользователя координаты вершин
треугольника ABC и заносит их в переменные Xa, Ya, Xb, Yb, Xc, Yc, затем вычисляет
необходимые характеристики треугольника и выводит их на экран. Примеры результата
выполнения программы для различных входных данных приведены на рис. 17 и 18.
Важно! Сравнение вещественных чисел на равенство можно осуществлять только с
заданной точностью (см. Лабораторную работу 5).

Рис. 17. Результат выполнения программы, задание 4

10
a) б)
Рис. 18. Результат выполнения программы для различных входных данных

11
Приложение
Формулы для расчетов

В задании 4 для вычисления характеристик треугольника, заданного его вершинами


𝐴 𝑥 , 𝑦 , 𝐵 𝑥 , 𝑦 , 𝐶 𝑥 , 𝑦 (рис. П1), используются приведенные ниже формулы.

Рис. П1. Треугольник ABC

1. Длины сторон:
𝐴𝐵 𝑐 𝑥 𝑥 𝑦 𝑦 ,
𝐵𝐶 𝑎 𝑥 𝑥 𝑦 𝑦 ,
𝐴𝐶 𝑏 𝑥 𝑥 𝑦 𝑦 .
2. Периметр:
𝑝 𝑎 𝑏 𝑐.
3. Площадь (формула Герона):
𝑝 𝑝 𝑝 𝑝
𝑠 ∙ 𝑎 ∙ 𝑏 ∙ 𝑐 .
2 2 2 2
4. Для вычисления углов используется теорема косинусов:
с 𝑎 𝑏 2 ∙ 𝑎 ∙ 𝑏 ∙ cos ∠𝐶 .
Выразим величины углы (значения будут получены в радианах):
𝑐 𝑏 𝑎
∠𝐴 𝑎𝑟𝑐𝑐𝑜𝑠 ,
2∙𝑐∙𝑏
𝑐 𝑎 𝑏
∠𝐵 𝑎𝑟𝑐𝑐𝑜𝑠 ,
2∙𝑐∙𝑎
𝑎 𝑏 𝑐
∠𝐶 𝑎𝑟𝑐𝑐𝑜𝑠
2∙𝑎∙𝑏
5. Вписанная в треугольник окружность.
Радиус вписанной окружности вычисляется по формуле:
𝑝 𝑝 𝑝
𝑎 ∙ 𝑏 ∙ 𝑐
𝑟 2 2 2 ,
𝑝
2
координаты центра вписанной окружности (𝑂 ):

12
𝑎∙𝑥 𝑏∙𝑥 𝑐∙𝑥 𝑎∙𝑦 𝑏∙𝑦 𝑐∙𝑦
𝑥 , 𝑦 .
𝑎 𝑏 𝑐 𝑎 𝑏 𝑐
6. Описанная вокруг треугольника окружность (рисунок 15).
Радиус описанной окружности вычисляется по формуле;
𝑎∙𝑏∙𝑐
𝑅 ,
4∙𝑠
координаты центра описанной окружности (𝑂 ):
𝐷 2∙ 𝑥 ∙ 𝑦 𝑦 𝑥 ∙ 𝑦 𝑦 𝑥 ∙ 𝑦 𝑦 ,

𝑥 𝑦 ∙ 𝑦 𝑦 𝑥 𝑦 ∙ 𝑦 𝑦 𝑥 𝑦 ∙ 𝑦 𝑦
𝑥 ,
𝐷
𝑥 𝑦 ∙ 𝑥 𝑥 𝑥 𝑦 ∙ 𝑥 𝑥 𝑥 𝑦 ∙ 𝑥 𝑥
𝑦 .
𝐷
7. Медианы треугольника.
Длины медиан вычисляются по формулам:
1
𝐴𝐴 𝑀 ∙ 2∙ 𝑐 𝑏 𝑎 ,
2
1
𝐵𝐵 𝑀 ∙ 2∙ 𝑐 𝑎 𝑏 ,
2
1
𝐶𝐶 𝑀 ∙ 2∙ 𝑎 𝑏 𝑐 ,
2
координаты точек пересечения медиан со сторонами (𝐴 , 𝐵 , 𝐶 ):
𝑥 𝑥 𝑦 𝑦
𝑥 , 𝑦 ;
2 2
𝑥 𝑥 𝑦 𝑦
𝑥 , 𝑦 ;
2 2
𝑥 𝑥 𝑦 𝑦
𝑥 , 𝑦 .
2 2

13

Вам также может понравиться