Основы псевдокода
Как вы уже знаете, псевдокод - это способ показать структуру алгоритма без каких-либо рисунков или объяснений. Теперь важно выяснить, как выглядит наш собственный псевдокод.
В этой теме мы договоримся о нескольких правилах: как присваивать переменную, как печатать вывод, как создать простую ветвь "if-else". Мы надеемся, что вы уже знаете некоторые языки программирования, поэтому вам будет легко научиться читать наш пользовательский псевдокод. И помните: чем больше вы смотрите на псевдокод, тем легче его понять!
Переменные и присвоение
Обратите внимание, что каждая строка в нашем алгоритме - это одно действие. Действия выполняются последовательно.
Давайте начнем изучать наш язык с базовых конструкций, таких как переменные и присваивание. Посмотрите на пример ниже:
a = 93
Здесь мы создаем переменную с именем a
и присваиваем ей целое число 93
. Синтаксис довольно прост: имя переменной - слева, значение - справа, оператор присваивания - между ними. Давайте рассмотрим другие примеры:
b = 3.14
s = "Hello"
Здесь мы присваиваем переменной b
число с плавающей точкой 3.14
, а переменной s
- строку Hello
. Для простоты мы не используем типы: не объявляем, что переменная s
- строка, а переменная b
- число с плавающей точкой.
Иногда возникает необходимость инициализировать несколько переменных последовательно. Для этого мы будем использовать следующий синтаксис:
a = 3
b = "text"
c = 5.5
или более короткую версию:
a, b, c = 3, "text", 5.5
Здесь переменная a
равна 3
, переменная b
- это строка text
, а переменная c
- 5.5
.
Если вам нужно изменить значение переменной, вы можете присвоить ей другое значение:
a = 3
a = 5
Сначала вы объявляете переменную a
и присваиваете ей значение 3
. Следующее действие присваивает переменной a
значение 5
. Следовательно, после этого фрагмента a равно 5
.
Также вы можете присвоить значение одной переменной другой переменной:
a = 1.5
b = a
Сначала вы присваиваете 1.5
переменной a
. Следующее действие присваивает значение a
переменной b
. После этого фрагмента a
равно 1.5
, и b
также равно 1.5
.
Входные и выходные данные
В наших алгоритмах мы, как правило, избегаем ввода и вывода. Когда вы описываете, как работает алгоритм, не имеет значения, как вы получаете данные и что происходит дальше. Однако если нам нужны какие-то внешние данные, мы будем их использовать:
a = input() // a это число
b = input() // b это строка
Обратите внимание, что нам не важен формат ввода. Кроме того, a
и b
могут быть не только числами или строками. Вы также можете прочитать таблицу или последовательность значений. Однако не забудьте добавить комментарий для читателя.
В некоторых задачах нам необходимо отправить данные на экран. Для этой задачи мы будем использовать следующий синтаксис:
s = "Hello"
print(s)
Здесь мы присваиваем переменной s
строку Hello
. Затем, чтобы напечатать ее, мы используем ключевое слово print
с переменной s в круглых скобках. Довольно просто и естественно.
Комментарии
Еще один важный момент - как писать комментарии. Комментарий не является частью программы, это просто текст, который вы оставляете для себя или других читателей. Мы обозначаем комментарии знаком //
. Например:
// это комментарий
a = 10 // присвоение 10 переменной a
b = 42 // другое задание
Комментарии можно писать как на отдельной строке, так и сразу после утверждений.
Арифметические операции
Почти любая программа требует обработки числовых данных. Для этого мы используем арифметические операции. В нашем псевдокоде они выглядят следующим образом:
a = 7
b = 2
sum = a + b // сложение, сумма равна 9
dif = a - b // вычитание, dif равно 5
prod = a * b // умножение, prod равно 14
quot = a / b // деление, quot равно 3,5
rem = a mod b // деление по модулю, rem равно 1
quot_int = a div b // целочисленное деление, quot_int равно 3
Чтобы выполнить арифметическую операцию с двумя числами, мы пишем первое слева, второе справа, а оператор между ними. Если мы хотим присвоить результат одной из переменных, мы используем следующий синтаксис:
a = 3
b = 5
a = a + b
a = a - b
То же самое относится к умножению и делению.
Реляционные и логические операторы
Вы также можете использовать эти реляционные операторы в своем псевдокоде:
a == b // a равно b
a != b // a не равно b
a < b // a меньше b
a <= b // a меньше или равно b
a > b // a больше b
a >= b // a больше или равно b
Все эти операции возвращают true
или false
.
В случае сложного условия можно использовать логические операторы. and
возвращает true
, только если оба условия истинны. or
возвращает false
, только если оба условия ложны. not
просто инвертирует значение. Это работает следующим образом:
true and true == true
true and false == false
false and true == false
false and false == false
true or true == true
true or false == true
false or true == true
false or false == false
not true == false
not false == true
Условные утверждения
Еще один часто используемый тип конструкции - условные утверждения. Давайте рассмотрим пример:
a = 3
if a < 5 then:
print(a)
Здесь мы создаем переменную a
и инициализируем ее числом 3
. Затем мы проверяем, меньше ли a
, чем 5
, и если это так, то выводим его на экран. Синтаксис понятен: за ключевым словом if
следует условие, и все последующие строки (которые отступают глубже, чем строка if
) выполняются только в том случае, если условие истинно. Если вам нужно объединить несколько условий, вы можете использовать операторы and
, or
и not
:
a = 10
b = 20
if (a == 10 and b == 20) or not (a == 20 and b == 10) then:
print(a)
print(b)
Чтобы избежать двусмысленности, нам может понадобиться заключить условия в круглые скобки, как в примере выше.
Теперь после условия if
можно поместить ветвь else
. Эта ветвь будет выполнена, если условие будет false
. Ниже показан пример с конструкцией if-else
:
a = -3
if a > 0 then:
print("positive")
else:
print("negative or zero") // вывод
Кроме того, вы можете использовать ветвь elif
. Оператор elif
- это просто сокращение от else if
. Программа проверяет это условие, если первое условие ложно:
a = -5
if a > 0 then: // false
print("positive")
elif a == 0 then: // проверка
print("zero")
else:
print("negative") // вывод
Здесь мы проверяем, больше ли a
0, затем проверяем, равно ли оно 0, используя ветвь elif
, и, наконец, выполняем последнюю ветвь else
. Ниже показан тот же код без ветви elif
:
a = -5
if a > 0 then:
print("positive")
else:
if a == 0 then:
print("zero")
else:
print("negative")
Резюме
Мы рассмотрели такие конструкции, как переменные, присваивание, арифметические операции и другие. Этих основ уже достаточно, чтобы выразить некоторые алгоритмические идеи.
https://hyperskill.org/learn/step/19510