36574

Структурный тип массив. Обработка массивов

Контрольная

Информатика, кибернетика и программирование

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

Русский

2013-09-22

31 KB

2 чел.

Структурный тип массив. Обработка массивов.

Для массивов допустим оператор присваивания в форме:

<переменная1-массив> := < переменная2 -массив>;

где: левая и правая части содержат переменные массивов только одного типа.

Такие операторы присваивания могут использоваться для копирования одного массива в другой. Однако над массивами не определены отношения <,>,<=,>=,=.<>. Кроме того, в Турбо Паскале нельзя использовать выражения над массивами.

За исключением приведенного выше оператора присваивания, обработка массивов осуществляется путем обработки его элементов. Для этого следует использовать доступ к элементам через индексы. Например, для индексных переменных допустим оператор присваивания вида:

<переменная-массив> [<индексная переменная>] := < выражение >;

где: < выражение > должно быть согласовано по типу с типом элементов массива. Индексированные имена могут входить в состав выражений соответствующего типа также как простые имена.

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

В Турбо Паскале имеются две разновидности циклов с параметром (циклов for):

for <параметр> := < нач.зн.> to <кон.зн.> do <оператор тела цикла>;

for <параметр> := <кон.зн.> downto <нач.зн.> do <оператор тела цикла>;

Параметром цикла for может быть переменная любого порядкового типа.

< нач.зн.> и <кон.зн.> - выражения того же типа, что и параметр, определяющие границы изменения параметра в данном цикле.

<оператор тела цикла> - любой оператор Турбо Паскаля.

Цикл с параметром (первая его разновидность) выполняется следующим образом: вначале вычисляются < нач.зн.> и < кон.зн.> и осуществляется присваивание параметру цикла < нач.зн.>. Проверяется, не превышает ли параметр значения <кон.зн.> (т.е. выполняется сравнение <параметр> < <кон.зн.>), и если не превышает, то выполняется тело цикла, после чего параметру присваивается следующее по порядку значение (т.е. succ(< нач.зн.>)) и цикл повторяется. Если параметр превысил <кон.зн.>, цикл завершается (осуществляется переход к следующему за циклом оператору программы).

Таким образом, цикл for повторяет выполнение оператора тела цикла несколько раз с разными значениями параметра от начального значения до конечного значения.

Вторая разновидность цикла с параметром отличается при выполнении лишь тем, что параметр изменяется в обратном направлении - от конечного значения к начальному. Выход из этого цикла осуществляется, если значение параметра меньше начального значения.

При использовании цикла for желательно, чтобы параметр цикла, выражения <нач.зн.> и <кон.зн.> не изменяли свои значения при выполнении тела цикла ( а также <нач.зн.> и <кон.зн.> не имели зависимости от параметра цикла). Это гарантирует завершение цикла за конечное число шагов и ясную для понимания структуру цикла.

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

Задача 4.2.6(12)

program Project12;

type mas=array[1..4,1..5] of Integer;

var a:mas;

i,j,l1,l2,d1,d2,s:Integer;

procedure p(x:mas; e1,e2:Integer; var n,k:integer);

var j,max:Integer;

begin

max:=x[e1,1];

n:=e1;

k:=1;

for i:=e1 to e2 do

for j:=1 to 5 do

if x[i,j]>max then

begin

max:=x[i,j];

n:=i;

k:=j;

end;

end;

begin

for i:=1 to 4 do

for j:=1 to 5 do

read(a[i,j]);

p(a,1,2,l1,d1);

p(a,3,4,l2,d2);

s:=a[l1,d1];

a[l1,d1]:=a[l2,d2];

a[l2,d2]:=s;

Writeln;

for i:=1 to 4 do begin

for j:=1 to 5 do begin

write(a[i,j],' ');

end; writeln; end;

Readln;

end.


 

А также другие работы, которые могут Вас заинтересовать

24423. Общая характеристика основных компонентов ОС ПЭВМ 93 KB
  Сетевой уровень занимает в модели OSI промежуточное положение: к его услугам обращаются протоколы прикладного уровня сеансового уровня и уровня представления. Для выполнения своих функций сетевой уровень вызывает функции канального уровня который в свою очередь обращается к средствам физического уровня. Физический уровень выполняет передачу битов по физическим каналам таким как коаксиальный кабель витая пара или оптоволоконный кабель. Канальный уровень обеспечивает передачу кадра данных между любыми узлами в сетях с типовой топологией...
