Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Программирование на алгоритмическом языке. Массивы. (Часть 2. Тема 1. 8 класс)

Содержание

Программирование на алгоритмическом языке. Часть IIТема 1. Массивы
Программирование  на алгоритмическом языке. Часть IIМассивыМаксимальный элемент массиваОбработка массивовСимвольные строкиМатрицыАлгоритмы-функцииПостроение графиков функций Программирование  на алгоритмическом языке. Часть IIТема 1. Массивы Массив – это группа однотипных элементов, имеющих общее имя и расположенных в МассивыAмассив315НОМЕР  элемента массива(ИНДЕКС)A[1]A[2]A[3]A[4]A[5]ЗНАЧЕНИЕ элемента массиваA[2]НОМЕР (ИНДЕКС)  элемента массива: 2ЗНАЧЕНИЕ  элемента массива: 10 Объявление массивовЗачем объявлять? определить имя массиваопределить тип массиваопределить число элементоввыделить место в Объявление массивовМассивы других типов: Другой диапазон индексов: вещтаб X[1:10], Y[1:20] | вещественныеX[1] Что неправильно?целтаб A [10:1]...A[5] := 4.5;[1:10]целтаб A[1:10]...A[15] := Как обработать все элементы массива?Объявление:Обработка:цел N = 5целтаб A[1:N]| обработать A[1]| обработать Как обработать все элементы массива?Обработка с переменной:i:= 1| обработать A[i]i:= i + Простейшая программаОбъявление:Ввод с клавиатуры:Обработка каждого элемента:цел N = 5, iцелтаб A[1:N]нц для Задания«3»: Ввести c клавиатуры массив из 5 элементов, умножить их на 2 Задания«5»: Ввести c клавиатуры массив из 5 элементов, найти минимальный из них. Программирование  на алгоритмическом языке. Часть IIТема 2. Максимальный Максимальный элементЗадача: найти в массиве максимальный элемент.Алгоритм: Решение:считаем, что первый элемент – Максимальный элементначалоконецнетданетда M:= A[1] i:= 2M:= A[i]i:= i + 1пока считаем, что Максимальный элементалг Максимумнач цел i, N = 5, M целтаб A[1:N] | Максимальный элементM:= A[1] | пока первый – максимальный iMax:= 1нц для i Задания«3»: Ввести с клавиатуры массив из 5 элементов, найти в нем минимальный Задания«5»: Ввести с клавиатуры массив из 5 элементов, найти в нем два Программирование  на алгоритмическом языке. Часть IIТема 3. Обработка массивов Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть в Электронный генераторнужно специальное устройствонельзя воспроизвести результаты318458191041564321209938992481458191938992малый период  (последовательность повторяется через 106 Модель: снежинки падают на отрезок [a,b]распределениеравномерноенеравномерноеРаспределение случайных чисел Особенности: распределение – это характеристика всей последовательности, а не одного числаравномерное распределение Вещественные числа в интервале [0,10): Генератор случайных чиселвещ X, YX:= rand(0, 10) Заполнение массива случайными числамицел i, N = 5целтаб A[1:N]вывод Подсчет элементовЗадача: заполнить массив случайными числами в интервале [-1,1] и подсчитать количество Подсчет элементовначалоконецнетданетда count:= 0 i:= 1count:= count + 1i:= i + 1пока Подсчет элементовцел count, i, N = 10целтаб A[1:N]| здесь надо заполнить массивcount:= Задания«3»: Заполнить массив случайными числами в интервале [-2,2] и подсчитать количество положительных Сумма выбранных элементовЗадача: заполнить массив случайными числами в интервале [-10,10] и подсчитать Сумма выбранных элементовначалоконецнетданетда S:= 0 i:= 1S:= S + A[i]i:= i + Сумма выбранных элементовцел S, i, N = 10целтаб A[1:N]| здесь надо заполнить Задания«3»: Заполнить массив из 10 элементов случайными числами в интервале [-10,10] и Поиск в массивеЗадача – найти в массиве элемент, равный X, или установить, Поиск элемента, равного Xначалоконецнетданетдаi:= 1i:= i + 1начать с 1-огоперейти к следующему“Не нашли”“Есть!” Поиск в массивеалг Поиск нач цел i, N = 5, X целтаб Задания«3»: Заполнить массив из 10 элементов случайными числами в интервале [10..20] и Задания«5»: Заполнить массив из 10 элементов случайными числами в интервале [0..4]и определить, Программирование  на алгоритмическом языке. Часть IIТема 4. Символьные строки Чем плох массив символов?симтаб s[1:10]Это массив символов:каждый символ – отдельный объект;массив имеет Символьные строкирабочая частьs[1]s[2]s[3]s[4]лит sДлина строки:n:= длин(s)цел nОбъявление строки: Символьные строкиЗадача: ввести строку с клавиатуры и заменить все буквы «а» на Задания«3»: Ввести символьную строку и заменить все буквы «а» на буквы «б», Задания«5»: Ввести символьную строку и проверить, является ли она палиндромом (палиндром читается Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:лит s, Удаление и вставкаУдаление части строки:Вставка в строку:s:= Поиск в строке (найти)Поиск в строке:s:= Примерыs:= Пример решения задачиЗадача: Ввести имя, отчество и фамилию. Преобразовать их к формату Программаиспользовать Строкиалг ФИОнач лит s, имя, отчество цел n вывод Задания«3»: Ввести в одну строку фамилию, имя и отчество, разделив их пробелом. Задания«5»: Ввести путь к файлу и «разобрать» его, выводя каждую вложенную папку Задачи на обработку строкЗадача: с клавиатуры вводится символьная строка, представляющая собой сумму Преобразования «строка»-«число»Из строки в число:s:= Программаиспользовать Строкиалг Калькулятор нач лит s, s1, s2 цел n, n1, n2, Задания«3»: Ввести арифметическое выражение: разность двух чисел. Вычислить эту разность.  Пример: Задания«5»: Ввести арифметическое выражение c тремя числами, в котором можно использовать сложение Задания«6»: Ввести арифметическое выражение c тремя числами, в котором можно использовать сложение, Программирование  на алгоритмическом языке. Часть IIТема 5. Матрицы МатрицыЗадача: запомнить положение фигур на шахматной доске.123456c6A[6,3] МатрицыМатрица – это прямоугольная таблица чисел (или других элементов одного типа).Матрица – МатрицыОбъявление:цел N = 3, M = 4целтаб A[1:N,1:M]целтаб B[-3:0,-8:M]Ввод с клавиатуры:нц для МатрицыЗаполнение случайными числаминц для i от 1 до N нц для j Обработка всех элементов матрицыЗадача: заполнить матрицу из 3 строк и 4 столбцов ЗаданияЗаполнить матрицу из 8 строк и 5 столбцов случайными числами в интервале Программирование  на алгоритмическом языкеТема 7. Алгоритмы-функции Максимум из трехначалоконецa > b?даx:= aнетx:= bc > x?даx:= cabxxcнет Максимум из трехалг цел Макс3(цел a, b, c) нач  цел x Максимум из трехалг Максимумнач цел Z, X, C, M вывод Максимум из пятиалг Максимумнач цел Z, X, C, V, B, M ввод НОД трёх чиселЗадача: ввести три числа и найти наибольший общий делитель (НОД). Общий вид программыалг НОД трёх чиселнач цел a, b, c, N вывод Блок-схема алгоритма Евклиданачалоконец Алгоритм Евклидаалг цел НОД(цел x, y)нач цел a, b a:= x; b:= Рекурсивные функцииФакториал:еслиеслиалг цел Факт(цел N) нач если N < 2  то Задания«3»: Составить функцию, которая определяет НАИМЕНЬШЕЕ из трёх чисел и привести пример Задания«5»: Составить функцию, которая определяет сумму всех чисел от 1 до N Логические функцииЗадача: составить функцию, которая определяет, верно ли, что заданное число – Логические функцииалг лог Четное(цел N)нач если mod(N,2) = 0  то знач:= Логические функцииалг Проверка четностинач цел x вывод Задания«3»: Составить функцию, которая определяет, верно ли, что число оканчивается на 0. Задания«5»: Составить функцию, которая определяет, верно ли, что переданное ей число – Программирование  на алгоритмическом языке. Часть IIТема 8. Построение графиков функций Построение графиков функцийЗадача: построить график функции y = x2 на интервале от Преобразование координат(x,y)xyМатематическая система координатЭкранная система координат (пиксели)(xэ,yэ)xэyэ(0,0)(0,0)x0y0k – масштаб (длина изображения единичного Программана экранеоси координатцикл построения графикаиспользовать Рисовательалг Графикнач цел x0=150, y0=250, k=50, xe, Как соединить точки?Алгоритм:Если первая точка перейти в точку (xэ,yэ)иначе  линия в Задания«3»: Построить график функции      на интервале [-2,2]. Задания«5»: Построить графики функций Конец фильмаПОЛЯКОВ Константин Юрьевичд.т.н., учитель информатики высшей категории,ГОУ СОШ № 163, г. Санкт-Петербургkpolyakov@mail.ru
Слайды презентации

Слайд 2 Программирование на алгоритмическом языке. Часть II
Тема 1. Массивы

Программирование на алгоритмическом языке. Часть IIТема 1. Массивы

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

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

имя и расположенных в памяти рядом.
Особенности:
все элементы имеют один

тип
весь массив имеет одно имя
все элементы расположены в памяти рядом
Примеры:
список учеников в классе
квартиры в доме
школы в городе
данные о температуре воздуха за год

Массивы


Слайд 4 Массивы


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

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

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



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


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

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

число элементов
выделить место в памяти
Массив целых чисел:


Размер через

переменную:

имя

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

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

тип
элементов


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

цел N = 5

N





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


Слайд 6 Объявление массивов
Массивы других типов:



Другой диапазон индексов:
вещтаб

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

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]


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

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

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



Обработка:
цел N = 5
целтаб

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

A[1:N]
| обработать A[1]
| обработать A[2]
| обработать A[3]
| обработать A[4]
|

обработать A[5]

Слайд 9 Как обработать все элементы массива?
Обработка с переменной:
i:= 1
|

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

обработать 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]
кц



Слайд 10 Простейшая программа
Объявление:



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

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

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


Слайд 11 Задания

«3»: Ввести c клавиатуры массив из 5 элементов,

Задания«3»: Ввести c клавиатуры массив из 5 элементов, умножить их на

умножить их на 2 и вывести на экран.

Пример:
Введите пять чисел:
4 15 3 10 14
Результат: 8 30 6 20 28
«4»: Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех элементов массива.
Пример:
Введите пять чисел:
4 15 3 10 14
среднее арифметическое 9.200

Слайд 12 Задания

«5»: Ввести c клавиатуры массив из 5 элементов,

Задания«5»: Ввести c клавиатуры массив из 5 элементов, найти минимальный из

найти минимальный из них.
Пример:
Введите пять чисел:

4 15 3 10 14
минимальный элемент 3

Слайд 13 Программирование на алгоритмическом языке. Часть II
Тема 2. Максимальный

Программирование на алгоритмическом языке. Часть IIТема 2. Максимальный    элемент массива

элемент массива


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




Решение:
считаем,

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

что первый элемент – максимальный
просмотреть остальные элементы массива: если очередной

элемент > M, то записать A[i] в M
вывести значение M

Слайд 15 Максимальный элемент
начало
конец

нет
да
нет
да
M:= A[1]
i:= 2


M:= A[i]


i:= i

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

+ 1


пока считаем,
что первый – максимальный
начать со

2-ого

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

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


Слайд 16 Максимальный элемент
алг Максимум
нач
цел i, N = 5,

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

M
целтаб A[1:N]
| здесь заполнить массив
M:=

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

Слайд 17 Максимальный элемент
M:= A[1] | пока первый – максимальный

Максимальный элементM:= A[1] | пока первый – максимальный iMax:= 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]


