4293
Освоение приемов объявления, обращения и использования двумерных массивов при решении задач.
Лабораторная работа
Информатика, кибернетика и программирование
Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач. Один из возможных вариантов объявления двумерного массива в программе: объявляем две константы – максимально возможное количество строк и...
Русский
2012-11-15
78.5 KB
29 чел.
Цель работы: освоение приемов объявления, обращения и использования двумерных массивов при решении задач.
Один из возможных вариантов объявления двумерного массива в программе:
{объявляем две константы максимально возможное количество строк и столбцов}
const MaxN=10; MaxM=8;
{объявляем тип данных двумерный массив целых чисел}
type TMyArray=Array[1..MaxN, 1..MaxM] of Integer;
var a : TMyArray;
Типовые алгоритмы обработки двумерных массивов
Реализация:
for i:=1 to n do
for j:=1 to m do
a[i, j]:=random(20)-10;
Реализация:
for i:=1 to n do
begin
for j:=1 to m do write(a[i, j], );
writeln;
end;
3. Суммирование элементов главной диагонали
Алгоритм имеет смысл только для массива, в котором количество столбцов равно количеству строк. К элементам главной диагонали относятся следующие элементы: а11, а22, а33,….аnn. Следовательно, для суммирования элементов необходимо организовать цикл, параметр которого будет являться индексом и для строк, и для столбцов.
Реализация:
s:=0;
for i:=1 to n do
s:=s+a[i, i];
writeln(s=, s);
4. Суммирование элементов побочной диагонали
Алгоритм имеет смысл только для массива, в котором количество столбцов равно количеству строк. К элементам побочной диагонали относятся следующие элементы: а15, а24, а33, а42, а51. Как видно из примера, индексы строк возрастают, одновременно индексы столбцов убывают. Поэтому для исполнения алгоритма организуем цикл, который будет менять номера строк, одновременно в цикле будем менять номера столбцов.
Реализация:
s:=0;
j:=n;
for i:=1 to n do
begin
s:=s+a[i, j];
j:=j-1;
end;
writeln(s=, s);
5. Суммирование элементов строк (столбцов)
Поскольку строка (столбец) - это есть одномерный массив, то для суммирования элементов строки (столбца) используют алгоритм «Суммирование элементов одномерного массива». Этот алгоритм выполняется столько раз, сколько в массиве строк (столбцов).
Реализация:
for i:=1 to n do
begin
s:=0; {обнуляем s}
{суммирование элементов i строки}
for j:=1 to m do
s:=s+a[i, j];
writeln(сумма , i, строки= , s);
end;
6. Поиск минимального (максимального) элемента каждой строки (столбца)
В данном алгоритме необходимо применить алгоритм «Поиск минимального (максимального) элемента в одномерном массиве».
Реализация:
for i:=1 to n do
begin
min:=a[i, 1]; {запоминаем первый элемент в i-й строке}
n_min:=1;{запоминаем номер элемента в i-й строке}
{поиск минимального в iй строке}
for j:=2 to m do
if a[i, j]<min then begin
min:=a[i, j];
n_min:=j;
end;
writeln(минимальный элемент в , i, -й строке , min);
writeln(номер минимального элемента в , i, -й строке , n_min);
end;
7. Сортировка по возрастанию (убыванию) элементов каждой строки (столбца) в двумерном массиве
В данном алгоритме необходимо применить алгоритм «Сортировка элементов в одномерном массиве» для каждой строки (столбца). В алгоритме строки сортируются по возрастанию.
Реализация:
for k:=1 to n do
for i:=1 to m-1 do
begin
{поиск минимального в kй строке}
min:=a[k, i];
n_min:=i;
for j:=i+1 to m do
if a[k, j]<min then begin
min:=a[k, j];
n_min:=j;
end;
a[k, n_min]:=a[k, i];
a[k, i]:=min;
end;
Задача № 1. Вставьте в двумерный массив строку из нулей после строки с номером t.
Анализ постановки задачи
Для решения этой задачи необходимо, первые t строк оставить без изменений, затем все строки после t-ой сдвинуть на одну, далее элементам (t+1) - й строки присвоить заданное значение.
Входные данные.
Двумерный массив случайных чисел А.
Номер строки после, которой будет вставлена строка из нулей t (тип - целый).
Количество строк и столбцов в массиве соответственно n, m (тип - целый).
Выходные данные.
Измененный двумерный массив А.
Алгоритм.
Функциональная структура алгоритма
Задача № 2. Известна таблица футбольного чемпионата и список команд-участниц. В каждой строке таблицы записано количество побед, ничьих и поражений соответствующей команды. Подсчитать количество сыгранных каждой командой матчей, а также в итоговой таблице команды расположить в порядке убывания завоеванных ими очков.
Анализ постановки задачи.
Решение задачи предполагает использование типовых алгоритмов: суммирование элементов строк (или столбцов) и сортировки элементов строки (или столбца) в двумерном массиве. В контексте рассматриваемой задачи, если расположить данные по каждой команде в строках, то необходимо воспользоваться алгоритмами: суммирование элементов строк и сортировки элементов столбце. Если расположить данные по каждой команде в столбцах, то необходимо воспользоваться алгоритмами: суммирование элементов столбцов и сортировки элементов строки.
Входные данные.
Двумерный массив game (тип - целочисленный массив).
Количество команд-участниц n (тип - целый).
Одномерный массив названий команд - team (тип - символьный массив).
Количество строк в массиве n (тип - целый).
Выходные данные.
Итоговая таблица, где команды расположены в порядке убывания завоеванных ими очков game, team.
Алгоритм.
Функциональная структура алгоритма
Задания для самостоятельного решения.
Вариант 1.
Вариант 2.
Вариант 3.
Вариант 4.
Вариант 5.
Вариант 6.
Вариант 7.
Вариант 8.
Вариант 9.
Вариант 10.
Контрольные вопросы:
заполнение массива
сдвиг строк
аполнение строки t - нулями
задача
вывод результата
заполнение одномерного массива
заполнение двумерного массива
задача
вывод результата в виде таблице
количество матчей и очков для каждой команды
количество матчей для каждой команды
количество очков для каждой команды
сортировка по столбцу с количеством очков
А также другие работы, которые могут Вас заинтересовать | |||
55003. | Подорож моєї мрії | 88.5 KB | |
Вдале географічне розташування Буковель оточений амфітеатром красивих гір створює комфортні умови для відпочинку в Буковелі. Унікальні кліматичні умови надзвичайна краса карпатських гір живописні ландшафти а також джерела мінеральних вод залучають на відпочинок і лікування в Буковелі велику кількість туристів. Відпочинок в Буковелі добрий у будьякий час року але в першу чергу Буковель вважається гірськолижним курортом тому кращий час його відвідин зимові місяці. Любителі гір з різних куточків світу з'їжджаються на гірськолижний... | |||
55004. | Инвестиции: понятие, виды, источники финансирования. Факторы, определяющие динамику инвестиционного спроса | 20.39 KB | |
Инвестиции — долгосрочные вложения капитала с целью получения прибыли. Инвестиции являются неотъемлемой частью современной экономики. От кредитов инвестиции отличаются степенью риска для инвестора (кредитора) — кредит и проценты необходимо возвращать в оговорённые сроки независимо от прибыльности проекта | |||
55005. | Подорож по країні здоров’я | 49.5 KB | |
А ще допомагає лікувати хворих зелена аптека. Аптека зелена зелена аптека Від тебе і мене вона не далеко. Зелена аптека це трави і квіти Що в кошик збирають дорослі і діти. Зелена аптека що бачиш навкруг Це наш помічник і хороший наш друг. | |||
55006. | У СВІТ ФОРМУЛ СКОРОЧЕНОГО МНОЖЕННЯ | 212 KB | |
МЕТА: Закріпити знання формул скороченого множення та вмінь використовувати ці формули при розкритті дужок, спрощенні та знаходженні значень виразів. Показати красу математики, перетвори захоплюючу подорож, де кожний зможе проявити себе. | |||
55007. | ПОДОРОЖ | 55 KB | |
The topic of our lesson is “Travelling“. By the end of the lesson you will be able: To recognize and understand new words and word-combinations when reading the sentences. To understand main ideas from the text when listening to it. To use words and word-expressions when speaking. | |||
55008. | Сім подорожей по Черкащині | 5.22 MB | |
Черкаси Головне місто області її адміністративний промисловий і культурний центр знаходиться на правому мальовничому березі Дніпра у верхній частині Кременчуцького водосховища найбільшого на усьому дніпровському водному каскаді. Місто росло й розвивалось. | |||
55009. | Вчора – дошколярики, а завтра – школярі | 56.5 KB | |
Мета: виявити обсяг знань дітей про звуковий склад слова, уміння ділити слова на склади, пригадувати слова із заданим звуком на початку, в середині і в кінці слова; поскладове читання;... | |||
55010. | Як здійснити подвиг. Астрід Ліндгрен «Пеппі Довгапанчоха» (розділ «Пеппі стає рятівницею») | 62.5 KB | |
Мета: вчити учнів розуміти зміст понять героїчний учинок подвиг; розвивати критичне мислення учнів їхню емоційну сферу уміння аналізувати твір оцінювати вчинки робити висновки; виховувати почуття небайдужості активну життєву позицію готовність до героїчних учинків. | |||
55011. | Сохраним память про подвиг | 5.26 MB | |
ЦЕЛЬ: рассмотреть основной ход событий Великой отечественной войны; охарактеризовать роль и вклад украинского народа в борьбе с фашистскими захватчиками, определить основные последствия Великой отечественной войны для нашего государства... | |||