![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Лабораторная работа № 6. Цель работы: освоение приемов объявления, обращения и использования массивов при решении задач.
Тема: МАССИВЫ (ОДНОМЕРНЫЕ) Цель работы: освоение приемов объявления, обращения и использования массивов при решении задач. Типовые алгоритмы обработки одномерных массивов Рассмотрим некоторые типовые алгоритмы обработки массивов. Положим, что в декларативной части программы описаны следующие переменные: одномерные массивы А и В, переменные целого типа i, nEl, key, kol, temp.
Const n=10; // число элементов в массивах Type tAr= array [1..n] of integer; // структура данных: массив из n (10) значений типа integer Var A, B: tAr; // переменные типа tAr (массивы) i, // счетчик циклов nEl, // номер элемента в массиве key, // ключ для поиска kol, // количество элементов temp // переменная для временного хранения значения элемента массива (стакан) : integer;
Примечание: Рекомендуется имена типов, вводимых пользователем, начинать с буквы ’t ’. Например, tVector, tMatrix, tComplex, tPerson и т. п. Примечание: Обработка массива всегда сводится к обработке его элементов. Например, ввод или вывод массива означает ввод или вывод его элементов, поиск элемента сводится к проверке каждого его элемента и т.п. Причем использование в программе структуры данных массив подразумевает использование в ней циклов.
0. Ввод/Вывод элементов массива. for i: =1 to n do // для каждого i от 1 до n (для каждого элемента массива) ReadLn(A[i]); // введем i–й элемент for i: =1 to n do // для каждого i от 1 до n (для каждого элемента массива) WriteLn(A[i], ’, ’); // выведем i–й элемент Суммирование элементов массива. s: =0; // обнуляем сумму, 0 – нейтральный элемент для операции суммирования for i: =1 to n do // для каждого i от 1 до n (для каждого элемента массива) s: =s+a[i]; // добавляем i–й элемент к сумме 2. Суммирование элементов массива по ключу. «Суммирование по ключу» – суммирование только тех элементов, которые отвечают некоторому условию. Например, найдем сумму элементов больших некоторого числа key. // ввод значения ключа WriteLn(’Введите ключ’); ReadLn(key); // алгоритм поиск суммы по ключу s: =0; // начальное значение суммы for i: =1 to n do // для каждого элемента от 1 до n if a[i]> key then // элемент больше ключевого значения s: =s+a[i]; // тогда добавляем его к сумме // вывод результата поиска WriteLn(’Сумма элементов по ключу=’, s);
Подсчет количества элементов массива удовлетворяющих ключу. // ввод значения ключа WriteLn(’Введите ключ’); ReadLn(key); // алгоритм поиска количества элементов удовлетворяющих ключу kol: =0; // начальное значение суммы for i: =1 to n do // для каждого элемента от 1 до n if a[i]> key then // элемент больше ключевого значения kol: =kol+1; // нашли ещё один элемент удовлетворяющий условию // вывод результата поиска WriteLn(’Количество элементов по ключу = ’, s);
|