Одномерный массив
- Можно ли в языках программирования использовать таблицы?
Таблицы в языке программирования называют массивами.
Массив - это структура данных, представляющая собой совокупность элементов одного типа;
Массивы могут быть одномерными (одна строка или столбец) и двумерными.
Объявление массива Массив объявляется в разделе описания переменных:
VAR
А: array [1..10] of integer;
Доступ к элементам массива осуществляется путем указания индека (номера) элемента: А[1] - первый элемент массива.
Для ввода - вывода элементов в массив используют цикл for.
Решение задач
1. Вычислить сумму значений элементов массива Program Sum; Const N=10; Var a:array [1..N] of integer; i:integer; s:longint; begin for i:=1 to N do a[i]:=random(100); s:=0; for i:=1 to N do s:=s+a[i]; writeln('s=',s); readln; end. Самостоятельно: просуммировать только те элементы, значения которых кратно 3. Алгоритм: - заполнить массив элементами; - организовать цикл по суммированию элементов массива; - проверить в цикле условие кратности 3-м. Если условие выполняется, то добавить значение элемента к сумме.
2. Найти среднее арифметическое массива.
Program SredArifm: Const N=10; Var a:array [1..N] of integer; i:integer; s:real; begin for i:=1 to N do a[i]:=random(100); s:=0; for i:=1 to N do s:=s+a[i]; s:=s/N; writeln('s=',s); readln; end. Самостоятельно: найти среднее арифметическое только тех элементов, значения которые расположены в интервале от -15 до 20.
Алгоритм:
- заполнить массив элементами;
- организовать цикл по суммированию элементов массива;- условие в цикле: if (a[i]>-15) and (a[i]<20) then
3. Найти максимальный элемент в массиве.
Алгоритм:
- заполнить массив элементами;
- организовать поиск максимального элемента: max:=a[1]; for i:=2 to N do begin if a[i]>max then max:=a[i]; end; - вывести максимальный элемент на экран. Самостоятельно: найти индекс максимального элемента.
ОН-ЛАЙН ТЕСТ "МАССИВЫ" (К.Поляков) ОН-ЛАЙН ТЕСТ "Алгоритмы обработки массивов" (К.Поляков)
Разминка
1. Укажите, с помощью какого цикла можно заполнить массив элементами [4, 6, 8, 19, 12, 14, 16, 18] а)
For i:= 1 to 8 do A[i]:=i*2
б)
For i:= 1 to 8 do A[i]:=i*2+2
в)
For i:= 1 to 8 do A[i]:=i*2-2
г)
For i:= 1 to 8 do A[i]:=i*2
д)
For i:= 1 to 8 do A[i]:=i*i
Задачи
Установите, какая задача решается в предложенной программе:
var u,v,w:array [1..n] of integer; i,s,t:integer; begin s:=0; t:=0; for i:=1 to 10 do begin readln(u[i]);
readln(u[i]);
end; for i:=1 to n do begin t:=u[i]+v[i]; w[i]:=t; writeln(w[j]); s:=s+t; t:=0; end; writeln(s); end.
Компьютерный практикум:
1. Написать программу, которая вводит с клавиатуры одномерный массив из 5 целых чисел и выводит количество ненулевых элементов. Перед вводом каждого элемента на экране должна появляться подсказка с его номером. 2. Написать программу, которая выводит минимальный элемент введенного с клавиатуры массива целых чисел. 3. Написать программу, вычисляющую среднее арифметическое ненулевых элементов введенного с клавиатуры массиа целых чисел 4. Написать программу, которая вычисляет среднюю за неделю температуру воздуха. Исходные данные вводятся во время работы программы. Рекомендуемый вид экрана: Понедельник - 12 Вторник - 10 Среда - 17 Четверг - 18 Пятница - 17 Суббота - 16 Воскресенье - 14 Средняя температура за неделю: 14,71 град. 5. Написать программу, которая проверяет находится ли в массиве введенное с клавиатуры число. 6. Написать программу, которая проверяет сколько раз введенное с клавиатуры число встречается в массиве. 7. Написать программу, проверяющую есть ли во введенном с клавиатуры массиве элементы с одинаковым значением. 8. Сортировка массива. 9.* Опишите на Паскале алгоритм циклического сдвига элементов числового массива из 15 элементов вправо на К элементов (дополнительный массив не использовать) 10*. Опишите на Паскале алгоритм поиска числа, наиболее часто встречающегося в числовом массиве из 15 элементов. Если таких чисел окажется несколько, то результатом должно быть любое из них. 11*. Написать программу, которая объединяет два упорядоченных по возрастанию массива в один, также упорядоченный по возрастанию массив. Рекомендуемый вид программы: Введите элементы первого массива 1 3 5 7 9 Введите элементы второго массива 2 4 6 8 10 Массив - результата 1 2 3 4 5 6 7 8 9 10 Для завершения работы нажмите Enter
Домашнее задание: Жилин А.С. Типовые варианты задач к тематическому разделу "Основы программирования" смотреть
Для любознательных:
В.В. Пупышев "50 задач по началам программирования" смотреть
|