Студопедия

КАТЕГОРИИ:


Архитектура-(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; Просмотров: 268; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.01 сек.