Многомерные динамические массивы
Создадим динамический массив в виде матрицы 5´3 вещественных числа:
TYPE TA=ARRAY OF ARRAY OF REAL;
VAR a:TA;
…
SetLength(a,5,3);
a[0,0]:=10.0;
…
Многомерный динамический массив описывается аналогично статическому с той лишь разницей, что индексы по размерностям (число строк и столбцов) в операторе TYPE не указываются. Соответственно в процедуре SetLength задаются два размера: число строк и столбцов.
3. ОБЪЕКТЫ ИССЛЕДОВАНИЯ, ОБОРУДОВАНИЕ, МАТЕРИАЛЫ И НАГЛЯДНЫЕ ПОСОБИЯ
3.1. IBM – совместимый компьютер.
3.2. Установленная операционная система Windows.
3.3. Установленное приложение Borland Delphi.
3.4. Справочная система приложения Borland Delphi.
4. ЗАДАНИЕ НА РАБОТУ
4.1. Изучение теоретические положения работы по программированию в среде Borland Delphi.
4.2. Выполнение индивидуального задания преподавателя по программированию в пределах вопросов, рассмотренных в данной лабораторной работе.
5. ПОРЯДОК ВЫПОЛНЕНИЯ РАБОТЫ
5.1. Ознакомиться с теоретическими положениями данной лабораторной работы.
5.2. Выполнить индивидуальное задание преподавателя по программированию (по заданиям приложения).
5.3. Оформить отчет по работе.
5.4. Защитить лабораторную работу путем ответа на вопросы преподавателя.
6. СОДЕРЖАНИЕ ОТЧЕТА
6.1. Описание цели работы.
6.2. Основные теоретические положения работы
6.3. Содержание индивидуального задания преподавателя по программированию.
6.4. Описание методики выполнения индивидуального задания.
7. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ
7.1. Delphi 7 : [наиболее полное руководство] / А. Д. Хомоненко [и др.];под общ.ред.А.Д.Хомоненко .— СПб. : БХВ - Петербург, 2007 .— 1216с. : ил. (7 экз.)
7.2. Программирование в Delphi 7 / П. Г. Дарахвелидзе, Е. П.Марков .— СПб.: БХВ -Петербург, 2004 .— 784c. : ил. (1 экз.)
7.3 Осипов Д. Delphi. Профессиональное программирование. - СПб.: Символ-Плюс, 2006. -1056 с., ил.
ПРИЛОЖЕНИЕ
Индивидуальные задания
1. Одномерные массивы
1.1. На пульте имеется n отверстий разных диаметров (задаются случайным образом). Напирать программу создания одномерного массива из номеров отверстий, в которые пройдет шарик радиусом r. Результирующий массив не должен содержать лишних элементов.
1.2. На пульте имеется n отверстий разных диаметров (задаются случайным образом). Напирать программу создания одномерного массива из номеров отверстий, в которые не пройдет шарик радиусом r. Результирующий массив не должен содержать лишних элементов.
1.3. Два массива содержат по n целых положительных чисел (задаются случайным образом). Написать программу создания третьего массива, содержащего сумму этих чисел.
1.4. Два массива содержат по n целых положительных чисел (задаются случайным образом). Написать программу создания третьего массива, содержащего разность этих чисел.
1.5. Одномерный массив, содержащий N элементов, состоит из нулей, единиц и двоек, расположенных в произвольном порядке (заполнение массива – случайным образом). Преобразовать массив так, чтобы вначале расположились все двойки, затем все нули и, наконец, все единицы.
1.6. Длинная последовательность двузначных чисел вводится клавиатуры. Признаком конца ввода является число «нуль». Вывести числа в порядке возрастания их значений.
1.7. В одномерном массиве хранятся N элементов некоторой
последовательности. Для того чтобы определить закономерность, положенную в основу последовательности, каждые два соседних элемента заменяются их разностью. Эта операция повторяется до тех пор, пока все разности не будут равны одной и той же константе. Написать программу, определяющую эту константу и указывающую, на какой по счету операции эта константа получится.
1.8. В одномерный массив Незнайка записал элементы, соответствующие цвету глаз всех жителей Цветочного города. Написать программу, определяющую, какой цвет глаз у жителей города встречается чаще всего.
1.9. Распечатать одномерный массив длиной M x N в M столбцов по N элементов в столбце.
1.10. Заданы два массива. Проверить, все ли элементы первого массива превосходят соответствующие элементы второго массива.
1.11. В первом одномерном массиве хранятся затраты на производство продуктов, во втором - цены на эти продукты. Указать номер первого продукта, затраты на производство которого превышают цены.
1.12. Написать программу, вычисляющую сумму S=xl+x2*x3+x4*x5*x6+x7*x8*x9*x10+... до тех пор, пока не закончатся элементы одномерного массива х или пока не встретятся два отрицательных элемента подряд.
1.13. Натуральные числа вводятся с клавиатуры до тех пор, пока не будет введено число -1. Написать программу, выводящую введенные цифры: сначала выводится наиболее часто встречающаяся цифра, в конце — наименее встречающаяся цифра.
1.15. Целые числа вводятся с клавиатуры до первого нуля или до четырех девяток подряд. Написать программу, распечатывающую введенные числа в следующем виде: вначале печатается положительное число, за ним отрицательное, затем снова положительное, за ним отрицательное и т.д. Числа, для которых не нашлось пар, в конце ввода игнорируются.
1.16. В массиве хранятся данные о расходе электроэнергии в больнице. Найти:
– среднемесячный расход;
– максимальный и минимальный расход;
– количество дней с расходом, превышающим средний арифметический;
– количество дней, когда расход совпадал.
1.17. В массиве хранятся данные об осадках за месяц. Найти:
– среднемесячное количество осадков;
– максимальное и минимальное количество осадков;
– количество дней с осадками больше среднего;
– самую «мокрую» декаду месяца.
1.18. В массиве хранятся данные о температуре окружающего воздуха за месяц. Найти:
– среднемесячную температуру;
– максимальную и минимальную температуру;
– количество дней с температурой ниже нуля;
– самую холодную декаду месяца.
1.19. В массиве хранятся элементы, соответствующие росту учеников класса. Найти:
– средний рост учеников;
– рост самого высокого и самого низкого в классе;
– сколько ребят отберут в баскетбольную секцию, если туда отбирают с ростом больше 170 см;
– сколько ребят в классе имеют одинаковый рост.
1.20. Массив состоит из элементов, соответствующих количеству учеников разных классов школы. Найти:
– среднее количество учеников в классе;
– классы с максимальным и минимальным количеством учеников;
– количество классов, имеющих учеников больше среднего количества;
– на сколько процентов увеличилось бы количество учеников школы, если бы все классы имели столько же учеников, что и в классе с максимальным количеством.
1.21. В массиве хранятся элементы, содержащие данные о рыбацких уловах за месяц. Найти:
– среднемесячный улов;
– максимальный и минимальный уловы;
– количество уловов, совпадающих с максимальным;
– количество дней, когда улов превышал среднемесячный.
1.22. В массиве хранятся оценки студентов по информатике. Найти:
– среднюю оценку;
– максимальную и минимальную оценку;
– процент двоек, троек, четверок и пятерок;
– количество оценок, превышающих среднюю.
1.23. В массиве заданы цены продажи доллара в N банках города. Определить, по скольким различным ценам продается здесь доллар. Распечатать эти цены.
1.24. Коммерсант ежедневно в течение месяца записывает свою прибыль или убыток. Написать программу, указывающую самую удачную неделю для коммерсанта.
1.25. Капитан парусной яхты, совершающей кругосветное путешествие, ежедневно записывает пройденное расстояние в милях. Написать программу, определяющую в днях продолжительность самого длинного штиля, когда яхта стоит на месте.
1.26. В одномерном массиве хранятся результаты социологического опроса. Написать программу для подсчета количества результатов, отклоняющихся от среднего не более чем на 7%.
1.27. Проверить, содержат ли два одномерных массива одинаковые соответствующие элементы, т.е. для всех ли i выполняется Ai=Bi.
1.28. От «острова Буяна до царства славного Салтана» 30 дней пути. Капитан корабля записывает в вахтенный журнал расстояние, пройденное за день, в милях. Написать программу, определяющую, в какую десятидневку пройден больший путь.
1.29. Каждый солнечный день улитка, сидящая на дереве, поднимается на 2 см, а каждый пасмурный день спускается на 1 см. В начале наблюдения улитка находилась в А сантиметрах от земли на В-метровом дереве. Имеется тридцатиэлементный одномерный массив, содержащий сведения о том, был ли соответствующий день наблюдения солнечным или пасмурным. Написать программу, определяющую местоположение улитки к концу тридцатого дня наблюдения.
1.30. В записной книжке Незнайки записаны в алфавитном порядке дни рождения всех жителей Цветочного города. Написать программу, располагающую эти даты в хронологическом порядке.
1.31.Написать программу сложения двух двадцатизначных целых чисел, каждая цифра которого представлена элементом одномерного массива. Вывести результат в виде, показанном ниже.
+98765432100123456789
-----------------------------
2. Двумерные массивы
2.1. В двухмерном массиве n х m содержатся m ординат, n графиков функций в точках 1, 2, 3, ... , n. Определить, пересекаются ли эти графики в одной точке, и если да, то найти ее номер. Считать, что графики могут пересечься только в указанных точках.
2.2. В списке класса, состоящем из n строк и m столбцов, отмечаются выполненные лабораторные работы. Работа выполнена, если за нее проставлена оценка. За невыполненную работу ставится нуль. Школьник не допускается к следующей работе, пока он не выполнил предыдущую. Написать программу, определяющую в процентах, сколько учеников класса наиболее близки к завершению всех m работ.
2.3. Дана вещественная матрица размера n х m. Переставляя целиком ее строки и столбцы, нужно добиться того, чтобы наибольший элемент (любой из нескольких) оказался:
– в верхнем левом углу;
– в правом нижнем углу;
– в левом нижнем углу;
– в правом верхнем углу;
– в центре массива (для n=m, где n – нечетное).
2.4. Определить и напечатать суммы элементов квадратной матрицы (двухмерный массив размером n х n, где n — четное), расположенных параллельно главной диагонали, исключая ее.
2.5. Двухмерный массив размера n х m состоит из нулей и единиц. Указать в нем любой двухмерный подмассив, содержащий только нули.
2.6. Двухмерный массив размера n х m содержит некоторые буквы латинского алфавита, расположенные в произвольном порядке. Написать программу, проверяющую, можно ли из этих букв составить слово «COMPUTER».
2.7. В двухмерном массиве поменять местами строки, содержащие максимальный и минимальный элементы.
2.8. В больнице имеется n палат, в каждой из которых m коек. В журнале записывается температура больного, лежащего в i-й палате на j-й койке. Если койка пуста, то записывается нуль. Указать номера коек и палат для больных с одинаковой температурой.
2.9. В n магазинах продают m разных товаров. В каждом магазине продается каждый из m товаров по разным ценам. Написать программу, определяющую, существует ли магазин, где больше трех товаров продаются по минимальной цене.
2.10. В больнице имеется n палат, в каждой из которых m коек. В журнале записывается температура больного, лежащего в i-й палате на j-й койке. Если койка пуста, то записывается нуль. Указать номера палат и коек для больных с максимальной температурой.
2.11. Задана матрица расстояний между городами. Написать программу, находящую два города, которые расположены ближе всего друг к другу.
2.12. Задана матрица расстояний между городами. Написать программу, указывающую все города, расстояния от которых до других городов не больше А.
2.13. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, указывающую предметы, по которым самый высокий процент успевающих студентов.
2.14. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, указывающую студентов, получивших наибольшее количество двоек.
2.15. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, указывающую предметы, по которым выставлено самое большое количество двоек.
2.16. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, указывающую студентов, которые получили одинаковые оценки по всем предметам.
2.17. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, указывающую предметы, для которых процент пятерок не меньше, чем процент пятерок на втором экзамене.
2.18. В таблице, состоящей из n строк и m столбцов, на пересечении i-й строки и j-го столбца указывается цена, по которой i-й завод продает j-e изделие. Необходимо купить все m изделий минимальной цене.
2.19. В таблицу, состоящую из m строк и n столбцов, занесены результаты голосования по выбору президента из n кандидатов. Каждая строка отображает результаты голосования в одном из m округов. На пересечении i-й строки и j-го столбца указывается, какое количество избирателей проголосовало в i-м округе за j-гo кандидата. Написать программу, которая подсчитывает общее количество голосов, полученных каждым кандидатом, и величину процента, которую они составляют от общего количества поданных голосов.
2.20. В двухмерном массиве поменять местами элементы, лежащие выше и ниже главной диагонали.
2.21. В больнице имеется n палат, в каждой из которых m коек. В журнале записывается температура больного, лежащего в i-й палате на j-й койке. Если койка пуста, то записывается нуль. Указать номера палат, в которых средняя температура больных выше средней температуры по больнице.
2.22. В больнице имеется n палат, в каждой из которых m коек. В журнале записывается температура больного, лежащего в i-й палате на j-й койке. Если койка пуста, то записывается нуль. Указать номера палат с максимальным количеством незанятых коек.
2.23. В n магазинах продают m разных товаров. В каждом магазине продается каждый из m товаров по разным ценам. Напишите программу, определяющую магазин, где можно купить все товары, заплатив наименьшую сумму денег.
2.24. На участке имеется n станков, на которых нужно обработать m деталей. Время обработки каждой детали на каждом станке известно. Написать программу, проверяющую, можно ли найти такую деталь, время обработки которой на любом станке было бы минимальным.
2.25. В больнице имеется n палат, в каждой из которых m коек. В журнале записывается температура больного, лежащего в i-й палате на j-й койке. Если койка пуста, то записывается нуль. Указать номера палат, где лежит большее количество больных.
2.26. В журнале записаны оценки n студентов, сдававших m экзаменов. Если студент не сдавал экзамен, то его оценка нуль. Написать программу, вычисляющую процент студентов, сдавших все экзамены на 4 и 5.
2.27. В двухмерном массиве размером n x m хранятся результаты опроса n человек на m вопросов. Ответами на вопросы являются слова «да», «нет», «не знаю». Написать программу, указывающую для каждого вопроса проценты ответов «да», «нет», «не знаю».
2.28. Чтобы выявить самого драчливого разбойника, Али-Баба провел бой, во время которого каждый его разбойник подрался с каждым из оставшихся. За победу присваивалось 7 очков, за ничью – 5, за поражение – 2. Результаты боя свели в таблицу. Написать программу, определяющую победителя.
2.29. Царевна Несмеяна каждому из претендентов на ее руку и сердце задает m вопросов. За очень понравившийся ответ она присуждает 2 балла, за не очень понравившийся ответ – 4, за не очень непонравившийся – 6 баллов, за очень непонравившийся – 8. Написать программу, определяющую самого понравившегося (набравшего наименьшее количество баллов) претендента.
2.30. В первую строку двухмерного массива Незнайка записал рост всех жителей Цветочного города, во вторую — их вес. Написать программу, определяющую номера малышей, рост и вес которых отличается от средних не более чем на 9%.
2.31. В первой строке двухмерного массива записано количество учеников в классах, во второй – средняя оценка класса по математике. Найти количество школьников, имеющих среднюю оценку не ниже 4.
2.32. В двухмерном массиве найти сумму элементов первой строки и произведение элементов второй.
2.33. В двухмерном массиве две строки и n столбцов. Найти номера столбцов, произведение элементов которых попадает в заданный интервал.
2.34. Найти среднее арифметическое элементов для каждой строки двухмерного массива.
Министерство образования и науки Российской Федерации
Федеральное государственное бюджетное образовательное учреждение
высшего профессионального образования
«Тульский государственный университет»
Политехнический институт
Кафедра «Сварка, литье и технология конструкционных материалов»
Дата добавления: 2015-03-19; просмотров: 1484;