Презентация на тему: Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был

Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Для единообразной записи алгоритмов введена система обозначений и правил – псевдокод.
Основные служебные слова
Общий вид алгоритма:
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Команды школьного АЯ
Пример вычисления суммы квадратов
Соответствие блок-схемы и АЯ Линейный алгоритм:
Алгоритм-ветвление:
Алгоритм – цикл:
Основные понятия в алгоритмическом языке
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Таблица стандартных функций
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Примеры записи арифметических выражений
Примеры записи логических выражений, истинных при выполнении указанных условий
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был
Массивы
Массивы
Объявление массивов
Объявление массивов
Что неправильно?
Как обработать все элементы массива?
Как обработать все элементы массива?
Простейшая программа
Максимальный элемент
Максимальный элемент
Максимальный элемент
Максимальный элемент
1/39
Средняя оценка: 4.9/5 (всего оценок: 22)
Код скопирован в буфер обмена
Скачать (385 Кб)
1

Первый слайд презентации

Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был введён в употребление академиком А. П. Ершовым в середине 1980-х годов, в качестве основы для « безмашинного » курса информатики. Школьный алгоритми́ческий язык  ( АЯ )— формальный язык, используемый для записи, реализации и изучения алгоритмов.

Изображение слайда
2

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

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

Изображение слайда
3

Слайд 3: Основные служебные слова

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

Изображение слайда
4

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

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

Изображение слайда
5

Слайд 5

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

Изображение слайда
6

Слайд 6: Команды школьного АЯ

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

Изображение слайда
7

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