Слайд 18
Задания
«3»: Ввести с клавиатуры массив из 5 элементов,

Задания«3»: Ввести с клавиатуры массив из 5 элементов, найти в нем

найти в нем минимальный элемент и его номер.

Пример:
Исходный массив:
4 -5 10 -10 5
мимимальный A[4]=-10
«4»: Ввести с клавиатуры массив из 5 элементов, найти в нем максимальный и минимальный элементы и их номера.
Пример:
Исходный массив:
4 -5 10 -10 5
максимальный A[3]=10
минимальный A[4]=-10

Слайд 19
Задания
«5»: Ввести с клавиатуры массив из 5 элементов,

Задания«5»: Ввести с клавиатуры массив из 5 элементов, найти в нем

найти в нем два максимальных элемента и их номера.


Пример:
Исходный массив:
4 -5 10 -10 5
максимальные A[3]=10, A[5]=5

Слайд 20 Программирование на алгоритмическом языке. Часть II
Тема 3. Обработка

Программирование на алгоритмическом языке. Часть IIТема 3. Обработка массивов

массивов


Слайд 21 Случайно…
встретить друга на улице
разбить тарелку

Случайно… встретить друга на улице разбить тарелку найти 10 рублей выиграть

найти 10 рублей
выиграть в лотерею
Случайный выбор:
жеребьевка на

