Студопедия
Случайная страница | ТОМ-1 | ТОМ-2 | ТОМ-3
АрхитектураБиологияГеографияДругоеИностранные языки
ИнформатикаИсторияКультураЛитератураМатематика
МедицинаМеханикаОбразованиеОхрана трудаПедагогика
ПолитикаПравоПрограммированиеПсихологияРелигия
СоциологияСпортСтроительствоФизикаФилософия
ФинансыХимияЭкологияЭкономикаЭлектроника

Задачи для самостоятельной работы



Читайте также:
  1. I. Задание для самостоятельной работы
  2. I. Задания для самостоятельной работы
  3. I. Задания для самостоятельной работы
  4. I. Задания для самостоятельной работы
  5. I. Задания для самостоятельной работы
  6. I. Задания для самостоятельной работы
  7. I. Задания для самостоятельной работы

1. Массив А вводится с клавиатуры. Найти сумму его элементов. Размер произвольный.

2. Найти произведение элементов, кратных 3 в массиве, заданном датчиком случайных чисел на интервале [-28, 27]. Размер произвольный.

3. Массив А вводится с клавиатуры. Найти среднее арифметическое его элементов с нечетными номерами. Размер произвольный.

4. Массив А вводится с клавиатуры. Найти сумму его элементов с четными номерами, произведение отрицательных элементов, количество нечетных элементов. Размер произвольный.

5. Найти наибольший элемент и его номер в последовательности, элементы которой вводятся с клавиатуры. Размер произвольный.

6. Найти среднее арифметическое элементов последовательности, превосходящих некоторое число С. Массив задан датчиком случайных чисел на интервале [-44, 35]. Размер произвольный. Значение С вводится с экрана.

7. Массив А вводится с клавиатуры. Вывести только нечетные элементы. Размер произвольный.

8. Упорядочить данную последовательность по убыванию. Элементы вводятся с клавиатуры. Размер произвольный.

9. Упорядочить данную последовательность по убыванию. Массив задан датчиком случайных чисел на интервале [-54, 33]. Размер произвольный.

10. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из положительных элементов массива А. Размер произвольный.

11. Массив задан датчиком случайных чисел на интервале [-31, 45]. Сформировать новый массив В, состоящий из нечетных элементов массива А. Размер произвольный.

12. Массив А вводится с клавиатуры. Сформировать новый массив В, состоящий из положительных элементов массива А и найти в нем наибольший элемент. Размер произвольный.

13. Массив задан датчиком случайных чисел на интервале [-37, 66]. Найти наименьший нечетный элемент. Размер произвольный.

14. Одномерный массив заполнен целыми числами. Вычислить сумму его элементов, кратных 5.

15. Одномерный массив заполнен любыми числами. Заменить отрицательные элементы их модулями.

16. Одномерный массив заполнен целыми числами. Возвести в квадрат элементы, стоящие на четных местах.

17. Заполнить одномерный массив из 100 элементов случайными числами от 1 до 10. Сколько получилось пятерок?


Двумерные массивы: определение, описание, размещение в памяти, использование.

Двумерный массив – это структура данных, хранящая прямоугольную матрицу. В матрице каждый элемент определяется номером строки и номером столбца, на пересечении которых он находится.

Описание. Двумерные массивы можно представить в виде прямоугольной таблицы или матрицы.

Рассмотрим матрицу А размерностью 2x3 (состоящую из двух строк по три элемента в каждой):

A11 A12 A13

A21 A22 A23

Положение каждого элемента определяется двумя числами: номером строки, в которой находится элемент, и номером столбца. Например, A12 — это элемент, стоящий в первой строке и во втором столбце.

 

Имеется несколько способов объявления двумерных массивов.

Способ 1. В Паскале двумерный массив можно описать как одномерный, элементами которого являются одномерные массивы. Например, для матрицы А, приведенной выше:

Const n=2; m=3;

Type

Omyarray=Array[1..m] Of real;

dmyarray=Array[1..n] Of Omyarray;

Var

v: Omyarray;

a: dmyarray.;

В данном случае переменная v объявлена как одномерный массив из трех элементов вещественного типа. Переменная а описана как двумерный массив из двух строк, в каждой по три элемента.

Способ 2. Описание массива А можно сократить, исключив определение типа omyarray в определении типа dmyarray:

Const n=2; m=3;

Type

dmyarray=Array [ 1.. n] Of Array [1..m] Of <тип элементов>;

Var

a: dmyarray;

Способ З. Еще более краткое описание массива А можно получить, указывая диапазоны изменения индек­сов для каждой размерности массива:

Const n=2; m=3;

Type

dmyarray=Array[1..n, 1..m] Of <тип элементов;-;

Var

a: dmyarray;

 

Если нет необходимости описывать тип, то можно просто объявить массив в разделе описания переменных:

Var

a: Array[1..п,1..m] Of <тип элементов>;

 

Рассмотренные ранее методы решения задач обработки одномерных массивов могут применяться и для обработки двумерных массивов. Поскольку положение элемента в двумерном массиве описывается двумя индексами (первый — номер строки, второй — номер столбца), программы для решения большинства матричных задач строятся на основе вложенных циклов. Обычно внешний цикл организуется по строкам матрицы, то есть - в нем выбирается требуемая строка матрицы, а внутренний цикл — по столбцам матрицы, в нем выбирается элемент строки. Для присваивания значений элементам массива могут быть использованы операторы присваивания и операторы ввода.

Пример: В приведенном ниже примере осуществляются ввод и вывод двумерного массива А размерностью 10x15. Формирование и вывод массива производится в двух процедурах, которые последовательно вызываются из основной программы. Надо заметить, что формирование двумерного массива можно осуществлять всеми тремя способами, описанными для одномерных массивов, то есть: вводом с клавиатуры, посредством генератора случайных чисел или с помощью файла. Пусть в нашем примере элементы задаются посредством генератора случайных чисел.

Program Example_4 5;

Const n=10; m=15;

Type

dmyarray = Array[1..n,1..m] Of Integer;

Var A: dmyarray;

i,j: Integer;

Begin

{Наполнение массива случайными числами}

For i:=1 To n Do

For j:= 1 To m Do

A [i,j]:= -25+Random (51);

 

{вывод массива на экран}

For i:=l To n Do

Begin {Вывод i-й строки массива}

For j:=l To m Do

Write(A[i,j]:5);

Writeln; {Переход на начало следующей строки}

End;

End.

 


Дата добавления: 2015-07-11; просмотров: 283 | Нарушение авторских прав






mybiblioteka.su - 2015-2024 год. (0.009 сек.)