Файл: Лабораторная работА ( ii семестр) Тема Основы программирования на Python 1 Методические указания по оформлению лр.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 04.12.2023

Просмотров: 66

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

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

Поэтому при написании алгоритмов используется еще и ветвление:

if a > b:

c = a

else:

c = b

Этот кусок кода на Python интуитивно понятен каждому, кто помнит, что if по-английски значит "если", а else - "иначе". Оператор ветвления имеет в данном случае две части, операторы каждой из которых записываются с отступом вправо относительно оператора ветвления. Более общий случай - оператор выбора - можно записать с помощью следующего синтаксиса (пример вычисления знака числа):

if a < 0:

s = -1

elif a == 0:

s = 0

else:

s = 1

Стоит заметить, что elif - это сокращенный else if. Без сокращения пришлось бы применять вложенный оператор ветвления:
if a < 0:

s = -1

else:

if a == 0:

s = 0

else:

s = 1
В условной инструкции может отсутствовать слово else и последующий блок. Такая инструкция называется неполным ветвлением. Например, если дано число x и мы хотим заменить его на абсолютную величину x, то это можно сделать следующим образом:

Пример.

if x < 0:

x = -x

print(x)

В этом примере переменной x будет присвоено значение -x, но только в том случае, когда x<0. А вот инструкция print(x) будет выполнена всегда, независимо от проверяемого условия.

Для выделения блока инструкций, относящихся к инструкции if или else, в языке Python используются отступы. Все инструкции, которые относятся к одному блоку, должны иметь равную величину отступа, то есть одинаковое число пробелов в начале строки. Рекомендуется использовать отступ в 4 пробела и не рекомендуется использовать в качестве отступа символ табуляции.
Вложенные условные инструкции
Внутри условных инструкций можно использовать любые инструкции языка Python, в том числе и условную инструкцию. Получаем вложенное ветвление – после одной развилки в ходе исполнения программы появляется другая развилка. При этом вложенные блоки имеют больший размер отступа (например, 8 пробелов). Покажем это на примере программы, которая по данным ненулевым числам x и y определяет, в какой из четвертей координатной плоскости находится точка (x,y):


Пример.

x = int(input())

y = int(input())

if x > 0:

if y > 0: # x>0, y>0

print("Первая четверть")

else: # x>0, y<0

print("Четвертая четверть")

else:

if y > 0: # x<0, y>0

print("Вторая четверть")

else: # x<0, y<0

print("Третья четверть")
В этом примере использовали комментарии - текст, который интерпретатор игнорирует. Комментариями в Питоне является символ # и весь текст после этого символа до конца строки.
Операторы сравнения
Как правило, в качестве проверяемого условия используется результат вычисления одного из следующих операторов сравнения:

< -меньше - условие верно, если первый операнд меньше второго. 

> - больше - условие верно, если первый операнд больше второго. 

<= - меньше или равно. 

>= - больше или равно. 

== - равенство. Условие верно, если два операнда равны. 

!= - неравенство. Условие верно, если два операнда неравны.

Например, условие (x * x < 1000) означает “значение x * x меньше 1000”, а условие (2 * x != y) означает “удвоенное значение переменной x не равно значению переменной y”.

Операторы сравнения в Питоне можно объединять в цепочки (в отличии от большинства других языков программирования, где для этого нужно использовать логические связки), например, a == b == c или 1 <= x <= 10.

Виды используемых циклов.

1.Цикл while (“пока”). Позволяет выполнить одну и ту же последовательность действий, пока проверяемое условие истинно. Условие записывается до тела цикла и проверяется до выполнения тела цикла. Как правило, цикл while используется, когда невозможно определить точное значение количества проходов исполнения цикла.

2.Цикл for, также называемый циклом с параметром, в языке Питон богат возможностями. В цикле for указывается переменная и множество значений, по которому будет пробегать переменная. Множество значений может быть задано списком, кортежем, строкой или диапазоном (будет рассматриваться в следующей лабораторной работе).

Пример. Вывод таблицы значений функции


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

Пусть функция будет такой: y = -3x2 - 4x + 20.

Метод решения.

  1. Запросить у пользователя точки начала и конца отрезка, а также шаг.

  2. Если значение точки начала отрезка больше значения точки конца, то поменять значения.

  3. Пока значение первой точки не достигнет второй

  4. вычислить значение функции,

  5. вывести на экран текущие значения x и y,

  6. увеличить значение первой точки на шаг.


Реализация на 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