Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемБорис Успенский
1 К. Поляков, Программирование на алгоритмическом языке. Часть II 1.МассивыМассивы 2.Максимальный элемент массиваМаксимальный элемент массива 3.Обработка массивовОбработка массивов 4.Символьные строкиСимвольные строки 5.МатрицыМатрицы 6.Алгоритмы-функцииАлгоритмы-функции 7.Построение графиков функцийПостроение графиков функций
2 К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 1. Массивы
3 Программирование на алгоритмическом языке. Часть II К. Поляков, Массив – это группа однотипных элементов, имеющих общее имя и расположенных в памяти рядом. Особенности: все элементы имеют один тип весь массив имеет одно имя все элементы расположены в памяти рядом Примеры: список учеников в классе квартиры в доме школы в городе данные о температуре воздуха за год Массивы
4 Программирование на алгоритмическом языке. Часть II К. Поляков, Массивы A массив 3 15 НОМЕР элемента массива (ИНДЕКС) НОМЕР элемента массива (ИНДЕКС) A[1] A[2] A[3] A[4] A[5] ЗНАЧЕНИЕ элемента массива A[2] НОМЕР (ИНДЕКС) элемента массива: 2 ЗНАЧЕНИЕ элемента массива: 10
5 Программирование на алгоритмическом языке. Часть II К. Поляков, Объявление массивов Зачем объявлять? определить имя массива определить тип массива определить число элементов выделить место в памяти Массив целых чисел: Размер через переменную: имя начальный индекс конечный индекс тип элементов тип элементов целтаб A[ 1 : N ] цел N = 5 N целтаб A[ 1 : 5 ]
6 Программирование на алгоритмическом языке. Часть II К. Поляков, Объявление массивов Массивы других типов: Другой диапазон индексов: вещтаб X[1:10], Y[1:20] | вещественные X[1] := 4.25 симтаб S[1:20] | символьный S[1] := "z" логтаб L[1:5] | логический L[1] := да | да или нет вещтаб 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] целтаб Q[0:9] вещтаб C[-5:13]
7 Программирование на алгоритмическом языке. Часть II К. Поляков, Что неправильно? целтаб A [10:1]... A[5] := 4.5; целтаб A [10:1]... A[5] := 4.5; [1:10] целтаб A[1:10]... A[15] := "a" целтаб A[1:10]... A[15] := "a"
8 Программирование на алгоритмическом языке. Часть II К. Поляков, Как обработать все элементы массива? Объявление: Обработка: цел N = 5 целтаб A[1:N] цел N = 5 целтаб A[1:N] | обработать A[1] | обработать A[2] | обработать A[3] | обработать A[4] | обработать A[5] | обработать A[1] | обработать A[2] | обработать A[3] | обработать A[4] | обработать A[5] 1) если N велико (1000, )? 2) при изменении N программа не должна меняться! ?
9 Программирование на алгоритмическом языке. Часть II К. Поляков, Как обработать все элементы массива? Обработка с переменной: 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:= 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
10 Программирование на алгоритмическом языке. Часть II К. Поляков, Простейшая программа Объявление: Ввод с клавиатуры: Обработка каждого элемента: цел N = 5, i целтаб A[1:N] цел N = 5, i целтаб A[1:N] нц для i от 1 до N вывод "A[",i,"]=" ввод A[i] кц нц для i от 1 до N вывод "A[",i,"]=" ввод A[i] кц A[1] = A[2] = A[3] = A[4] = A[5] = нц для i от 1 до N A[i]:= A[i]+1 кц нц для i от 1 до N A[i]:= A[i]+1 кц вывод "Массив A", нс нц для i от 1 до N вывод A[i], " " кц вывод "Массив A", нс нц для i от 1 до N вывод A[i], " " кц Массив A: Вывод на экран:
11 Программирование на алгоритмическом языке. Часть II К. Поляков, Задания «3»: Ввести c клавиатуры массив из 5 элементов, умножить их на 2 и вывести на экран. Пример: Введите пять чисел: Результат: «4»: Ввести c клавиатуры массив из 5 элементов, найти среднее арифметическое всех элементов массива. Пример: Введите пять чисел: среднее арифметическое При изменении N остальная программа не должна изменяться! !
12 Программирование на алгоритмическом языке. Часть II К. Поляков, Задания «5»: Ввести c клавиатуры массив из 5 элементов, найти минимальный из них. Пример: Введите пять чисел: минимальный элемент 3
13 К. Поляков, Программирование на алгоритмическом языке. Часть II Тема 2. Максимальный элемент массива
14 Программирование на алгоритмическом языке. Часть II К. Поляков, Максимальный элемент Задача: найти в массиве максимальный элемент. Алгоритм: Решение: 1)считаем, что первый элемент – максимальный 2)просмотреть остальные элементы массива: если очередной элемент > M, то записать A[i] в M 3)вывести значение M
15 Программирование на алгоритмическом языке. Часть II К. Поляков, Максимальный элемент начало конец нет да нет да i M? M:= A[i] i:= i + 1 пока считаем, что первый – максимальный пока считаем, что первый – максимальный начать со 2-ого перейти к следующему нашли новый максимум
16 Программирование на алгоритмическом языке. Часть II К. Поляков, Максимальный элемент алг Максимум нач цел i, N = 5, M целтаб A[1:N] | здесь заполнить массив M:= A[1] | пока максимальный – A[1] нц для i от 2 до N если A[i] > M то M:= A[i] все кц вывод "Максимальный элемент ", M кон алг Максимум нач цел i, N = 5, M целтаб A[1:N] | здесь заполнить массив M:= A[1] | пока максимальный – A[1] нц для i от 2 до N если A[i] > M то M:= A[i] все кц вывод "Максимальный элемент ", M кон M то M:= A[i] все кц вывод "Максимальный элемент ", M кон">
17 Программирование на алгоритмическом языке. Часть II К. Поляков, Максимальный элемент M:= A[1] | пока первый – максимальный iMax:= 1 нц для i от 2 до N | проверяем остальные если A[i] > M то | нашли еще больше M:= A[i] | запомнить A[i] iMax:= i | запомнить i все кц вывод "Максимальный элемент A[",iMax,"]=",M 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] Как упростить? ? M то | нашли еще больше M:= A[i] | запомнить A[i] iMax:= i | запомнить i все кц вывод "Максимальный элемент A[",iMax,"]=",M Дополнение: как найти номер максимального элемента? По номеру элемента iMax всегда можно найти его значение A[iMax]. Поэтому везде меняем M на A[iMax] и убираем переменную M. A[iMax] Как упростить? ?">
18 Программирование на алгоритмическом языке. Часть II К. Поляков, Задания «3»: Ввести с клавиатуры массив из 5 элементов, найти в нем минимальный элемент и его номер. Пример: Исходный массив: мимимальный A[4]=-10 «4»: Ввести с клавиатуры массив из 5 элементов, найти в нем максимальный и минимальный элементы и их номера. Пример: Исходный массив: максимальный A[3]=10 минимальный A[4]=-10
19 Программирование на алгоритмическом языке. Часть II К. Поляков, Задания «5»: Ввести с клавиатуры массив из 5 элементов, найти в нем два максимальных элемента и их номера. Пример: Исходный массив: максимальные A[3]=10, A[5]=5
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.