Задания
Задание 1
Условие
Для приведенного ниже высказывания записать эквивалентное ему выражение на на языке Python. Изобразить блок-схему алгоритма и составить программу, позволяющую установить истинность или ложность высказывания для различных значений переменных, входящих в логическое выражение:
Высказывание: а, b, с, d последовательно не возрастают
Листинг программы
x = float(input("Введи x:\n"))
y = float(input("Введи y:\n"))
z = float(input("Введи z:\n"))
LV = x>0 and y>0 or z>0
print("Числа по модулю не возрастают:",LV)
Результат выполнения программы задания 1
Блок схема
Задание 2
Условие
Изменить программу из задания 1 таким образом, чтобы исходные данные считывались из внешнего файла, а результаты выводились в внешний файл. Листинг программы сохранить с именем lab4_2. Входной файл назвать lab4_2.in, а выходной файл - lab4_2.out
Листингпрограммы 2
input_file=open('lab4_2in.txt', 'r')
x = int(input_file.readline())
y = int(input_file.readline())
z = int(input_file.readline())
LV = x>0 and y>0 or z>0
out_file=open('lab4_2out.txt', 'w')
out_file.write("если y ложно, то выводится y, иначе выводится z "+str(LV))
out_file.close()
Результат выполнения программы задания 2
Задание 3
Условие
Для приведенного ниже высказывания записать эквивалентное ему выражение на на языке Python. Составить программу, позволяющую установить истинность или ложность высказывания для различных значений переменных, входящих в логическое выражение:
Высказывание: t принадлежит одному из промежутков (4, 7], [8, 14)
при этом значения переменных вводятся с клавиатуры во время выполнения программы. Листинг программы сохранить с именем lab4_3
Листинг программы 3
x = float(input("Введите x:\n"))
LV = (x>4 and x<=7) or (x>=8 and x<14)
print("число x удовлетворяет условию:",LV)
Результат выполнения программы задания 3
Задание 4
Условие
Изменить программу из задания 3 таким образом, чтобы исходные данные считывались из внешнего файла, а результаты выводились в внешний файл. Листинг программы сохранить с именем lab4_4. Входной файл назвать lab4_4.in, а выходной файл - lab4_4.out
Листинг программы 4
infile = open('lab4_4.in.txt', 'r')
x = float(infile.readline())
infile.close()
LV = (x>4 and x<=7) or (x>=8 and x<14)
outfile = open('lab4_4.out.txt', 'w')
outfile.write('LV ='+str(LV))
outfile.close()
Результат выполнения программы задания 4
1.2 Контрольные вопросы
1 Логические значения
Логические значения - это, как правило, результат логических операций, значения True (истина) или False (ложь)
2 Какие выраженияназываются логическими?
Логическое выражение - это выражение, состоящее из чисел, переменных, знаков арифметических и логических операций, скобок и т. п., значением которого является True (истина) или False (ложь)
3 Какие значения на Python являются ложными?
Ложными являются значения:
None
False
ноль в числовых типах данных: 0, 0.0, 0j
пустые последовательности, например, '', (), []
пустые сопоставления, например, {}
4 Функцияпроверки истинности значения или объекта
Функция bool(x) проверяет истинность значения или объекта
5 Назовите и определите логические операции Python
and логический оператор "И". Условие будет истинным если оба операнда истина;
or логический оператор "ИЛИ". Если хотя бы один из операндов истинный, то и все выражение будет истинным;
not логический оператор "НЕ". Изменяет логическое значение операнда на противоположное.
6 Перечислите и определите побитовые операци Python
& Бинарный "И" оператор, копирует бит в результат только если бит присутствует в обоих операндах.
| Бинарный "ИЛИ" оператор копирует бит, если тот присутствует в хотя бы в одном операнде
^ Бинарный "Исключительное ИЛИ" оператор копирует бит только если бит присутствует в одном из операндов, но не в обоих сразу.
~ Бинарный комплиментарный оператор. Является унарным (то есть ему нужен только один операнд) меняет биты на обратные, там где была единица становиться ноль и наоборот.
<< Побитовый сдвиг влево. Значение левого операнда "сдвигается" влево на количество бит указанных в правом операнде.
>> Побитовый сдвиг вправо. Значение левого операнда "сдвигается" вправо на количество бит указанных в правом операнде.
7 Перечислите и определите операции сравнения Python
== Проверяет равны ли оба операнда. Если да, то условие становится истинным.
!= Проверяет равны ли оба операнда. Если нет, то условие становится истинным.
<> Проверяет равны ли оба операнда. Если нет, то условие становится истинным.
> Проверяет больше ли значение левого операнда, чем значение правого. Если да, то условие становится истинным.
< Проверяет меньше ли значение левого операнда, чем значение правого. Если да, то условие становится истинным.
>= Проверяет больше или равно значение левого операнда, чем значение правого. Если да, то условие становится истинным.
<= Проверяет меньше или равно значение левого операнда, чем значение правого. Если да, то условие становится истиннымю.
8 Приоритет операций Python
** Возведение в степень
~ + - Комплиментарный оператор
* / % // Умножение, деление, деление по модулю, целочисленное деление.
+ - Сложение и вычитание.
>><< Побитовый сдвиг вправо и побитовый сдвиг влево.
& Бинарный "И".
^ | Бинарный "Исключительное ИЛИ" и бинарный "ИЛИ"
<= <>>= Операторы сравнения
<> ==!= Операторы равенства
= %= /= //= -= += *= **= Операторы присваивания
isisnot Тождественные операторы
innotin Операторы членства
notorand Логические операторы
Вывод: научились составлять программу, позволяющую установить истинность или ложность высказывания для различных значений переменных, входящих в логическое выражение
2 Лабораторная работа №5
Тема: Программирование разветвляющихся вычислений
Цель: научиться программировать разветвляющие вычисления.
Задания
Задание 1
Условие
Изобразить блок-схему алгоритма и составить программу, вычисляющую значение выражения:
Ввод значений переменных, входящих в выражение, организовать с помощью функции input, а вывод результата - с помощью функции print. Листинг программы сохранить с именем lab5_1
Листинг программы
from math import *
z=float(input('Введи z:\n'))
x=float(input('Введи x:\n'))
if x<3.4:
y=sqrt((x**2)+z)
else:
y=34/((x**2)+(z*z*x)-7)
print ('x=', x, 'z= ', z, 'y=', y, sep = ' ')