24424. Таймеры счётчики ОМЭВМ 204 KB
  Основным отличием конфигураций сетей Fast Ethernet является сокращение диаметра сети примерно до 200 м что объясняется сокращением времени передачи кадра минимальной длины в 10 раз за счет увеличения скорости передачи в 10 раз по сравнению с 10мегабитной сетью Ethernet. Если среда свободна то узел имеет право начать передачу кадра. Последний байт носит название ограничителя начала кадра. Наличие двух единиц идущих подряд говорит приемнику о том что преамбула закончилась и следующий бит является началом кадра.
24425. Основные компоненты современных систем баз данных. Классификация и модели данных, реализуемых в СУБД 318 KB
  Классификация и модели данных реализуемых в СУБД. База данных это данные организованные в виде набора записей определенной структуры и хранящиеся в файлах где помимо самих данных содержится описание их структуры. Метаданные Данные о структуре базы данных.
24426. Язык манипулирования данными, концепции и возможности языка SQL. Функции администратора баз данных 181.5 KB
  Перечисленные устройства передают кадры с одного своего порта на другой анализируя адрес назначения помещенный в этих кадрах. По адресу источника кадра коммутатор делает вывод о принадлежности узлаисточника тому или иному сегменту сети. Одновременно с передачей кадра на все порты коммутатор изучает адрес источника кадра и делает запись о его принадлежности к тому или иному сегменту в своей адресной таблице. При каждом поступлении кадра на порт коммутатора он прежде всего пытается найти адрес назначения кадра в адресной таблице.
24427. Адреса и сети Интернет. Архитектура и методы использования баз данных на Web 52 KB
  10277 Стадии разработки: постановка задачи стадия Техническое задание; анализ требований и разработка спецификаций стадия Эскизный проект; проектирование стадия Технический проект; реализация стадия Технический проект. Проектирование. Процесс проектирование сложного ПО обычно включает: проектирование общей структуры определение основных частей компонентов и их взаимосвязей по управлению и данным; декомпозицию компонентов и построение структурных иерархий в соответствии с рекомендациями блочноиерархического подхода;...
24428. Классификации сайтов. Сервисы Интернет 40.5 KB
  Сервисы Интернет. Классификация сайтов Все многообразие информации в интернете обозначаемой одним емким словом сайт можно условно разделить по: задачам сайта цели его создания и фунционирования коммерческий некоммерческий информационный рекламный поисковая система. объемности хоумпейдж сайтывизитки интернетпредставительства вебпорталы и т. Интернет сервисы: Пользователь работающий в Интернет имеет дело с несколькими различными видами услуг.
24429. Концепция и возможности XML-технологий 67 KB
  Концепция и возможности XMLтехнологий. XML Extensible Markup Language[1] это язык разметки описывающий объектов данных называемых XML документами. сам по себе XML не содержит никаких тэгов предназначенных для разметки он просто определяет порядок их создания. Таким образом если например мы считаем что для обозначения элемента rose в документе необходимо использовать тэг flower ; то XML позволяет свободно использовать определяемый нами тэг и мы можем включать в документ фрагменты подобные следующему: flower rose flower Набор...
24430. Архитектура стека TCP/IP. Протокол IP. Заголовок IP-пакета. IP-адресация 238.5 KB
  Заголовок IPпакета. В его задачу входит продвижение пакета между сетями от одного маршрутизатора до другого до тех пор пока пакет не попадет в сеть назначения. Заголовок IPпакета IPпакет состоит из заголовка и поля данных. Значение длины заголовка IPпакета также занимает 4 бита и измеряется в 32 битовых словах.
24431. Протокол ARP. Протокол ICMP. Протокол UDP 124 KB
  Протокол ARP. Протокол ARP: Для определения локального адреса MAC по IPадресу используется протокол разрешения адресов Address Resolution Protocol ARP. Существует два варианта работы APR: локальная сеть с поддержкой широковещания глобальная сеть без широковещения Рассмотрим работу протокола ARP в локальных сетях с широковещанием. Для решения этой задачи протокол IP обращается к протоколу ARP.