русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Формирование значений элементов массива случайным образом и с клавиатуры и вывод их на экран


Дата добавления: 2014-11-28; просмотров: 1462; Нарушение авторских прав


Операции работы с двумерными массивами аналогичны операциям работы с одномерными массивами, нужно только не забывать о различиях между массивами. Обычно при работе с двумерными массивами используются вложенные циклы.

Очень часто значения элементов массива вводятся с клавиатуры. Этот способ задания информации слишком трудоемок при работе с массивами больших размеров. Для отладки широкого класса алгоритмов такой ввод информации должен быть заменен на формирование элементов массива случайным образом. Для этого используют встроенные средства Турбо Паскаля, процедуру Randomize и функцию Random. Вы уже сталкивались с этими средствами. Сегодня же наша задача создать процедуры различного ввода элементов в массив и процедуру вывода элементов на экран.

Приведем пример формирования массива случайным образом. Эта процедура должна принять входными параметрами массив, количество строк и столбцов, заданные пользователем с клавиатуры в основном разделе операторов. Так как наша процедура будет воздействовать на пустой исходный массив, то его мы должны передать по ссылке. Количество строк и столбцов достаточно передать копиями по значению.

Procedure InsertMas1(Var X : MyArray; n, m: integer);

Var

i, j : integer;

Begin

Randomize;

for i := 1 to n do {пробегая последовательно строки массива}

for j := 1 to m do {просмотрим каждую ее ячейку текущего столбца}

X[i, j]:= Random(50); {и запишем туда случайное число, которое сформирует компьютер в диапазоне [0..49]}

End;

Теперь, чтобы воспользоваться этой процедурой, достаточно вызвать ее в основном разделе программы, передав ей параметры.

Рассмотрим процедуру вывода элементов массива на экран. Для того, чтобы наш массив при выводе выглядел удобно в виде таблицы, поставим при переходе к новой строке пустой оператор writeln и применим формат вывода элементов на экран (:5).



Procedure PrintMas(X : MyArray; n, m: integer);

Var

i, j : integer;

Begin

for i := 1 to n do {пробегая последовательно строки и столбцы массива}

begin

for j := 1 to m do

write(X[i, j]:5); {выведем элемент массива на экран, выделив ему 5 знакомест}

writeln; {переход на новую строку}

end;

End;

Задание. Наберите программу-шаблон для работы с двумерными массивами. Как вы уже знаете из предыдущей темы, она должна содержать две процедуры ввода и процедуру вывода элементов заданного массива. Основной раздел операторов должен содержать диалог с пользователем и защиту программы от ввода недопустимых значений для количества строк и столбцов. Сохраните файл в соответствующем каталоге на своей дискете, а листинг решенной задачи покажите учителю для оценки.

Рассмотрите процедуру, решающую следующую задачу.

Задача. Дана таблица действительных чисел. Сосчитайте сумму всех чисел в таблице.

Procedure Summa(A : MyArray; n, m: integer; Var S: real);

Var

i, j : integer;

Var

i, j , Summa : integer;

Begin

S:= 0;

for i := 1 to n do

for j := 1 to m do

S := S+A[i,j];

End.

Обратите внимание, что внутри цикла со счетчиком i организован цикл со счетчиком j. В результате суммируются в начале числа 1-й строки (i=1, при j=1, 2, ..., m), затем суммируются числа 2-й строки (i=2, при j=1, 2, ..., m) и т.д.

В данной программе в теле одного цикла содержится другой цикл. Такие циклы, как Вы уже знаете, называются вложенными. Причем цикл со счетчиком i является внешним, а цикл со счетчиком j – внутренним. Не забывайте основное правило при написании вложенных циклов: последний оператор внутреннего цикла должен либо предшествовать, либо совпадать с последним оператором внешнего цикла. Вложенные циклы напоминают матрешек, вложенных одна в другую.

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

Задание. Ниже приведен фрагмент решения некоторой задачи. Внимательно рассмотрев решение, сформулируйте решаемую задачу и оформите по всем правилам, применив знания текущего занятия. Файл и листинг решенной задачи покажите учителю для оценки.

. . .

for i := 1 to N do

Begin

M := a[i,1];

S := a[i, 1];

for j := 2 to N do

begin

if M>a[i, j]

Then

M := a[i, j];

S := S+a[i, j];

end;

writeln (i:7, M:6, S:6:3);

End;

. . .



<== предыдущая лекция | следующая лекция ==>
Занятие 1. Понятие двумерного массива. Описание типа массива. Формирование значений элементов массива случайным образом. | Нахождение количества элементов с данным свойством


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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