![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Тема 12
«Тип данных массив» Цель: Познакомиться с организацией массивов.
Вопросы к допуску и защите: 1. В каких случаях используется массив? 2. Дайте определение массива. 3. Как описать одномерный массив? 4. Как описать двумерный массив? 5. Как задать значения массива? 6. Как вывести на экран массив? 7. Как найти сумму элементов массива? 8. Как найти номер заданного элемента массива? 9. Как найти количество элементов массива?
Примеры решения задач Задача 1. Предположим, что перед вами возникла следующая задача: Географ передал вам набор показаний температуры, которые снимались в полдень в течение июня месяца текущего года. Он просит вас написать программу, которая проанализирует эти данные. Например, ему хотелось бы знать: А) среднюю температуру в июне; Б) число дней, в которых температура была выше 23 градусов. Решение Способ 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. Способ 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 чисел, имеющих четные порядковые номера. Решение Способ 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. Способ Program Problem2; uses WinCrt; Const n = 20; Type t = array [1..n] of integer; Var a: t; s, i: integer; begin randomize; writeln('Заданный массив целых чисел'); s: = 0; for i: = 1 to n do begin a[i]: = random(201)-100; write(a[i], ' '); if i mod 2 = 0 t hen s: = s + a[i] end; writeln; writeln('Сумма элементов с четными номерами равна ', s) end. Задача 3. В одномерном массиве необходимо найти номер заданного пользователем числа и переставить его на первое место в массиве, последовательно переставляя с соседними элементами.
|