КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Вопросы для самопроверки. Получение практических навыков работы с двумерными массивами
Двумерные массивы
Цель работы Получение практических навыков работы с двумерными массивами.
Пример 1. Составить программу ввода и вывода двумерного массива А размерностью 10x15. Решение. Формирование и вывод массива описаны в виде двух процедур, которые вызываются последовательно из основной программы. Надо заметить, что формирование двумерного массива можно осуществлять всеми тремя способами, описанными для одномерных массивов. Пусть в нашем примере элементы задаются генератором случайных чисел. Program Example_14; Const n=10; m=15; Type dmyarray = Array[1..n,1..m] Of Integer; Var A: dmyarray; Procedure Init(Var x: dmyarray); {процедура формирования массива} Var i, j: Integer; Begin For i:=l To n Do For j:= 1 To m Do x[i,j]:=-25+Random (51); End; Procedure Print (x: dmyarray); {процедура вывода массива на экран} Var i, j: Integer; Begin For i:=l To n Do Begin {вывод i-й строки массива} For j:=1 To m Do Write(x[i,j]:5); Writeln; {переход на начало следующей строки} End; End; Begin {основная программа} Init(A); {вызов процедуры формирования массива} Writeln('Массив A: '); Print(A); {вызов процедуры вывода} Readln; End. Пример2. Сформировать одномерный массив, каждый элемент которого равен сумме отрицательных элементов соответствующей строки заданной целочисленной матрицы. Решение. Опишем одномерный массив, размерность которого равна количеству строк в двумерном массиве. Const n=10; m=15; Type omyarray=Array [l..n] Of Integer; dmyarray=Array[1..n,1..m] Of Integer; Var B: omyarray; A: dmyarray; Procedure Sum(x: dmyarray; Var y: omyarray); Var i, j: Integer; Begin For i:=l To n Do Begin y[i]:=0; {задание начальных значений элементов массива суммы) For j:=l To m Do {накопление суммы отрицательных} If x[i,j]<0 Then y[i]:=y[i]+x[i,j]; End; End; В основной программе обращаемся к процедуре Sum(A,B) и остается только вывести на экран одномерный массив В, в котором записаны суммы отрицательных элементов каждой строки. Пример3. Найти максимальный элемент массива и его индексы. Решение. Так как элементы могут повторяться, то договоримся, что будем запоминать только индексы первого максимального элемента. Опишем процедуру, которой передается массив, и ее результатом являются значение максимального элемента и индексы первой встречи такого значения. Procedure Maximum(x: dmyarray; Var max, maxi, maxj: Integer); Var i, j: Integer; Begin max:=x[1,1]; maxi:=l; maxj:=l; {начальные значения} For i:=l To n Do For j:=l To m Do If x[i,j]>max Then Begin {присвоение новых значений} max:=x [ i,j]; maxi:=i; maxj:=j; End; End;
1. Из каких разделов состоит программа на Паскале? 2. Какие простые типы данных существуют в Паскале? 3. Что значит: «Турбо Паскаль – типизированный язык»? 4. Какие действия допустимы над величинами целого типа? Вещественного типа? 5. Как в Паскале осуществляется ввод и вывод данных? 6. Как в Паскале реализуется развилка? 7. Какого типа циклы реализуются в языке Паскаль? Каким образом? 8. В каких случаях используются циклы с параметром, с предусловием и с постусловием? Приведите примеры. 9. Как вводятся и используются в программах массивы? 10. В чем различие между одномерными массивами и двумерными? 11. Какова структура процедуры? Функции? 12. Какие параметры называют формальными и какие – фактическими? 13. В чем различие между локальными и глобальными переменными? 14. В чем отличия процедуры от функции? 15. Какие проблемы решаются при использовании файлов? 16. Какую роль в программе играет файловая переменная? 17. Какие операции и функции используются при работе с файлами? 18. Как запустить Турбо Паскаль? 19. Как в среде Турбо Паскаль запустить программу на выполнение? 20. Как в среде Турбо Паскаль выполнить трассировку программы?
Дата добавления: 2014-01-06; Просмотров: 284; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |