
- •Смоленский гуманитарный университет
- •Часть 1. Основы алгоритмизации
- •Тема 1 «Алгоритмы линейной структуры»
- •Ход работы
- •Тема 2 «Алгоритмы разветвляющейся структуры»
- •Ход работы
- •Тема 3 «Алгоритмы циклической структуры»
- •Ход работы
- •Тема 4 «Вложенные циклы»
- •Ход работы
- •Тема 5 «Массивы»
- •Ход работы
- •Часть 2. Программирование
- •Тема 6 «Линейная структура программы»
- •Примеры решения задач
- •Ход работы
- •Тема 7 «Разветвляющая структура программы»
- •Примеры решения задач
- •Ход работы
- •Тема 8 «Циклическая структура программы»
- •Примеры решения задач
- •1 Способ
- •2 Способ.
- •1 Способ
- •2 Способ
- •1 Способ
- •2 Способ
- •1 Способ
- •2 Способ
- •Ход работы
- •Тема 9 «Понятие подпрограммы. Организация процедур и функций»
- •Примеры решения задач
- •Ход работы
- •Тема 10 «Рекурсия»
- •Примеры решения задач
- •Ход работы
- •Тема 11 «Строковый тип данных. Методы работы со строками»
- •Ход работы
- •Тема 12 «Тип данных массив»
- •Примеры решения задач
- •1 Способ
- •2 Способ
- •1 Способ
- •2 Способ
- •1 Способ
- •2 Способ
- •Алгоритм
- •1 Способ
- •2 Способ
- •1 Способ
- •2 Способ
- •Алгоритм
- •Работа программы
- •Ход работы
- •Тема 13 «Тип данных - запись»
- •Ход работы
- •Тема 14 «Файлы. Типы файлов. Методы работы с файлами»
- •Примеры решения задач
- •1 Способ
- •2 Способ
- •Ход работы
- •Тема 15 «Множества»
- •Ход работы
- •Тема 16 «Работа с мультимедиа»
- •Ход работы
- •Максимова Наталья Адександровна Основы программирования
- •214014, Г. Смоленск, ул. Герцена, 2
Тема 12 «Тип данных массив»
Цель: Познакомиться с организацией массивов.
Вопросы к допуску и защите:
В каких случаях используется массив?
Дайте определение массива.
Как описать одномерный массив?
Как описать двумерный массив?
Как задать значения массива?
Как вывести на экран массив?
Как найти сумму элементов массива?
Как найти номер заданного элемента массива?
Как найти количество элементов массива?
Примеры решения задач
Задача 1. Предположим, что перед вами возникла следующая задача:
Географ передал вам набор показаний температуры, которые снимались в полдень в течение июня месяца текущего года. Он просит вас написать программу, которая проанализирует эти данные.
Например, ему хотелось бы знать:
а) среднюю температуру в июне;
б) число дней, в которых температура была выше 23 градусов.
Решение
1 Способ
Program Temperature;
uses WinCrt;
var
t : array[1..30] of integer;
i, k : integer;
s : real;
begin
for i := 1 to 30 do
begin
write('Введите температуру в ',i,' - день '); readln(t[i])
end;
s := 0; k := 0;
for i := 1 to 30 do
begin
s := s + t[i];
if t[i] > 23 then k := k + 1
end;
writeln('Средняя температура в июне ', s/30:4:2);
writeln('Число дней с температурой больше 23 град. ', k)
end.
2 Способ
Program Temperature;
uses WinCrt;
type
a = array[1..30] of integer;
var
t : a; i, k : integer; s : real;
begin
for i := 1 to 30 do
begin
write('Введите температуру в ', i, ' - день '); readln(t[i])
end;
s := 0; k := 0;
for i := 1 to 30 do
begin
s := s + t[i];
if t[i] > 23 then k := k + 1
end;
writeln('Средняя температура в июне ', s/30:4:2);
writeln('Число дней с температурой больше 23 град. ', k)
end.
Задача 2. Составить программу подсчета суммы элементов массива из 20 чисел, имеющих четные порядковые номера.
Решение
1 Способ
Program Problem2;
uses WinCrt;
const
n = 20;
type
t = array[1..n] of integer;
var
a : t;
s, i : integer;
{----------------------------------------------------------------------------------------}
Procedure create(n : integer; var a: t);
var
i: integer;
begin
randomize;
writeln('Заданный массив целых чисел');
for i := 1 to n do
begin
a[i] := random(201)-100; write(a[i], ' ')
end;
writeln
end;
{----------------------------------------------------------------------------------------}
begin
create(n, a);
s := 0;
for i := 1 to n do
if i mod 2 = 0 then s := s + a[i];
writeln('Сумма элементов с четными номерами равна ', s)
end.