Школьный (учебный)
алгоритмический язык
Автор: Александрова З.В.
Школьный (учебный)
алгоритмический язык
Школьный алгоритмический язык Школьный алгоритмический язык (АЯ)— формальный язык, используемый для записи, реализации и изучения алгоритмов.
Алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980 -х годов, в качестве основы для «безмашинного» курса информатики.
Основные служ е бные сло в а
Общий вид алгоритма
алг н а з в ание ал г оритма (арг у менты и р е з у л ь т а ты)
дано у словия применимости ал г оритма
надо ц е ль вып о лнения ал г оритма
н а ч описание пром е жу т о чных в е личин
посл е до в а т е льность кома н д ( т е ло ал г оритма)
кон
0 надо | S = 1*1 + 2*2 + 3*3 + ... + n*n н а ч ц е л i в в о д n; S:=0 нц для i о т 1 до n S:=S+i*i кц вы в о д "S = ", S кон " width="640"
Пример алгоритма
алг С у мма к в адр а т ов (арг ц е л n, р е з ц е л S)
дано | n 0
надо | S = 1*1 + 2*2 + 3*3 + ... + n*n
н а ч ц е л i
в в о д n; S:=0
нц для i о т 1 до n
S:=S+i*i
кц
вы в о д "S = ", S
кон
Базовые структуры. Следование
Обр а з у е т ся из посл е до в а т е льности действий,
сл е дующих о дно за д р угим
действие 1
действие 2
. . . . . . . . .
действие n
действие 1
действие 2
...
действие n
Базовые структуры. Ветвление
О б есп е чи в а е т в зависимости о т р е з у л ь т а т а про в ерки
у словия (да или н е т) вы б ор о дно г о из ал ь т ерн а тивн ы х
пу т ей раб о т ы ал г оритма. Кажд ы й из пу т ей в е д е т к
об щ ему в ы х о д у , т ак ч т о раб о т а ал г оритма б у д е т
пр о д о лж а ться н е зависимо о т т о г о, какой путь б у д е т
в ы бран.
Ст р укт у ра в е т в ление су щ ест в у е т в ч е т ы р е х основн ы х
в ариан т ах:
Базовые структуры. Ветвление.
Если-то
ДА у словие
если у словие
т о действия
в се
НЕТ
действия
0 если x 0 т о y := sin(x) в се НЕТ y := sin( x ) " width="640"
Базовые структуры. Ветвление.
Если-то. Пример.
ДА x0
если x 0
т о y := sin(x)
в се
НЕТ
y := sin( x )
Базовые структуры. Ветвление.
Если-то-иначе.
ДА у словие НЕТ
если у словие
т о действия 1
ин а че действия 2
в се
действия 1
действия 2
b НЕТ если a b т о a := 2*a; b := 1 ин а че b := 2*b в се a := 2*a; b := 1 b := 2*b " width="640"
Базовые структуры. Ветвление.
Если-то-иначе. Пример.
ДА ab НЕТ
если a b
т о a := 2*a; b := 1
ин а че b := 2*b
в се
a := 2*a; b := 1
b := 2*b
Базовые структуры. Ветвление.
Выбор.
ДА
у словие 1 действия 1
выбор
при у словие 1: действия 1
при у словие 2: действия 2
НЕТ
. . . . . . . . . . . .
ДА
при у словие N: действия N
в се
у словие 2 действия 2
НЕ Т ...
ДА
у словие N действия N
НЕТ
Базовые структуры. Ветвление.
Выбор. Пример
ДА
n=1 sin(x)
выбор
при n = 1: y := s i n(x)
при n = 2: y := cos(x)
при n = 3: y := 0
НЕТ
ДА
в се
n=2 y := cos(x)
НЕТ
ДА
n=3 y := 0
НЕТ
Базовые структуры.
Ветвление.
ДА
Выбор-иначе.
у словие 1 действия 1
НЕТ
выбор
при у словие 1: действия 1
при у словие 2: действия 2
ДА
у словие 2 действия 2
. . . . . . . . . . . .
при у словие N: действия N
ин а че действия N+1
НЕ Т ...
в се
ДА
у словие N действия N
НЕТ
действия N+1
5 i := i +1 выбор при a 5: i := i+1 при a = 0: j := j+1 ин а че i := 10; j:=0 в се НЕТ ДА a=0 j := j+1 НЕТ i := 10; j:=0 " width="640"
Базовые структуры. Ветвление.
Выбор-иначе. Пример.
ДА
a5 i := i +1
выбор
при a 5: i := i+1
при a = 0: j := j+1
ин а че i := 10; j:=0
в се
НЕТ
ДА
a=0 j := j+1
НЕТ
i := 10; j:=0
Базовые структуры. Цикл.
Цикл типа «Пока».
П р е дписы в а е т вып о лнять т е ло ц икла до т е х пор, пока
в ы п о лня е т ся у словие, записанное после сло в а пока.
нц пока у словие
т е ло цикла (посл е до в а т е льность действий)
кц
НЕТ
у словие
ДА
т е ло цикла
Базовые структуры. Цикл.
Цикл типа «Пока». Пример.
П р е дписы в а е т вып о лнять т е ло ц икла до т е х пор, пока
в ы п о лня е т ся у словие, записанное после сло в а пока.
нц пока i
s := s+i
i := i+1
НЕТ
кц
i
ДА
s := s+i; i := i+1
Базовые структуры. Цикл.
Цикл типа «Для».
П р е дписы в а е т вып о лнять т е ло ц икла до т е х пор, пока
в ы п о лня е т ся у словие, записанное после сло в а пока.
нц для i о т i1 до i2
т е ло цикла (посл е до в а т е льность действий)
кц
i= i1, i2
т е ло цикла
Базовые структуры. Цикл.
Цикл типа «Для». Пример.
П р е дписы в а е т вып о лнять т е ло ц икла до т е х пор, пока
в ы п о лня е т ся у словие, записанное после сло в а пока.
нц для i о т 1 до 5
x := i *i
y := y+x/2
кц
i =1, 5
x := i *i; y := y+x/2
Задачи
1) Дано ц е лое число а. Сос т авить б лок-с х ему и программ у для на х о ждения
м о д у ля числа а.
2) Дано ц е лое число а. Опр е д е лить, я в ля е т ся ли оно п о л о жи т е льным.
Сос т авить б лок-с х ему и программ у .
3) Дано н а т у ральное число. Е сли число меньше 12 т о вы в ести
со о т в е т ст в ую щ ее ем у н а з в ание месяца. Ин а че вы в ести «Ошибка».
Сос т авить б лок-с х ему и программ у .
Зам е чание : операции в в о да и вы в о да об о зн а ча ю т ся в уч е бном
ал г оритмическом языке: в в о д x и вы в о д х со о т в е т ст в енно, г де х -
переменная.
Задачи
4) Нап е ч а т а ть первые 20 н а т у ральных чис е л кр а тных 2. Сос т авить б лок-
с х ему и программ у .
5) В о з в ести н а т у ральное число a в с т епень n (н а т у ральное число), не
исп о ль з у я операцию в о з в е дения в с т епень. Сос т авить б лок-с х ему и
программ у .
Зам е чание : операции в в о да и вы в о да об о зн а ча ю т ся в уч е бном
ал г оритмическом языке: в в о д x и вы в о д х со о т в е т ст в енно, г де х -
переменная.