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.


 

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

29202. Осмотр — следственное действие 34.5 KB
  Осмотр играет большое значение при расследовании так как именно во время осмотра обнаруживается фиксируется изучается значительная часть следов преступления. Результаты осмотра дают возможность выдвигать следственные версии определять направление расследования. Успех расследования напрямую зависит от качества осмотра. Виды осмотра: осмотр места происшествия местности жилища иного помещения предметов документов ст.
29203. Процессуальный порядок, основные тактические приемы предъявления для опознания 26 KB
  Следователь может предъявить для опознания лицо или предмет свидетелю потерпевшему подозреваемому или обвиняемому. Для опознания может быть предъявлен и труп. Опознающие предварительно допрашиваются об обстоятельствах при которых они видели предъявленные для опознания лицо или предмет а также о приметах и особенностях по которым они могут его опознать.
29204. Обыск — следственное действие 26.5 KB
  Поскольку обыск связан с принудительным вторжением в жилище гражданина и неизбежным вмешательством в его личные интересы для этого требуется санкция прокурора. Лишь в случаях не терпящих отлагательств обыск может быть произведен без такой санкции но следователь обязан в течение суток уведомить прокурора о произведенном обыске. В ходе обыска могут и должны решаться следующие задачи: отыскание и изъятие орудий преступления предметов и ценностей добытых преступным путем а также других предметов и документов которые могут иметь значение...
29205. Тактика следственного эксперимента 30.5 KB
  СЭ могут быть нескольких видов: эксперимент по установлению возможности восприятия какого либо факта или явления по установлению возможности совершения какого либо действия эксперимент по установлению возможности существования какого – либо явления эксперимент по установлению отдельных элементов механизма события. эксперимент по установлению механизма образования отдельных следов события общий порядок производства СЭ предусмотрен ст.
29206. Следственный эксперимент 26 KB
  Принимается решение о проведении эксперимента 2. уясняется цель данного эксперимента 3. определение участников эксперимента и роли каждого из них. подготовка технических средств хода процессуального результата эксперимента а так же составление письменного плата то есть сценария.
29207. Криминалистическая следственная тактика 58.5 KB
  тактика решает задачи: подготовка наиболее эффективных рекомендаций по организации планированию расследования и проверки версий разработка наиболее оптимальных приемов следственных действий поиск взаимодействия следователя с оперативными работниками использование оперативнорозыскной информации в тактике следственных действий Структура научных основ криминалистической тактики включает: процессуальные основы психологические основы логические основы тактические основы нравственные основы Структура и система криминалистической тактики:...
29209. Тактика допроса подозреваемого и обвиняемого 66.5 KB
  Как и допрос свидетеля и потерпевшего допрос обвиняемого и подозреваемого помимо подготовки включает 4 стадии те же: установление психологического контакта свободный рассказ постановка вопросов ознакомление допрашиваемого с протоколом. убеждение допрашиваемого в неправильности занятой им позиции. разумное использование доказательств предъявление доказательств после получения о допрашиваемого всех сведений относительно данного доказательства. установление виновной осведомленности допрашиваемого вопреки его воли.
29210. Сле́дователь — должностное лицо 61 KB
  К органам дознания относятся: 1 органы внутренних дел Российской Федерации а также иные органы исполнительной власти наделенные в соответствии с федеральным законом полномочиями по осуществлению оперативнорозыскной деятельности; 2 органы Федеральной службы судебных приставов; 3 командиры воинских частей соединений начальники военных учреждений или гарнизонов; 4 органы государственного пожарного надзора федеральной противопожарной службы.