Школьный алгоритмический язык

Содержание

Слайд 2

Для единообразной записи алгоритмов введена система обозначений и правил – псевдокод.

В псевдокоде

Для единообразной записи алгоритмов введена система обозначений и правил – псевдокод. В
не приняты строгие синтаксические правила для записи команд, присущие формальным языкам, что облегчает запись алгоритма на стадии его проектирования.
В псевдокоде, так же, как и в формальных языках, есть служебные слова, смысл которых определен раз и навсегда. Они выделяются в печатном тексте жирным шрифтом, а в рукописном тексте подчеркиваются. Единого или формального определения псевдокода не существует, поэтому возможны различные псевдокоды, отличающиеся набором служебных слов и основных (базовых) конструкций.
Примером псевдокода является школьный алгоритмический язык в русской нотации (школьный АЯ),

Слайд 3

Основные служебные слова

Основные служебные слова

Слайд 4

Общий вид алгоритма:

алг название алгоритма (аргументы и результаты)
дано условия применимости

Общий вид алгоритма: алг название алгоритма (аргументы и результаты) дано условия применимости
алгоритма
надо цель выполнения алгоритма
нач описание промежуточных величин
последовательность команд (тело
алгоритма)
кон

Слайд 5

Заголовок - часть алгоритма от слова алг до слова нач.
Тело

Заголовок - часть алгоритма от слова алг до слова нач. Тело алгоритма
алгоритма - часть, заключенная между словами нач и кон.
В заголовке после названия алгоритма в круглых скобках указываются характеристики (арг, рез) и тип значения (цел, вещ, сим, лит или лог) всех входных (аргументы) и выходных (результаты) переменных.
При описании массивов (таблиц) используется служебное слово таб, дополненное граничными парами по каждому индексу элементов массива.

Слайд 6

Команды школьного АЯ

Оператор присваивания: А := В
знак ":=" означает команду

Команды школьного АЯ Оператор присваивания: А := В знак ":=" означает команду
заменить прежнее значение переменной, стоящей в левой части, на вычисленное значение выражения, стоящего в правой части.
Например, a:=(b+c)*4
i:=i+1
Для ввода и вывода данных используют команды
ввод имена переменных
вывод имена переменных, выражения, тексты.
Для ветвления применяют команды если и выбор,
для организации циклов — команды для и пока.

Слайд 7

Пример вычисления суммы квадратов

алг Сумма квадратов (арг цел n, рез цел S)