алг Сумма квадратов ( арг цел 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 кон

Изображение слайда
8

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

Изображение слайда
9

Слайд 9: Алгоритм-ветвление:

Изображение слайда
10

Слайд 10: Алгоритм – цикл:

Изображение слайда
11

Слайд 11: Основные понятия в алгоритмическом языке

Имена (идентификаторы) — употpебляются для обозначения объектов пpогpаммы ( пеpеменных, массивов, функций и дp.). МОЖНО использовать латинские буквы ( A-Z), русские буквы (А-Я) цифры знак подчеркивания _ заглавные и строчные буквы различаются имя не может начинаться с цифры

Изображение слайда
12

Слайд 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

Слайд 13

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

Изображение слайда
14

Слайд 14

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

Изображение слайда
15

Слайд 15

Вывод данных | вывод значения | переменной a | вывод значения | переменной a и переход | на новую строчку | вывод текста | вывод текста и значения переменной c вывод a вывод a, нс вывод "Привет!" вывод "Ответ: ", c вывод a, "+", b, "=", c

Изображение слайда
16

Слайд 16

Команда «вывод» цел a = 1, b = 3 вывод a, "+", b, "=", a+b список вывода элементы разделяются запятыми элементы в кавычках – выводятся без изменений выражения (элементы без кавычек) вычисляются и выводится их результат 1+3=4 Что будет выведено? ?

Изображение слайда
17

Слайд 17

Что будет выведено? цел a = 1, b = 3 вывод " a +", b, "= a+b " a +3= a+b цел 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

Слайд 18

Как записать оператор «вывод»? цел a = 1, b = 3 вывод " X( ", b, "=", 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

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

Выpажения — пpедназначаются для выполнения необходимых вычислений, состоят из констант, пеpеменных, указателей функций, объединенных знаками опеpаций. Таблица стандартных функций Название и математическое обозначение функции Указатель функции Абсолютная величина (модуль) | х | abs ( x ) Корень квадратный sqrt ( x ) Натуральный логарифм ln x ln ( x ) Десятичный логарифм lg x lg ( x ) Экспонента (степень числа е " 2.72) e x exp ( x ) Знак числа x (-1,если х <0; 0,если x=0; 1,если x >0) sign x sign ( x ) Целая часть х (т.е. максимальное целое число,не превосходящее х ) int ( x ) Минимум из чисел х и y min ( x,y ) Максимум из чисел х и y max ( x,y ) Случайное число в диапазоне от 0 до х-1 rnd ( x ) Синус (угол в радианах) sin x sin ( x ) Косинус (угол в радианах) cos x cos ( x ) Тангенс (угол в радианах) tg x tg ( x )

Изображение слайда
20

Слайд 20

Порядок выполнения операций вычисление выражений в скобках умножение, деление, 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

Слайд 21: Примеры записи арифметических выражений

Математическая запись Запись на школьном алгоритмическом языке x*y/z x /( y * z ) или x / y / z (a**3+b**3)/(b*c) (a[i+1]+b[i-1])/(2*x*y) (-b+sqrt(b*b-4*a*c))/(2*a) ( x <0) sign(x)*abs(x)**(1/5) 0.49*exp(a*a-b*b)+ln(cos(a*a))**3 x /(1+x* x /(3+(2* x )**3))

Изображение слайда
22

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

Условие Запись на школьном АЯ Дробная часть вещественого числа a равна нулю int(a) = 0 Целое число a — четное mod(a,2) = 0 Целое число a — нечетное mod(a,2) = 1 Целое число k кратно семи mod(a,7) = 0 Каждое из чисел a,b положительно (a>0) и (b>0) Только одно из чисел a,b положительно ((a>0) и (b<=0)) или ((a<=0) и (b>0)) Хотя бы одно из чисел a,b,c является отрицательным (a<0) или (b<0) или (c<0) Число x удовлетворяет условию a<x<b (x>a) и (x<b) Число x имеет значение в промежутке [ 1, 3 ] (x>=1) и (x<=3) Точка с координатами ( x,y ) лежит в круге радиуса r с центром в точке ( a,b ) ( x-a )**2+( y-b )**2< r * r

Изображение слайда
23

Слайд 23

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

Изображение слайда
24

Слайд 24

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

Изображение слайда
25

Слайд 25

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

Изображение слайда
26

Слайд 26

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

Изображение слайда
27

Слайд 27

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

Изображение слайда
28

Слайд 28: Массивы

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

Изображение слайда
29

Слайд 29: Массивы

5 10 15 20 25 1 2 3 4 5 A массив 3 15 НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4] A[5] ЗНАЧЕНИЕ элемента массива A[2] НОМЕР (ИНДЕКС) элемента массива : 2 ЗНАЧЕНИЕ элемента массива : 10

Изображение слайда
30

Слайд 30: Объявление массивов

Зачем объявлять? определить имя массива определить тип массива определить число элементов выделить место в памяти Массив целых чисел: Размер через переменную: имя начальный индекс конечный индекс тип элементов целтаб A[ 1 : N ] цел N = 5 N целтаб A[ 1 : 5 ]

Изображение слайда
31

Слайд 31: Объявление массивов

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

Изображение слайда
32

Слайд 32: Что неправильно?

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

Изображение слайда
33

Слайд 33: Как обработать все элементы массива?

Объявление: Обработка: цел N = 5 целтаб A[ 1 :N] | обработать A[1] | обработать A[2] | обработать A[3] | обработать A[4] | обработать A[5] 1) если N велико (1000, 1000000)? 2) при изменении N программа не должна меняться! ?

Изображение слайда
34

Слайд 34: Как обработать все элементы массива?

Обработка с переменной: i := 1 | обработать A[ i ] i := i + 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

Слайд 35: Простейшая программа

Объявление: Ввод с клавиатуры: Обработка каждого элемента: цел N = 5, i целтаб A[ 1 :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

Слайд 36: Максимальный элемент

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

Изображение слайда
37

Слайд 37: Максимальный элемент

начало конец нет да нет да i <= N? M:= A[1] i:= 2 A[ i ] > M? M:= A[i] i:= i + 1 пока считаем, что первый – максимальный начать со 2-ого перейти к следующему нашли новый максимум

Изображение слайда
38

Слайд 38: Максимальный элемент

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

Изображение слайда
39

Последний слайд презентации: Школьный алгоритмический язык Алгоритмический язык с русским синтаксисом был: Максимальный элемент

M:= A[1] | пока первый – максимальный iMax := 1 нц для i от 2 до N | проверяем остальные если A[ i ] > M то | нашли еще больше M:= A[ i ] | запомнить A[ i ] iMax := i | запомнить i все кц вывод "Максимальный элемент A[ ", iMax, "]=",M Дополнение: как найти номер максимального элемента? По номеру элемента iMax всегда можно найти его значение A[ iMax ]. Поэтому везде меняем M на A[ iMax ] и убираем переменную M. A[iMax] A[iMax] Как упростить ? ?

Изображение слайда