Подведение итогов г. Н.Новгород школа 58
Блиц-опрос! Что такое двумерный массив? Как его описать? Как заполнить двумерный массив? Приведите примеры заполнения двумерного массива различными способами. Как вывести двумерный массив на экран? Матрицы бывают прямоугольные и какие? Матрицы бывают верхние треугольные и? У квадратной матрицы есть главная диагональ и?
Опр-е: Массив – это набор переменных одного типа, имеющее одно общее имя. Массивы характеризуются двумя параметрами: Размер массива – это количество элементов в массиве. Размерность массива – это число индексов, которые определяют элемент массива. В зависимости от размерности массивы бывают: Одномерные (линейные), двумерные, трёхмерные и т.д. Оператор DIM описывает массив, сообщая компьютеру о нужном для массива объёме памяти, например: DIM A(25), B2(10,20), C3(3,4,5)
Формирование и вывод линейного массива 1. В режиме диалога с клавиатуры: Input "Введите размер массива ",N Dim A(N) For i =1 To N : Input A(i): Next For i =1 To N : ? A(i); Next вывод в строчку 2. По формуле (с помощью оператора LET): Input "Введите размер массива ",N Dim A(N) For i =1 To N: A(i)=Int(Rnd*99+1): ? A(i); : Next 3. С помощью операторов DATA, READ: Data 7,4,0,1,3,9 For i =1 To 6: Read A(i): ? A(i) : Next вывод в столбик
Среднее арифметическое элементов массива S=0 For i =1 To N : S=S + a(i): Next Sr=S / N ? Сумма равна ; S ? Среднее арифметическое равно ; Sr
Анализ элементов массива Схема: S=0: Р=1: К=0 For I = нач. знач. То кон. знач. Step шаг For J = нач. знач. Тo кон. знач. Step шаг If условие Then S=S + A(I): P=P * A(I): K=K + 1: ? A(I); ;: ? I; ; сумма произведение подсчёт вывод вывод элемента номера массива элемента Next J Next i Условия могут быть - простыми: A(i) =3; A(i)<>A(j); A(i)/2=A(i)\2 - составными: A(i)>40 And A(i) =50
Анализ элементов массива Задача: Найти произведение и номера всех элементов массива из интервала от 20 до 50 For I = 1 То N If Then Next i ? Произведение равно ; P Р=1 A(i)>20 And A(i)<50P=P * A(I): ? I; ; произведение вывод номера элемента
Анализ элементов массива Задача: Суммировать и подсчитать все кратные трём элементы массива For I = 1 То N If Then Next i ? Сумма равна ; S ? Количество равно ;K S=0: К=0 A(i)/3=A(i)\3 S=S + A(I): K=K + 1 сумма подсчёт
Поиск и максимального (минимального) элементов массива. ? : ? Max= -1E+38 For i = 1 To N If A(i) > Max Then Max = A(i) : Nmax = i Next ? "максимальный элемент равен "; Max ? "его номер равен "; Nmax
Поиск и максимального (минимального) элементов массива. ? : ? Min= 1E+38 For i = 1 To N If A(i) < Min Then Min = A(i) : Nmin = i Next ? "минимальный элемент равен "; Min ? "его номер равен "; Nmin
Поиск и максимального (минимального) элементов массива. ? : ? Max=a(1): Nmax=1 For i = 2 To N If A(i) > Max Then Max = A(i) : Nmax = i Next ? "максимальный элемент равен "; Max ? "его номер равен "; Nmax
Удаление М-го элемента Input "Введи номер удаляемого элемента "; М For i = М+1 То N Пример: A(i-1) = A(i) Пусть N=6, М=3 Next Массив : A(N)=0 Цикл: For i=4 To 6 А(3)=А(4), А(4)=А(5), А(5)=А(6) Массив:
Удаление элемента массива Задача: Удалить максимальный элемент массива Input "Введи номер удаляемого элемента "; М For i = Nmax+1 То N A(i-1) = A(i) Next A(N)=0
Input "Введите размер массива ", N Dim A(N+1) Input "Введите вставляемый элемент ", В Input "Ведите его номер ", М For i = N То М Step –1 A(i+1)=A(i) Next A(M) = В Вставка элемента с номером М Пример: Пусть N=6, М=4, В=10 Мaccue: Цикл: For i = б То 4 Step –1 А(7)=А(6), А(6)=А(5), А(5)=А(4) А(4) = 10 Маccue:
Перестановка местами L-го и М- го элементов массива: R = A(L) : A(L) = А(М) : А(М) = R Пример: Пусть А(5)=1, А(8)=0 R =А(5) = 1 А(5) =А(8) =0 А(8) =R =1 Теперь А(5)=0, А(8)=1
Сортировка линейного массива размером N в порядке возрастания с выбором минимального элемента FOR i = 1 TO n – 1 min = a(i): m = i FOR j = i + 1 TO n IF min > a(j) THEN min = a(j): m = j NEXT j r = a(i): a(i) = a(m): a(m) = r NEXT i
Сортировка линейного массива размером N в порядке возрастания методом «Пузырька» FOR I= 1 TO N – 1 FOR J= 1 TO N – I IF A(J)>A(J+1) THEN R= A(J) A(J)= A(J+1) A(J+1)= R ENDIF
Задача: Сформировать и вывести на экран массив оценок учеников класса (их количество произвольно) по ряду (пусть пока четырём) школьным предметам. Оценки считать целыми случайными числами от 1 до 5. Сосчитать: 1. средний балл успеваемости каждого ученика по всем предметам; 2. средний балл по каждому предмету по всем ученикам; 3. средний балл успеваемости всех учеников по всем предметам; 4. максимальный и минимальный средний балл успеваемости учеников (с указанием фамилий); 5. успеваемость и качество по каждому предмету; 6. отсортировать учеников в порядке убывания их средних баллов.
Всё