Пример вычисления суммы квадратов алг Сумма квадратов (арг цел n, рез цел

дано n > 0
Надо S = 1*1 + 2*2 + 3*3 + ... + n*n
нач цел i
ввод n; S:=0
нц для i от 1 до n S:=S+i*i
кц
вывод "S = ", S
кон

Слайд 8

Соответствие блок-схемы и АЯ Линейный алгоритм:

Соответствие блок-схемы и АЯ Линейный алгоритм:

Слайд 9

Алгоритм-ветвление:

Алгоритм-ветвление:

Слайд 10

Алгоритм – цикл:

Алгоритм – цикл:

Слайд 11

Основные понятия в алгоритмическом языке

Имена (идентификаторы) — употpебляются для обозначения
объектов пpогpаммы

Основные понятия в алгоритмическом языке Имена (идентификаторы) — употpебляются для обозначения объектов
(пеpеменных, массивов,
функций и дp.).

МОЖНО использовать
латинские буквы (A-Z), русские буквы (А-Я)
цифры
знак подчеркивания _

заглавные и строчные буквы различаются

имя не может начинаться с цифры

Слайд 12

Операции : арифметические операции

+ сложение – вычитание
* умножение / деление
div деление нацело

Операции : арифметические операции + сложение – вычитание * умножение / деление
(остаток отбрасывается)
mod остаток от деления

цел a, b
a := 7*3 - 4 | 17
a := a * 5 | 85
b := div(a,10) | 8
a := mod(a,10) | 5

логические опеpации : и, или, не;
отношения < , > , <=, >= , = , <> .

Слайд 13

Данные - величины, обpабатываемые пpогpаммой:
Константы — это данные, которые зафиксированы

Данные - величины, обpабатываемые пpогpаммой: Константы — это данные, которые зафиксированы в
в
тексте программы и не изменяются в процессе
ее выполнения:
- числовые 7,5 ; 12
- логические да (истина), нет (ложь);
- символьные "А", "+".
Пеpеменные обозначаются именами и могут изменять
свои значения в ходе выполнения пpогpаммы:
- целые,
- вещественные,
- логические,
- символьные.
Массив (таблица) — последовательность однотипных
элементов, число которых фиксировано
и которым присвоено одно имя.
Положение элемента в массиве
однозначно определяется его индексами.

Слайд 14

Какие операторы неправильные?

алг Ошибки
нач
цел a, b
вещ x, y
a

Какие операторы неправильные? алг Ошибки нач цел a, b вещ x, y
:= 5
10 := x
y := 7,8
b := 2.5
x := 2*(a + y)
a := b + x
кон

имя переменной должно быть слева от знака :=

целая и дробная часть отделяются точкой

нельзя записывать вещественное значение в целую переменную

Слайд 15

Вывод данных

|вывод значения |переменной a

|вывод значения |переменной a и переход |на новую

Вывод данных |вывод значения |переменной a |вывод значения |переменной a и переход
строчку

|вывод текста

|вывод текста и значения переменной c

вывод a

вывод a, нс

вывод "Привет!"

вывод "Ответ: ", c

вывод a, "+", b, "=", c

Слайд 16

Команда «вывод»

цел a = 1, b = 3
вывод a, "+", b, "=",

Команда «вывод» цел a = 1, b = 3 вывод a, "+",
a+b

список вывода

элементы разделяются запятыми
элементы в кавычках – выводятся без изменений
выражения (элементы без кавычек) вычисляются и выводится их результат

1+3=4

Слайд 17

Что будет выведено?

цел a = 1, b = 3
вывод "a+", b, "=a+b"

a+3=a+b

цел

Что будет выведено? цел a = 1, b = 3 вывод "a+",
a = 1, b = 3
вывод a, "=F(", b, ")"

1=F(3)

цел a = 1, b = 3
вывод "a=F(", b, ");"

цел a = 1, b = 3
вывод a+b, ">", b, "!"

цел a = 1, b = 3
вывод "F(", b, ")=X(", a, ")"

a=F(3)

4>3!

F(3)=X(1)

Слайд 18

Как записать оператор «вывод»?

цел a = 1, b = 3
вывод "X(", b,

Как записать оператор «вывод»? цел a = 1, b = 3 вывод
"=", a

X(3)=1

4=1+3

f(1)>f(3)

<1<>3>

1+3=?

цел a = 1, b = 3
вывод a+b, "=", a, "+", b

цел a = 1, b = 3
вывод "f(", a, ")>f(", b, ")"

цел a = 1, b = 3
вывод "<", a, "<>", b, ">"

цел a = 1, b = 3
вывод a, "+", b, "=?"

Слайд 19

Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей

Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей
функций, объединенных знаками опеpаций.

Таблица стандартных функций

Слайд 20

Порядок выполнения операций

вычисление выражений в скобках
умножение, деление, div, mod слева направо
сложение и

Порядок выполнения операций вычисление выражений в скобках умножение, деление, div, mod слева
вычитание слева направо

z := (5*a+c)/a*(b-c)/ b

x:=(5*c*c-d*(a+b))/((c+d)*(d-2*a))

1 2 4 5 3 6

2 3 5 4 1 10 6 9 8 7

Слайд 21

Примеры записи арифметических выражений

Примеры записи арифметических выражений

Слайд 22

Примеры записи логических выражений, истинных при выполнении указанных условий

Примеры записи логических выражений, истинных при выполнении указанных условий

Слайд 23

Сложные условия

Задача. Фирма набирает сотрудников от 25 до 40 лет включительно. Ввести

Сложные условия Задача. Фирма набирает сотрудников от 25 до 40 лет включительно.
возраст человека и определить, подходит ли он фирме (вывести ответ «подходит» или «не подходит»).
Особенность: надо проверить, выполняются ли два условия одновременно.

Слайд 24

Вариант 1. Алгоритм

начало

ввод x

конец

да

нет

x >= 25?

да

нет

x <= 40?

“подходит”

“не подходит”

“не подходит”

Вариант 1. Алгоритм начало ввод x конец да нет x >= 25?

Слайд 25

Вариант 1. Программа


алг Сотрудник
нач
цел x
вывод "Введите ваш возраст", нс

Вариант 1. Программа алг Сотрудник нач цел x вывод "Введите ваш возраст",
ввод x
если x >= 25 то
если x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
иначе
вывод "Не подходит."
все
кон

Слайд 26

Вариант 2. Алгоритм

начало

ввод x

да

нет

x >= 25 и
x <= 40?

“подходит”

“не подходит”

Вариант 2. Алгоритм начало ввод x да нет x >= 25 и x “подходит” “не подходит”

Слайд 27

Вариант 2. Программа

сложное условие

алг Сотрудник
нач
цел x
вывод "Введите ваш возраст",

Вариант 2. Программа сложное условие алг Сотрудник нач цел x вывод "Введите
нс
ввод x
если x >= 25 и x <= 40 то
вывод "Подходит!"
иначе
вывод "Не подходит."
все
кон

Слайд 28

Массив – это группа однотипных элементов, имеющих общее имя и расположенных в

Массив – это группа однотипных элементов, имеющих общее имя и расположенных в
памяти рядом.
Особенности:
все элементы имеют один тип
весь массив имеет одно имя
все элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год

Массивы

Слайд 29

Массивы

A

массив

3

15

НОМЕР элемента массива
(ИНДЕКС)

A[1]

A[2]

A[3]

A[4]

A[5]

ЗНАЧЕНИЕ элемента массива

A[2]

НОМЕР (ИНДЕКС) элемента массива: 2

ЗНАЧЕНИЕ элемента массива: 10

Массивы A массив 3 15 НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3]

