Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Помогите сделать Алгоримитизация и программирование в Python

Ветвление. Вложенные ветвления

Решение практических задач на ветвление. Разница между блоком if elif else и

if if else. В каких случаях лучше использовать первый вариант, а в каких второй

Практическое занятие № 1-2

1. Решение простейших практических задач на ветвление

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

Задание 2. Даны числа x и y. Вычислите число z, равное x+y, если x<=y, и 50 - х + y в противном случае.

2. Логические операции и выражения

Для построения сложных условий в Python имеются три логических операции:

not - отрицание (НЕТ);

and - логическое умножение (И);

or - логическое сложение (ИЛИ).

Следующие примеры демонстрируют работу указанных операторов. Пусть переменные a и b имеют следующие значения: a=4, b=8.

Пример

Результат

Пояснение

a<0 and b=8

False

Условие b=8 выполняется, но условие a<0 не выполняется

a>2 and b=6

False

Условие a>2 выполняется,но условие b=6 не выполняется

a<2 and b>8

False

Условие a<2 не выполняется и условие b<8 не выполняется

a>2 and b=8

True

True Оба условия выполняются

a>2 or b<8

True

Условие a>2 выполняется,но условие b<8 не выполняется

a<2 or b=8

True

Условие b=8 выполняется,но условие a<2 не выполняется

a=4 or b=8

True

Условие a=4 выполняется,но и условие b=8 выполняется

not a<2

True

Условие a<2 не выполняется, но после операции notстановится

not a>2

False

Условие a>2 выполняется, но после операции notстановится

Приоритеты логических операций:

1. not

2. and

3. or

Приоритет операций можно изменить, используя скобки.

Пусть даны два числа: x=5 и y=-6.

В условии not x>5 or y<0 сначала будет выполняться операция not и только затем операция or. В итоге мы получим, что данное условие верно, и является истинным.

А в условии not (x>5 or y<0) сначала будет выполняться операция or и только затем операция not. В итоге мы получим, что данное условие является ложным.

Задание 3. Рассмотрим решение задачи с использованием сложного условия. Даны числа x и y. Если данное число х меньше нуля, то z присвойте значение большего из двух чисел х и у, иначе z присвойте значение полусуммы этих чисел.

3. Блоки if elif else и if if else

Задание 4. Квадратное уравнение имеет вид ax2 + bx + c = 0. При его решении

сначала вычисляют дискриминант по формуле d = b2 - 4ac.

Если d > 0, то квадратное уравнение имеет два корня, которые вычисляются по формулам:

x1 = (-b + sqrt(d)) / (2 * a)

x2 = (-b - sqrt(d)) / (2 * a)

Если d = 0, то 1 корень x = -b/(2 * a);

Если d < 0, то делают вывод, что корней нет.

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

Практическое занятие № 3-4

Задание 1. Даны два числа. Меньшее из них замените полусуммой этих чисел, а большее - их произведением.

Задание 2. Даны радиус круга и сторона квадрата. У какой фигуры площадь больше? Для решения данной задачи нам потребуются формулы нахождения площадей:

S1 =- площадь круга,

S2 =- площадь квадрата.

Задание 3. Дано целое число. Определить:

a. Является ли оно четным;

b. Оканчивается ли оно цифрой 7;

c. Делится ли оно на 13.

Задание 4. Дано трехзначное число.

a. Верно ли, что все его цифры одинаковы?

b. Определить, есть ли среди его цифр одинаковые.

Задание 5. Дано четырехзначное число. Определить:

Равна ли сумма двух первых его цифр сумме двух его последних цифр?

b. Кратна ли трем сумма его цифр?

c. Кратно ли произведение его цифр числу t?

d. Является ли число палиндромом?

Практическое занятие № 5-6

Задание 1. Имеется прямоугольное отверстие со сторонами а и b и кирпич с ребрами х, у, z. Требуется определить пройдет ли кирпич в отверстие.

Кирпич имеет три различных грани, каждую из которых мы можем повернуть на 90градусов, т.е. для каждой грани надо проверить два случая. Итого шесть. Получаем условие:

(a>x) and (b>y) or (b>x) and (a>y) or

(a>x) and (z>y) or (z>x) and (a>y) or

(b>x) and (z>y) or (z>x) and (b>y)

Задание 2. Для данного вещественного x найти значение следующей функции f(x), принимающей вещественные значения:

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

Задание 3. Напишите программу осуществляющей выбор соответствующей команды в зависимости от выбора дороги пользователем на основе данного текста:

Прямо поедешь в ВУЗ на программиста поступишь, направо поедешь – поваром станешь, налево поедешь - учителем физкультуры станешь.

По дате
По рейтингу
Аватар пользователя
Новичок
1мес

Скачай дипсик! Он поможет

Аватар пользователя
Ученик
1мес

Конечно, давайте разберемся по порядку.

1. Ветвление и вложенные ветвления

В Python блоки условных операторов можно писать через if-elif-else или if-if-else. Первый вариант предпочтительнее, когда нужно проверить несколько взаимно исключающих условий, а второй — для независимых проверок. Вложенные ветвления позволяют усложнять логику, например, при проверке нескольких условий внутри другого условия.

2. Решение практических задач

- Задача 1:

```python

a = int(input("Введите первое число: "))

b = int(input("Введите второе число: "))

if a != b:

print("Меньшее:", min(a, b))

print("Большее:", max(a, b))

```

- Задача 2:

```python

x = int(input("Введите x: "))

y = int(input("Введите y: "))

if x <= y:

z = x + y

else:

z = 50 - x + y

print("Значение z:", z)

```

3. Логические операции

Эти операторы позволяют комбинировать условия. Например, if a > 2 and b < 8: — оба условия должны быть истинны. Приоритет: not — самый высокий, затем and, и or — самый низкий. Можно использовать скобки для изменения порядка.

4. Решение сложных условий

При проверке условий стоит использовать логические операторы. Например, если x < 0, выбираем большее из x и y, иначе — полусумму.

```python

if x < 0:

z = max(x, y)

else:

z = (x + y) / 2

```

5. Блоки if-elif-else и if-if-else

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

6. Решение квадратного уравнения

Вычисляем дискриминант. Если он > 0, два корня, если = 0 — один, если < 0 — нет корней.

```python

import math

a, b, c = map(float, input("Введите a, b, c: ").split())

d = b**2 - 4*a*c

if d > 0:

x1 = (-b + math.sqrt(d)) / (2*a)

x2 = (-b - math.sqrt(d)) / (2*a)

print("Два корня:", x1, x2)

elif d == 0:

x = -b / (2*a)

print("Один корень:", x)

else:

print("Нет корней")

```

7. Практические задачи

Например, для определения, какая фигура больше по площади, сравниваем S1 и S2. Для проверки делимости — используем оператор %. Для проверки палиндрома — сравниваем число с его перевернутым вариантом.

8. Проверка прохождения кирпича через отверстие

Проверяем все возможные комбинации сторон кирпича и отверстия. Если хотя бы одна подходит — кирпич пройдет.

9. Вычисление функции по условию

Используем if x > 0, elif x == 0, else, для выбора формулы.

10. Выбор маршрута по тексту

```python

choice = input("Куда поедешь?").lower()

if choice == "прямо":

print("Поступаешь в ВУЗ на программиста")

elif choice == "направо":

print("Становишься поваром")

elif choice == "налево":

print("Учишься быть учителем физкультуры")

```

Аватар пользователя
Знаток
1мес

чат джпти чо не придумали?