соревнованиях
выигравшие номера в лотерее

Как получить случайность?

Случайность и ее моделирование


Слайд 22
Электронный генератор
нужно специальное устройство
нельзя воспроизвести результаты

318458191041
564321
209938992481
458191
938992
малый период (последовательность

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

повторяется через 106 чисел)
Метод середины квадрата (Дж. фон Нейман)
в

квадрате

Псевдослучайные числа – обладают свойствами случайных чисел, но каждое следующее число вычисляется по заданной формуле.

Случайные числа на компьютере


Слайд 23 Модель: снежинки падают на отрезок [a,b]
распределение
равномерное
неравномерное
Распределение случайных чисел

Модель: снежинки падают на отрезок [a,b]распределениеравномерноенеравномерноеРаспределение случайных чисел

Слайд 24 Особенности:
распределение – это характеристика всей последовательности, а

Особенности: распределение – это характеристика всей последовательности, а не одного числаравномерное

не одного числа
равномерное распределение одно, компьютерные датчики случайных чисел

дают равномерное распределение
неравномерных – много
любое неравномерное можно получить с помощью равномерного


a

b

a

b

Распределение случайных чисел


Слайд 25 Вещественные числа в интервале [0,10):
Генератор случайных чисел
вещ

Вещественные числа в интервале [0,10): Генератор случайных чиселвещ X, YX:= rand(0,

X, Y
X:= rand(0, 10) | интервал от 0 до

10 (<10)
Y:= rand(0, 10) | это уже другое число!

англ. random – случайный

Целые числа в интервале [0,10]:

цел K, L
K:= irand(0, 10) | интервал от 0 до 10 (<10)
L:= irand(0, 10) | это уже другое число!

англ. integer – целый


Слайд 26 Заполнение массива случайными числами
цел i, N = 5
целтаб

Заполнение массива случайными числамицел i, N = 5целтаб A[1:N]вывод

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

N
A[i]:= irand(10, 30);
вывод A[i], " "
кц

Слайд 27 Подсчет элементов
Задача: заполнить массив случайными числами в интервале

Подсчет элементовЗадача: заполнить массив случайными числами в интервале [-1,1] и подсчитать

[-1,1] и подсчитать количество нулевых элементов.
Идея: используем переменную-счётчик.
Решение:
записать в

счётчик ноль
просмотреть все элементы массива: если очередной элемент = 0, то увеличить счётчик на 1
вывести значение счётчика

Слайд 28 Подсчет элементов
начало
конец

нет
да
нет
да
count:= 0
i:= 1


count:= count +

Подсчет элементовначалоконецнетданетда count:= 0 i:= 1count:= count + 1i:= i +

1


i:= i + 1


пока ни одного не нашли
начать с

1-ого

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

нашли еще 1


Слайд 29 Подсчет элементов
цел count, i, N = 10
целтаб A[1:N]
|

Подсчет элементовцел count, i, N = 10целтаб A[1:N]| здесь надо заполнить

здесь надо заполнить массив
count:= 0
нц для i от 1

до N
если A[i] = 0
то count:= count + 1
все
кц

перебираем все элементы массива


Слайд 30 Задания

«3»: Заполнить массив случайными числами в интервале [-2,2]

Задания«3»: Заполнить массив случайными числами в интервале [-2,2] и подсчитать количество

и подсчитать количество положительных элементов.
«4»: Заполнить массив случайными числами

в интервале [20,100] и подсчитать отдельно число чётных и нечётных элементов.
«5»: Заполнить массив случайными числами в интервале [1000,2000] и подсчитать число элементов, у которых вторая с конца цифра – четная.

Слайд 31 Сумма выбранных элементов
Задача: заполнить массив случайными числами в

Сумма выбранных элементовЗадача: заполнить массив случайными числами в интервале [-10,10] и

интервале [-10,10] и подсчитать сумму положительных элементов.
Идея: используем переменную

S для накопления суммы.


Решение:
записать в переменную S ноль
просмотреть все элементы массива: если очередной элемент > 0, то добавить к сумме этот элемент
вывести значение суммы

S:=0

S:= A[1]

S:= A[1]+A[2]

S:= A[1]+A[2]+A[3]

S:= A[1]+A[2]+…+A[N]


S:= S+A[i]


Слайд 32 Сумма выбранных элементов
начало
конец

нет
да
нет
да
S:= 0
i:= 1


S:= S

Сумма выбранных элементовначалоконецнетданетда S:= 0 i:= 1S:= S + A[i]i:= i

+ A[i]


i:= i + 1


пока ни одного не нашли
начать

с 1-ого

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

нашли еще 1


Слайд 33 Сумма выбранных элементов
цел S, i, N = 10
целтаб

Сумма выбранных элементовцел S, i, N = 10целтаб A[1:N]| здесь надо

A[1:N]
| здесь надо заполнить массив
S:= 0
нц для i от

1 до N
если A[i] > 0
то S:= S + A[i]
все
кц

перебираем все элементы массива


Слайд 34 Задания

«3»: Заполнить массив из 10 элементов случайными числами

Задания«3»: Заполнить массив из 10 элементов случайными числами в интервале [-10,10]

в интервале [-10,10] и подсчитать сумму всех отрицательных элементов.
«4»:

Заполнить массив из 10 элементов случайными числами в интервале [0,100] и подсчитать среднее значение всех элементов, которые <50.
«5»: Заполнить массив из 10 элементов случайными числами в интервале [10,12] и найти длину самой длинной последовательности стоящих рядом одинаковых элементов.

Пример:
Исходный массив:
10 10 11 12 12 12 10 11 11 12
Длина последовательности: 3



Слайд 35 Поиск в массиве
Задача – найти в массиве элемент,

Поиск в массивеЗадача – найти в массиве элемент, равный X, или

равный X, или установить, что его нет.
Пример: если

в классе ученик с фамилией Пупкин?
Алгоритм:
начать с 1-ого элемента (i:=1)
если очередной элемент (A[i]) равен X, то закончить поиск
иначе перейти к следующему элементу:


Слайд 36 Поиск элемента, равного X
начало
конец
нет
да
нет
да
i:= 1


i:= i + 1


начать

Поиск элемента, равного Xначалоконецнетданетдаi:= 1i:= i + 1начать с 1-огоперейти к следующему“Не нашли”“Есть!”

с 1-ого
перейти к следующему
“Не нашли”
“Есть!”


Слайд 37 Поиск в массиве
алг Поиск
нач
цел i, N

Поиск в массивеалг Поиск нач цел i, N = 5, X

= 5, X
целтаб A[1:N]
| здесь нужно

заполнить массив
вывод нс,"Что ищем? "
ввод X
i:= 1
нц пока i <= N
если A[i] = X то выход все
i:= i + 1
кц
если i <= N то
вывод "A[", i, "]=", X
иначе
вывод "Не нашли!"
все
кон

i – номер нужного элемента в массиве

выход из цикла


Слайд 38 Задания

«3»: Заполнить массив из 10 элементов случайными числами

Задания«3»: Заполнить массив из 10 элементов случайными числами в интервале [10..20]

в интервале [10..20] и найти элемент, равный X.

Пример:
Исходный массив:
13 10 18 12 20 11 13 14 15 20
Что ищем? 20
A[5] = 20
«4»: Заполнить массив из 10 элементов случайными числами в интервале [0..4] и вывести номера всех элементов, равных X.
Пример:
Исходный массив:
4 0 1 2 0 1 3 4 1 0
Что ищем? 0
A[2], A[5], A[10]

Слайд 39 Задания

«5»: Заполнить массив из 10 элементов случайными числами

Задания«5»: Заполнить массив из 10 элементов случайными числами в интервале [0..4]и

в интервале [0..4]и определить, есть ли в нем одинаковые

соседние элементы.
Пример:
Исходный массив:
4 0 1 2 0 1 3 1 1 0
Ответ: есть



Слайд 40 Программирование на алгоритмическом языке. Часть II
Тема 4. Символьные

Программирование на алгоритмическом языке. Часть IIТема 4. Символьные строки

строки


Слайд 41 Чем плох массив символов?
симтаб s[1:10]
Это массив символов:
каждый символ

Чем плох массив символов?симтаб s[1:10]Это массив символов:каждый символ – отдельный объект;массив

– отдельный объект;
массив имеет длину, которая задана при объявлении
Что

нужно:
обрабатывать последовательность символов как единое целое
строка должна иметь переменную длину

Слайд 42 Символьные строки
рабочая часть
s[1]
s[2]
s[3]
s[4]
лит s
Длина строки:
n:= длин(s)
цел n
Объявление строки:

Символьные строкирабочая частьs[1]s[2]s[3]s[4]лит sДлина строки:n:= длин(s)цел nОбъявление строки:

Слайд 43 Символьные строки
Задача: ввести строку с клавиатуры и заменить

Символьные строкиЗадача: ввести строку с клавиатуры и заменить все буквы «а»

все буквы «а» на буквы «б».
алг Замена а на

б
нач
лит s
вывод "Введите строку: "
ввод s
цел i
нц для i от 1 до длин(s)
если s[i] = "а"
то s[i]:= "б"
все
кц
вывод s
кон

длина строки


Слайд 44 Задания

«3»: Ввести символьную строку и заменить все буквы

Задания«3»: Ввести символьную строку и заменить все буквы «а» на буквы

«а» на буквы «б», как заглавные, так и строчные.

Пример:
Введите строку:
ааббссААББСС
Результат:
ббббссББББСС

«4»: Ввести символьную строку и заменить все буквы «а» на буквы «б» и наоборот, как заглавные, так и строчные.
Пример:
Введите строку:
ааббссААББСС
Результат:
ббаассББААСС


Слайд 45 Задания

«5»: Ввести символьную строку и проверить, является ли

Задания«5»: Ввести символьную строку и проверить, является ли она палиндромом (палиндром

она палиндромом (палиндром читается одинаково в обоих направлениях).

Пример: Пример:
Введите строку: Введите строку:
АБВГДЕ КАЗАК
Результат: Результат:
Не палиндром. Палиндром.

Слайд 46 Операции со строками
Объединение: добавить одну строку в конец

Операции со строкамиОбъединение: добавить одну строку в конец другой.Запись нового значения:лит

другой.
Запись нового значения:
лит s, s1, s2
s:= "Вася"
s1:= "Привет"
s2:= "Вася"
s

:= s1 + ", " + s2 + "!"

| "Привет, Вася!"

Подстрока: выделить часть строки в другую строку.

s:= "123456789"
s1:= s[3:8]
s2:= s1[2:4]

| "345678"

| "456"


Слайд 47 Удаление и вставка
Удаление части строки:
Вставка в строку:
s:= "123456789"
s:=

Удаление и вставкаУдаление части строки:Вставка в строку:s:=

удалить(s, 3, 6);
с 3-его символа
6 штук
строка
меняется!
'123456789'
'129'
s:= "123456789"
s:=

вставить("ABC", s, 3)
s:= вставить( "Q", s, 5 )

куда вставляем

что вставляем

начиная с 3-его символа

'12ABC3456789'

'12ABQC3456789'


Слайд 48 Поиск в строке (найти)
Поиск в строке:
s:= "Здесь был

Вася."
n:= найти("е", s)
если n > 0 то
вывод

"Буква е – это s[", n, "]"
иначе вывод "Не нашли"
все
n:= найти("Вася", s)
s1:= s[n:n+3]

s[3]

3

n = 11

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

цел n

Вася


Слайд 50 Пример решения задачи
Задача: Ввести имя, отчество и фамилию.

Пример решения задачиЗадача: Ввести имя, отчество и фамилию. Преобразовать их к

Преобразовать их к формату «фамилия-инициалы».
Пример:
Введите имя,

отчество и фамилию:
Василий Алибабаевич Хрюндиков
Результат:
Хрюндиков В.А.

Алгоритм:
найти первый пробел и выделить имя
удалить имя с пробелом из основной строки
найти первый пробел и выделить отчество
удалить отчество с пробелом из основной строки
«сцепить» фамилию, первые буквы имени и фамилии, точки, пробелы…


Слайд 51 Программа
использовать Строки
алг ФИО
нач
лит s, имя, отчество
цел

Программаиспользовать Строкиалг ФИОнач лит s, имя, отчество цел n вывод

n
вывод "Введите имя, отчество и фамилию"


ввод s
n:= найти(" ", s);
имя:= s[1:n-1] | вырезать имя
s:= удалить(s, 1, n)
n:= найти(" ", s)
отчество:= s[1:n-1] | вырезать отчество
s:= удалить(s, 1, n) | осталась фамилия
s:= s + " " + имя[1] + "." + отчество[1] + "."
вывод s
кон

Слайд 52 Задания

«3»: Ввести в одну строку фамилию, имя и

Задания«3»: Ввести в одну строку фамилию, имя и отчество, разделив их

отчество, разделив их пробелом. Вывести инициалы и фамилию.

Пример:
Введите фамилию, имя и отчество:
Иванов Петр Семёнович
Результат:
П.С. Иванов
«4»: Ввести имя файла (возможно, без расширения) и изменить его расширение на «.exe».
Пример:
Введите имя файла: Введите имя файла:
qqq qqq.com
Результат: Результат:
qqq.exe qqq.exe

Слайд 53 Задания

«5»: Ввести путь к файлу и «разобрать» его,

Задания«5»: Ввести путь к файлу и «разобрать» его, выводя каждую вложенную

выводя каждую вложенную папку с новой строки
Пример:


Введите путь к файлу:
C:\Мои документы\10-Б\Вася\qq.exe
Результат:
C:
Мои документы
10-Б
Вася
qq.exe

Слайд 54 Задачи на обработку строк
Задача: с клавиатуры вводится символьная

Задачи на обработку строкЗадача: с клавиатуры вводится символьная строка, представляющая собой

строка, представляющая собой сумму двух целых чисел, например:
12+35
Вычислить эту

сумму:
12+35=47

Алгоритм:
найти знак «+»
выделить числа слева и справа в отдельные строки
перевести строки в числа
сложить
вывести результат


Слайд 56 Программа
использовать Строки
алг Калькулятор
нач
лит s, s1, s2

Программаиспользовать Строкиалг Калькулятор нач лит s, s1, s2 цел n, n1,

цел n, n1, n2, sum
лог OK
вывод "Введите

выражение (сумму двух чисел): "
ввод s
n:= найти("+", s)
s1:= s[1:n-1]
s2:= s[n+1:длин(s)]
n1:= лит_в_цел(s1, OK)
n2:= лит_в_цел(s2, OK)
sum:= n1 + n2
вывод n1, "+", n2, "=", sum
кон

слагаемые-строки

слагаемые-числа

сумма

слагаемые-строки

слагаемые-числа


Слайд 57 Задания

«3»: Ввести арифметическое выражение: разность двух чисел. Вычислить

Задания«3»: Ввести арифметическое выражение: разность двух чисел. Вычислить эту разность. Пример:

эту разность.
Пример:
25-12
Ответ: 13
«4»: Ввести арифметическое

выражение: сумму трёх чисел. Вычислить эту сумму.
Пример:
25+12+34
Ответ: 71

Слайд 58 Задания

«5»: Ввести арифметическое выражение c тремя числами, в

Задания«5»: Ввести арифметическое выражение c тремя числами, в котором можно использовать

котором можно использовать сложение и вычитание. Вычислить это выражение.

Пример: Пример:
25+12+34 25+12-34
Ответ: 71 Ответ: 3
Пример: Пример:
25-12+34 25-12-34
Ответ: 47 Ответ: -21

Слайд 59 Задания

«6»: Ввести арифметическое выражение c тремя числами, в

Задания«6»: Ввести арифметическое выражение c тремя числами, в котором можно использовать

котором можно использовать сложение, вычитание и умножение. Вычислить это

выражение.
Пример: Пример:
25+12*3 25*2-34
Ответ: 61 Ответ: 16
Пример: Пример:
25-12+34 25*2*3
Ответ: 47 Ответ: 150

Слайд 60 Программирование на алгоритмическом языке. Часть II
Тема 5. Матрицы

Программирование на алгоритмическом языке. Часть IIТема 5. Матрицы

Слайд 61 Матрицы
Задача: запомнить положение фигур на шахматной доске.
1
2
3
4
5
6

c6
A[6,3]

МатрицыЗадача: запомнить положение фигур на шахматной доске.123456c6A[6,3]

Слайд 62 Матрицы
Матрица – это прямоугольная таблица чисел (или других

МатрицыМатрица – это прямоугольная таблица чисел (или других элементов одного типа).Матрица

элементов одного типа).
Матрица – это массив, в котором каждый

элемент имеет два индекса (номер строки и номер столбца).

A

строка 2

столбец 3

ячейка A[3,4]


Слайд 63 Матрицы
Объявление:
цел N = 3, M = 4
целтаб A[1:N,1:M]
целтаб

МатрицыОбъявление:цел N = 3, M = 4целтаб A[1:N,1:M]целтаб B[-3:0,-8:M]Ввод с клавиатуры:нц

B[-3:0,-8:M]
Ввод с клавиатуры:
нц для i от 1 до N

нц для j от 1 до M
вывод "A[", i, ",", j, "]="
ввод A[i,j]
кц
кц

A[1,1]=

25

A[1,2]=

14

A[1,3]=

14

...

A[3,4]=

54

i

j

нц для j от 1 до M
нц для i от 1 до N


Слайд 64 Матрицы
Заполнение случайными числами
нц для i от 1 до

МатрицыЗаполнение случайными числаминц для i от 1 до N нц для

N
нц для j от 1 до M

A[i,j]:= irand(20,80)
кц
кц

цикл по строкам

цикл по столбцам

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

нц для i от 1 до N



вывод нс
кц

нц для j от 1 до M
вывод A[i,j]
кц

вывод строки


, " "


Слайд 65 Обработка всех элементов матрицы
Задача: заполнить матрицу из 3

Обработка всех элементов матрицыЗадача: заполнить матрицу из 3 строк и 4

строк и 4 столбцов случайными числами и вывести ее

на экран. Найти сумму элементов матрицы.

алг Сумма
нач
цел N = 3, M = 4, i, j
целтаб A[1:N,1:M]
| заполнение матрицы и вывод на экран
цел S = 0
нц для i от 1 до N
нц для j от 1 до M
S:= S + A[i,j]
кц
кц
вывод "Сумма элементов матрицы: ", S
кон


Слайд 66 Задания

Заполнить матрицу из 8 строк и 5 столбцов

ЗаданияЗаполнить матрицу из 8 строк и 5 столбцов случайными числами в

случайными числами в интервале [10,90] и вывести ее на

экран. Затем …

«3»: Удвоить все элементы матрицы и вывести её на экран.
«4»: Найти минимальный и максимальный элементы в матрице их номера. Формат вывода:
Минимальный элемент A[3,4]=11
Максимальный элемент A[2,2]=89
«5»: Вывести на экран строку, сумма элементов которой максимальна. Формат вывода:
Строка 2: 13 25 18 79 38


Слайд 67 Программирование на алгоритмическом языке
Тема 7. Алгоритмы-функции

Программирование на алгоритмическом языкеТема 7. Алгоритмы-функции

Слайд 68 Максимум из трех
начало
конец
a > b?
да

x:= a

нет
x:= b


c >

Максимум из трехначалоконецa > b?даx:= aнетx:= bc > x?даx:= cabxxcнет

x?
да

x:= c


a
b
x
x
c
нет


Слайд 69 Максимум из трех
алг цел Макс3(цел a, b, c) нач

Максимум из трехалг цел Макс3(цел a, b, c) нач цел x

цел x если a > b то

x:= a иначе x:= b все если c > x то x:= c все знач := x кон

знач

цел x

цел

результат – целое число

внутренняя (локальная) переменная

результат (значение) функции


Слайд 70 Максимум из трех
алг Максимум
нач
цел Z, X, C,

Максимум из трехалг Максимумнач цел Z, X, C, M вывод

M
вывод "Введите три числа "
ввод Z, X,

C
M:= Макс3(Z, X, C)
вывод "Максимум: ", M
кон

алг цел Макс3(цел a, b, c) нач ... кон

вызов функции

имена параметров могут быть любые!


Слайд 71 Максимум из пяти
алг Максимум
нач
цел Z, X, C,

Максимум из пятиалг Максимумнач цел Z, X, C, V, B, M

V, B, M
ввод Z, X, C, V, B

M:= Макс3( Макс3(Z,X,C), V, B)
вывод "Максимум: ", M
кон

алг цел Макс3(цел a, b, c) нач ... кон

???


Слайд 72 НОД трёх чисел
Задача: ввести три числа и найти

НОД трёх чиселЗадача: ввести три числа и найти наибольший общий делитель

наибольший общий делитель (НОД). Используйте формулу
НОД(a,b,c) = НОД(НОД(a,b), c)


Решение: построить вспомогательный алгоритм для вычисления НОД двух чисел и применить (вызвать) его два раза.


Слайд 73 Общий вид программы
алг НОД трёх чисел
нач
цел a,

Общий вид программыалг НОД трёх чиселнач цел a, b, c, N

b, c, N
вывод "Введите три числа", нс
ввод

a, b, c
N:= НОД(НОД(a,b), c)
вывод N
кон

алг цел НОД(цел x, y)
нач
| здесь нужно вычислить НОД(x,y)
кон

основной алгоритм

вспомогательный алгоритм

???


Слайд 74 Блок-схема алгоритма Евклида

начало
конец

Блок-схема алгоритма Евклиданачалоконец

Слайд 75 Алгоритм Евклида
алг цел НОД(цел x, y)
нач
цел a,

Алгоритм Евклидаалг цел НОД(цел x, y)нач цел a, b a:= x;

b
a:= x; b:= y | копии параметров
нц

пока a <> b
если a > b
то a:= a - b
иначе b:= b - a
все
кц
знач:= a | результат функции
кон

Слайд 76 Рекурсивные функции
Факториал:
если
если
алг цел Факт(цел N)
нач
если N

Рекурсивные функцииФакториал:еслиеслиалг цел Факт(цел N) нач если N < 2

< 2
то знач:= 1
иначе

знач:= N*Факт(N-1)
все
кон

алг цел Факт(цел N)
нач
цел i
знач:= 1
нц для i от 2 до N
знач:= знач*i
кц
кон


Слайд 77
Задания
«3»: Составить функцию, которая определяет НАИМЕНЬШЕЕ из трёх

Задания«3»: Составить функцию, которая определяет НАИМЕНЬШЕЕ из трёх чисел и привести

чисел и привести пример ее использования.
Пример:

Введите три числа:
28 15 10
Наименьшее число 10.
«4»: Составить функцию, которая вычисляет НАИМЕНЬШЕЕ из четырёх чисел и привести пример ее использования.
Пример:
Введите четыре числа:
10 20 5 25
Наименьшее число 5.

Слайд 78
Задания
«5»: Составить функцию, которая определяет сумму всех чисел

Задания«5»: Составить функцию, которая определяет сумму всех чисел от 1 до

от 1 до N и привести пример ее использования.

Пример:
Введите число:
100
Сумма чисел от 1 до 100 = 5050

Слайд 79 Логические функции
Задача: составить функцию, которая определяет, верно ли,

Логические функцииЗадача: составить функцию, которая определяет, верно ли, что заданное число

что заданное число – четное.
Особенности:
ответ – логическое значение (да

или нет)
результат функции можно использовать как логическую величину в условиях (если, пока)
Алгоритм: если число делится на 2, оно четное.

если mod(N,2)= 0
то | число N четное
иначе | число N нечетное
все


Слайд 80 Логические функции
алг лог Четное(цел N)
нач
если mod(N,2) =

Логические функцииалг лог Четное(цел N)нач если mod(N,2) = 0 то знач:=

0
то знач:= да
иначе знач:= нет

все
кон

логическое значение (да или нет)



Слайд 81 Логические функции
алг Проверка четности
нач
цел x
вывод "Введите

Логические функцииалг Проверка четностинач цел x вывод

целое число: "
ввод x
если Четное(x)
то

вывод "Число четное."
иначе вывод "Число нечетное."
все
кон

алг лог Четное(цел N)
нач
...
кон


Слайд 82 Задания

«3»: Составить функцию, которая определяет, верно ли, что

Задания«3»: Составить функцию, которая определяет, верно ли, что число оканчивается на

число оканчивается на 0.
Пример:
Введите число: Введите число:

170 237
Верно. Неверно.
«4»: Составить функцию, которая определяет, верно ли, что в числе вторая цифра с конца больше 6.
Пример:
Введите число: Введите число:
178 237
Верно. Неверно.

Слайд 83 Задания

«5»: Составить функцию, которая определяет, верно ли, что

Задания«5»: Составить функцию, которая определяет, верно ли, что переданное ей число

переданное ей число – простое (делится только на само

себя и на единицу).
Пример:
Введите число: Введите число:
29 28
Простое число. Составное число.

Слайд 84 Программирование на алгоритмическом языке. Часть II
Тема 8. Построение

Программирование на алгоритмическом языке. Часть IIТема 8. Построение графиков функций

графиков функций


Слайд 85 Построение графиков функций

Задача: построить график функции y =

Построение графиков функцийЗадача: построить график функции y = x2 на интервале

x2 на интервале от -2 до 2.
Анализ:
максимальное значение


ymax = 4 при x = ±2
минимальное значение
ymin = 0 при x = 0
Проблема: функция задана в математической системе координат, строить надо на экране, указывая координаты в пикселях.

Слайд 86 Преобразование координат

(x,y)
x
y
Математическая
система координат
Экранная система координат (пиксели)

(xэ,yэ)


(0,0)
(0,0)
x0
y0
k –

Преобразование координат(x,y)xyМатематическая система координатЭкранная система координат (пиксели)(xэ,yэ)xэyэ(0,0)(0,0)x0y0k – масштаб (длина изображения

масштаб (длина изображения единичного отрезка на экране)
xэ = x0

+ kx
yэ = y0 - ky






Слайд 87 Программа

на экране
оси координат
цикл построения графика


использовать Рисователь
алг График
нач
цел

Программана экранеоси координатцикл построения графикаиспользовать Рисовательалг Графикнач цел x0=150, y0=250, k=50,

x0=150, y0=250, k=50, xe, ye
вещ xmin=-2, xmax=2, x,

y, h
в точку(0,y0)
линия в точку(x0+150,y0)
в точку(x0,0)
линия в точку(x0,y0+20)
x:=xmin; h:=0.02
нц пока x <= xmax
y:= x*x
xe:= x0 + int(k*x)
ye:= y0 - int(k*y)
пиксель(xe,ye,"красный")
x:=x+h
кц
кон

h – шаг изменения x


Слайд 88 Как соединить точки?

Алгоритм:
Если первая точка
перейти в точку

Как соединить точки?Алгоритм:Если первая точка перейти в точку (xэ,yэ)иначе линия в

(xэ,yэ)
иначе
линия в точку (xэ,yэ)
Программа:


начальное значение
выбор варианта действий

логическая

переменная

лог первая
...
первая:= да
нц пока x <= xmax
...
если первая то
в точку(xe, ye)
первая:= нет
иначе
линия в точку(xe, ye)
все
кц


Слайд 89 Задания

«3»: Построить график функции на интервале

Задания«3»: Построить график функции   на интервале [-2,2]. «4»: Построить

[-2,2].




«4»: Построить графики функций

и
на интервале [-2,2].




Слайд 90 Задания

«5»: Построить графики функций

Задания«5»: Построить графики функций      ина интервале [-2,2]. Соединить точки линиями.

и
на интервале [-2,2].

Соединить точки линиями.





  • Имя файла: programmirovanie-na-algoritmicheskom-yazyke-massivy-chast-2-tema-1-8-klass.pptx
  • Количество просмотров: 111
  • Количество скачиваний: 0