Слайд 30

Объявление массивов

Зачем объявлять?
определить имя массива
определить тип массива
определить число элементов
выделить место в

Объявление массивов Зачем объявлять? определить имя массива определить тип массива определить число
памяти
Массив целых чисел:
Размер через переменную:

имя

начальный индекс

конечный индекс

тип
элементов
целтаб A[ 1 : N ]

цел N = 5

N

целтаб A[ 1 : 5 ]

Слайд 31

Объявление массивов

Массивы других типов:
Другой диапазон индексов:

вещтаб X[1:10], Y[1:20] | вещественные
X[1]

Объявление массивов Массивы других типов: Другой диапазон индексов: вещтаб X[1:10], Y[1:20] |
:= 4.25
симтаб S[1:20] | символьный
S[1] := "z"
логтаб L[1:5] | логический
L[1] := да | да или нет

целтаб Q[0:9]
вещтаб C[-5:13]

Слайд 32

Что неправильно?

целтаб A [10:1]
...
A[5] := 4.5;

[1:10]

целтаб A[1:10]
...
A[15] := "a"

Что неправильно? целтаб A [10:1] ... A[5] := 4.5; [1:10] целтаб A[1:10] ... A[15] := "a"

Слайд 33

Как обработать все элементы массива?

Объявление:
Обработка:

цел N = 5
целтаб A[1:N]

| обработать A[1]
| обработать

Как обработать все элементы массива? Объявление: Обработка: цел N = 5 целтаб
A[2]
| обработать A[3]
| обработать A[4]
| обработать A[5]

Слайд 34

Как обработать все элементы массива?

Обработка с переменной:

i:= 1
| обработать A[i]
i:= i +

Как обработать все элементы массива? Обработка с переменной: i:= 1 | обработать
1
| обработать A[i]
i:= i + 1
| обработать A[i]
i:= i + 1
| обработать A[i]
i:= i + 1
| обработать A[i]

i:= i + 1

Обработка в цикле:

i:= 1
нц пока i <= N
| обработать A[i]
i:= i + 1
кц

Цикл с переменной:

нц для i от 1 до N
| обработать A[i]
кц

Слайд 35

Простейшая программа

Объявление:
Ввод с клавиатуры:
Обработка каждого элемента:

цел N = 5, i
целтаб A[1:N]

нц для

Простейшая программа Объявление: Ввод с клавиатуры: Обработка каждого элемента: цел N =
i от 1 до N
вывод "A[",i,"]="
ввод A[i]
кц

A[1] =
A[2] =
A[3] =
A[4] =
A[5] =

5
12
34
56
13

нц для i от 1 до N
A[i]:= A[i]+1
кц

вывод "Массив A", нс
нц для i от 1 до N
вывод A[i], " "
кц

Массив A:
6 13 35 57 14

Вывод на экран:

Слайд 36

Максимальный элемент

Задача: найти в массиве максимальный элемент.
Алгоритм:

Решение:
считаем, что первый элемент –

Максимальный элемент Задача: найти в массиве максимальный элемент. Алгоритм: Решение: считаем, что
максимальный
просмотреть остальные элементы массива: если очередной элемент > M, то записать A[i] в M
вывести значение M

Слайд 37

Максимальный элемент

начало

конец

нет

да

нет

да

M:= A[1]
i:= 2

M:= A[i]

i:= i + 1

пока считаем,
что

Максимальный элемент начало конец нет да нет да M:= A[1] i:= 2
первый – максимальный

начать со 2-ого

перейти к следующему

нашли новый максимум

Слайд 38

Максимальный элемент

алг Максимум
нач
цел i, N = 5, M
целтаб A[1:N]
|

Максимальный элемент алг Максимум нач цел i, N = 5, M целтаб
здесь заполнить массив
M:= A[1] | пока максимальный – A[1]
нц для i от 2 до N
если A[i] > M то M:= A[i] все
кц
вывод "Максимальный элемент ", M
кон
Имя файла: Школьный-алгоритмический-язык.pptx
Количество просмотров: 665
Количество скачиваний: 12