Файл: Лабораторная работА ( ii семестр) Тема Основы программирования на Python 2 Методические указания по выполнению лр.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 04.12.2023
Просмотров: 65
Скачиваний: 3
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Виды используемых циклов.
1.Цикл while (“пока”). Позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.
2.Цикл for, также называемый циклом с параметром, в языке Питон богат возможностями. В цикле for указывается переменная и множество значений, по которому будет пробегать переменная. Множество значений может быть задано списком, кортежем, строкой или диапазоном (будет рассматриваться в следующей лабораторной работе).
Пример. Вывод таблицы значений функции
Постановка. Вывести таблицу значений заданной функции на отрезке и с шагом, которые вводит пользователь.
Пусть функция будет такой: y = -3x2 - 4x + 20.
Метод решения.
-
Запросить у пользователя точки начала и конца отрезка, а также шаг. -
Если значение точки начала отрезка больше значения точки конца, то поменять значения. -
Пока значение первой точки не достигнет второй -
вычислить значение функции, -
вывести на экран текущие значения x и y, -
увеличить значение первой точки на шаг.
Реализация на Python
Проверка результата:
Точка начала отрезка: 6
Точка конца отрезка: 10.5
Шаг: 0.7
Функция: y = -3x**2 - 4x + 20
x y
6.00 | -112.00
6.70 | -141.47
7.40 | -173.88
8.10 | -209.23
8.80 | -247.52
9.50 | -288.75
10.20 | -332.92
Здесь использовались форматы вывода:
1.3 Пример выполнения лабораторной работы
Задание 1. Составить программу линейного алгоритма для вычисления значения:
Составляем программу:
Результат:
Примечание. В комментариях следует указать автора, т.е. кто выполнил (свою фамилию и номер группы), а также все переменные. В случае если по каким-либо причинам не укажете, то оценка за работу будет снижена.
Задание 2. Составить программу разветвляющего алгоритма вычисления значения:
Составляем программу:
Результат:
Задание 3. Пример 3. Составить программу нахождения суммы следующего выражения:
где x - любое не равное нулю и единице число
Составляем программу:
Результат:
1.4 варианты для выполнения лабораторной работы
Задание №1: Разработайте линейный алгоритм и представьте его в графическом виде (блок-схемы). Вычислить значение выражения s при заданных исходных данных.
Указание. Для упрощения выражений можно ввести промежуточные переменные.
Вариант | Исходные данные | Функция |
1 | x = 14.26 y = – 1.22 z = 3.5 | |
2 | x = –4.5 y = 0.75 z = –0.845 | |
3 | x = 3.74 y= –0.825 z = 0.16 | |
4 | x = 0.4 y = –0.875 z = –0.475 | |
5 | x = –15.246 y = 4.642 z = 21 | |
6 | x = 16.55 y = –2.75 z = 0.15 | |
7 | x = 0.1722 y = 6.33 z = 3.25 | |
8 | x = –2.235 y = 2.23 z = 15.221 | |
9 | x = 1.825 y = 18.225 z = –3.298 | |
10 | x = 3.981 y = –1.625 z = 0.512 | |
11 | x = 6.251 y = 0.827 z = 25.001 | |
12 | x = 3.251 y = 0.325 z = 0.466 | |
13 | x = 17.421 y = 10.365 z = 0.828 | |
14 | x = 12.3 y = 15.4 z = 0.252 | |
15 | x = 2.444 y = 0.869 z = –0.13 | |
16 | x = –1,42 y = 1,22 z = –1,82 a = –18,25 | |
17 | a = 1,378 b = –2,2 | |
18 | x = –0,765 a = 3,2 b = 17,5 p = 0,137 | |
19 | x = –1,42 y = 1,22 x = 1,71 m = –2,2 | |
20 | x = 0,515 c = 3,75 b = 0,0002 a = 0,17 x = 7,75 | |
Задание №2: Разработайте алгоритм разветвляющего процесса и представьте его в графическом виде (блок-схемы). Вычислить значение выражения y при заданных исходных данных.
Указание. Для упрощения выражений можно ввести промежуточные переменные.
Вариант | Исходные данные | Функция |
1 | z = 2,3 x= -4,5 | |
2 | a = -3,14 x= -5,7 | |
3 | a = 0,12 b = –4,4 | |
4 | с = 0,04 x = 31 | |
5 | L = 6,2 x= 0,2 | |
6 | a = 2,8 x = 5,3 | |
7 | a = 0,01 b = –2 x = –3,6 | |
8 | a = 98,3 b = 4,5 x = 1,8 | |
9 | a = 2,81 b = 5,96 x = 3,2 | |
10 | a = 4,4 x= –7,5 | |
11 | a = 2 x = 9,9 | |
12 | a = 11,3 x = 2,2 | |
13 | a = 0,1 x = 2 | |
14 | a = 7,13 b = 0,91 x = –4,4 | |
15 | w = 1,2 x = 3,1 | |
16 | d = 2,5 x = –25,1 | |
17 | b = 0,91 x = 19 | |
18 | k = 9,1 x = 1,9 | |
19 | a = 3,8 x = –5,1 | |
20 | a = 98,3 b = 4,5 x = 1,8 | |
Задание №3: Разработайте циклический алгоритм вычисления суммы (произведения ) конечного числа элементов ряда и представьте его в графическом виде (блок-схемы).
Вычислить значение выражения при заданных исходных данных.
Вариант | Исходные данные | Функция |
1 | x=3 | |
2 | x=4 | |
3 | ничего не вводится | |
4 | x=3 | |
5 | x=5 | |
6 | x=3 | |
7 | ничего не вводится | |
8 | ничего не вводится | |
9 | x=5 | |
10 | ничего не вводится | |
11 | a = 3 b = 2 | |
12 | x =4 | |
13 | ничего не вводится | |
14 | x =4 | |
15 | b = 2 х = 3 | |
16 | x = 3 | |
17 | b = 5 х = 3 | |
18 | a = 3 х = 3 | |
19 | x = 3 | |
20 | x = 4 | |
ПРИЛОЖЕНИЕ 1.
Функционал модуля Math
math.ceil(X) – округление до ближайшего большего числа.
math.copysign(X, Y) - возвращает число, имеющее модуль такой же, как и у числа X, а знак - как у числа Y.
math.fabs(X) - модуль X.
math.factorial(X) - факториал числа X.
math.floor(X) - округление вниз.
math.fmod(X, Y) - остаток от деления X на Y.
math.frexp(X) - возвращает мантиссу и экспоненту числа.
math.ldexp(X, I) - X * 2i. Функция, обратная функции math.frexp().
math.fsum(последовательность) - сумма всех членов последовательности. Эквивалент встроенной функции sum(), но math.fsum() более точна для чисел с плавающей точкой.
math.isfinite(X) - является ли X числом.
math.isinf(X) - является ли X бесконечностью.
math.isnan(X) - является ли X NaN (Not a Number - не число).
math.modf(X) - возвращает дробную и целую часть числа X. Оба числа имеют тот же знак, что и X.
math.trunc(X) - усекает значение X до целого.
math.exp(X) - eX.
math.expm1(X) - eX - 1. При X → 0 точнее, чем math.exp(X)-1.
math.log(X, [base]) - логарифм X по основанию base. Если base не указан, вычисляется натуральный логарифм.
math.log1p(X) - натуральный логарифм (1 + X). При X → 0 точнее, чем math.log(1+X).
math.log10(X) - логарифм X по основанию 10.
math.log2(X) - логарифм X по основанию 2.
math.pow(X, Y) - XY.
math.sqrt(X) - квадратный корень из X.
math.acos(X) - арккосинус X. В радианах.
math.asin(X) - арксинус X. В радианах.
math.atan(X) - арктангенс X. В радианах.
math.atan2(Y, X) - арктангенс Y/X. В радианах. С учетом четверти, в которой находится точка (X, Y).
math.cos(X) - косинус X (X указывается в радианах).
math.sin(X) - синус X (X указывается в радианах).
math.tan(X) - тангенс X (X указывается в радианах).
math.hypot(X, Y) - вычисляет гипотенузу треугольника с катетами X и Y (math.sqrt(x * x + y * y)).
math.degrees(X) - конвертирует радианы в градусы.
math.radians(X) - конвертирует градусы в радианы.
math.cosh(X) - вычисляет гиперболический косинус.
math.sinh(X) - вычисляет гиперболический синус.
math.tanh(X) - вычисляет гиперболический тангенс.
math.acosh(X) - вычисляет обратный гиперболический косинус.
math.asinh(X) - вычисляет обратный гиперболический синус.
math.atanh(X) - вычисляет обратный гиперболический тангенс.
math.erf(X) - функция ошибок.
math.erfc(X) - дополнительная функция ошибок (1 - math.erf(X)).
math.gamma(X) - гамма-функция X.
math.lgamma(X) - натуральный логарифм гамма-функции X.
math.pi - pi = 3,1415926...
math.e - e = 2,718281...