4. Линейни, разклонени и циклични алгоритми. Създаване на алгоритми със скриптов език за програмиране - упражнения

 

Създаване на алгоритми

Презентация 1

Линейни, разклонени и циклични алгоритми

Реализиране на линеен алгоритъм на езика Python

Линейният алгоритъм е поредица от инструкции, които се изпълняват една след друга, без разклонения или цикли. За да реализирате линеен алгоритъм на Python, можете да използвате следните основни структури:

1. Дефиниране на променливи:

# Дефиниране на числова променлива

a = 5

# Дефиниране на текстова променлива

b = "Здравей, свят!"

 

2. Извършване на операции:

# Събиране

c = a + 2

# Умножение

d = b * 3

# Печат на резултат

print(c, d)

 

Реализиране на цикличен алгоритъм на езика Python


В Python има два основни типа цикли:

  • Цикъл for: Използва се за повтаряне на блок код за определен брой итерации.
  • Цикъл while: Използва се за повтаряне на блок код, докато дадено условие е изпълнено.

 

Цикъл for синтаксис:
for <променлива> in <последователност>:
    <блок код>
Пример: Този код ще отпечата числата от 0 до 4 (без 5).
for i in range(5):
    print(i)

 

Цикъл while Синтаксис:
while <условие>:
    <блок код>

Пример: Напишете програма, която чете числа от потребителя, докато не се въведе 0.

n = int(input("Въведете число: "))
while n != 0:
    print(n)
    n = int(input("Въведете число: "))

 

Реализация на разклонен алгоритъм на Python


Разклонените алгоритми са ключов елемент от програмирането, позволявайки ни да изпълняваме различни действия в зависимост от дадени условия. В Python езикът, това се реализира с помощта на оператори за сравнение и условни конструкции.

1. Условни оператори:
==: Равно на
!=: Различно от
<: По-малко от
<=: По-малко или равно на
>: По-голямо от
>=: По-голямо или равно на
2. Условни конструкции:

  • if: Изпълнява код, ако условието е истина.
  • elif: Изпълнява код, ако предишното условие е лъжа, а текущото е истина.
  • else: Изпълнява код, ако всички предишни условия са лъжа.

Пример: Проверка за число, по-голямо от 10

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

if num > 10:
    print(f"Числото {num} е по-голямо от 10.")
elif num == 10:
    print(f"Числото {num} е равно на 10.")
else:
    print(f"Числото {num} е по-малко или равно на 10.")
В този пример:

int(input("Въведете число: ")) - Чете въведено число от потребителя и го преобразува в цяло число.
if num > 10: - Проверява дали числото е по-голямо от 10.
elif num == 10: - Проверява дали числото е равно на 10.
else: - Изпълнява се, ако числото е по-малко или равно на 10.


3. Вложени условни конструкции:
Пример: Проверка за число, по-голямо от 10 и четно

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

if num > 10:
    if num % 2 == 0:
        print(f"Числото {num} е по-голямо от 10 и четно.")
    else:
        print(f"Числото {num} е по-голямо от 10, но нечетно.")
else:
    print(f"Числото {num} е по-малко или равно на 10.")
В този пример:

Първият if проверява дали числото е по-голямо от 10.
Вторият if (вложен) проверява дали числото е четно, само ако е по-голямо от 10.


4. Допълнителни условни конструкции:

  • and: И двете условия трябва да са истина.
  • or: Само едно от условията трябва да е истина.
  • not: Променя истиността на условието.

 

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

Създаване на алгоритми в среда за блоково програмиране
Задача 1 - до 40 точки: Създаване на линеен/цикличен алгоритъм:
  • Създайте код за програма, която изчертава квадрат с линеен алгоритъм.
  • Създайте код за програма, която изчертава квадрат, триъгълник и петоъгълник, като използвате блокове за повторение (цикличен алгоритъм).

 

Примерно решение с линеен алгоритъм
Примерно решение с циклични алгоритми
Задача 2 - до 20 точки: Създаване на подпрограма / собствен блок /,
променлива и диалог с потребителя:
  • Създайте код за програма, която пита потребителя колко страни да има многоъгълник, след което изчертава многоъгълника по зададения брой страни.

 

Примерно решение със собствен блок:
Създаване на алгоритми със скриптов език за програмиране
Задачи: Създаване на цикличен / разклонен алгоритъм с езика Python

 

Задача 1: Триъгълник от символи - до 20 точки:

Създайте програма, която да извежда триъгълник от символи "*" на 9 реда, като използвате цикличен алгоритъм.

Задача 2: Познай числото - до 20 точки:

Да се създаде програмата, която да генерира случайно число в интервала от 1 до 10, а потребителят да въвежда предложения за числото, докато то съвпадне с генерираното число. Използвайте разклонен алгоритъм.

 

Примерно решение на задача 1 с цикъл while и на задача 2 с if-elif-else
Примерен вид на крайният резултат: