Обработка массивов

Массивы как формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. Принципы и порядок формирования массива с помощью персонального компьютера, исследование его глубины и содержания.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 10.12.2012
Размер файла 211,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Размещено на http://www.allbest.ru/

Курсовая работа

«Обработка массивов»

Задание курсовой работы

В массиве целых положительных и отрицательных чисел А [4,4], полученном случайным образом, вычислить сумму элементов второй строки и побочной диагоналей. Если сумма элементов побочной диагонали больше суммы элементов второй строки, то выбрать из массива все числа, кратные 3, и записать их квадрат в одномерный массив, который затем рассортировать в порядке возрастания. В противном случае подсчитать количество отрицательных чисел в массиве А и записать его на место предпоследнего элемента.

Введение

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

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

История компьютера тесным образом связана с попытками облегчить и автоматизировать большие объемы вычислений. Даже простые арифметические операции с большими числами затруднительны для человеческого мозга. Поэтому уже в древности появилось простейшее счетное устройство - абак. В 17в. была изобретена логарифмическая линейка, облегчающая сложные математические расчеты. В 1642 Блез Паскаль сконструировал восьмиразрядный суммирующий механизм. В 1820 француз Шарль де Кольмар создал арифмометр, способный производить умножение и деление. Все основные идеи, которые лежат в основе работы компьютеров, были изложены еще в 1833 английским математиком Чарлзом Бэббиджем. Он разработал проект машины для выполнения научных и технических расчетов, где предугадал основные устройства современного компьютера, а также его задачи. Для ввода и вывода данных Бэббидж предлагал использовать перфокарты - листы из плотной бумаги с информацией, наносимой с помощью отверстий. Идеи Бэббиджа стали реально воплощаться в жизнь в конце 19 века. В 1888 г. американский инженер Герман Холлерит сконструировал первую электромеханическую счетную машину - табулятор. Она могла считывать и сортировать статистические записи, закодированные на перфокартах. В 1896 Герман Холлерит основал свою фирму, которая стала основой для будущей - International Business Machines Corporation (IBM) - компании, внесшей гигантский вклад в развитие мировой компьютерной техники. Дальнейшее развитие науки и техники позволили в 1940-х годах построить первые вычислительные машины. В феврале 1944 на одном из предприятий Ай-Би-Эм (IBM) в сотрудничестве с учеными Гарвардского университета по заказу ВМС США была создана машина «Марк-1». Это был монстр весом около 35 тонн. «Марк-1» был основан на использовании электромеханических реле и оперировал десятичными числами, закодированными на перфоленте. В 1946 г. американцами была построена первая ЭВМ - ENIAC. Ее вес составлял 30 тонн, она требовала для размещения 170 квадратных метров площади. Машина содержала 18 тысяч электронных ламп. Считала машина в двоичной системе и производила пять тысяч операций сложения или триста операций умножения в секунду. Электронные лампы машины часто выходили из строя. Для их замены в 1947 американцы Джон Бардин, Уолтер Браттейн и Уильям Брэдфорд Шокли предложили использовать изобретенные ими полупроводниковые элементы - транзисторы. Совершенствование первых образцов вычислительных машин привело в 1951 к созданию компьютера UNIVAC, предназначенного для коммерческого использования. С активным внедрением транзисторов в 1950-х годах связано рождение II поколения компьютеров. В компьютерах стали применять запоминающие устройства из магнитных сердечников, способные хранить большой объем информации. В 1959 были изобретены интегральные микросхемы (чипы), в которых все электронные компоненты вместе с проводниками помещались внутри кремниевой пластинки. Применение чипов в компьютерах позволяет сократить пути прохождения тока при переключениях, и скорость вычислений повышается в десятки раз; уменьшить габариты. Появление чипа знаменовало собой рождение III поколения компьютеров. В 1970 сотрудник компании Intel Эдвард Хофф создал первый микропроцессор, разместив несколько интегральных микросхем на одном кремниевом кристалле. С микропроцессом появляются микрокомпьютеры - компьютеры IV поколения, способные разместиться на письменном столе пользователя. Во второй половине 1970-х годов появляются наиболее удачные образцы микрокомпьютеров американской фирмы Эпл (Apple), но широкое распространение персональные компьютеры получили с созданием в августе 1981 фирмой Ай-Би-Эм (IBM) модели микрокомпьютера IBM PC. За последние десятилетия 20 века микрокомпьютеры проделали значительный эволюционный путь, многократно увеличили свое быстродействие и объемы перерабатываемой информации, но окончательно вытеснить миникомпьютеры и большие вычислительные системы - мейнфреймы они не смогли. Более того, развитие больших вычислительных систем привело к созданию суперкомпьютера - суперпроизводительной и супердорогой машины, способной просчитывать модель ядерного взрыва или крупного землетрясения.

Что же понимается под понятием в современном понимании персональный компьютер? Ответить на этот вопрос можно если четко сформулировать, все его основные признаки.

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

Можно выделить пять формальных признаков, которые помогут нам определить, является ли данный компьютер персональным или нет.

1. Способ управления простой, наглядный, удобный, не требующий глубоких знаний в области вычислительной техники. Все технические средства (дисплей. клавиатура, манипулятор, печатающее устройство и т.д.), обеспечивающие взаимодействие человека и ЭВМ, сделаны так, чтобы на них безбоязненно мог работать даже ребенок. Общение человека и компьютера организованно в диалоговом режиме.

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

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

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

5. Конструкция персонального компьютера, его внешнее оформление привлекательны по цвету и форме, удовлетворяют эргономическим показателям. Впервые за время развития вычислительной техники этот признак включен в качестве основного при определении целого класса ЭВМ.

Применение ПК в жизни человека. М. Горький сказал: «Все - в человеке, все для человека!

Существует только человек, все же остальное-дело его рук и его мозга»

Компьютер - тоже дело рук и мозга человека. Процесс взаимодействия человека с ЭВМ насчитывает уже более 40 лет. До недавнего времени в этом процессе могли участвовать только специалисты - инженеры, математики - программисты, операторы. В последние годы произошли кардинальные изменения в области вычислительной техники. Благодаря разработке и внедрению микропроцессоров в структуру ЭВМ появились малогабаритные, удобные для пользователя персональные компьютеры. Ситуация изменилась, в роли пользователя может быть не только специалист по вычислительной технике, но и любой человек, будь то школьник или домохозяйка, врач или учитель, рабочий или инженер.

Бытовые персональные компьютеры используют в домашних условиях. Их основное назначение: обеспечение несложных расчетов, выполнение функции записной книжки, ведение личной картотеки, средство обучения различным дисциплинам, инструмент доступа по телефонным каналам к общественным информационным фондам и т.д.

Широкое распространение получил он как средство развлечения - организатор и партнер в различных играх. Профессиональные персональные ЭВМ используют в конкретной профессиональной сфере, все программные и технические средства ориентированы на конкретную профессию.

Однако независимо от профессиональной направленности ЭВМ их основное назначение-выполнение рутинной работы: они осуществляют поиск информации в различных справочно-нормативной документации и архивах, составляют типовые формы документации, ведут дневник или лабораторный журнал, фиксируют результаты исследований, запоминают и выдают по запросу пользователя информацию по данной профессиональной деятельности и т.д.

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

Наиболее универсальное средство компьютерного общения - это электронная почта. Она позволяет пересылать сообщения практически с любой машины на любую, так как большинство известных машин, работающих в разных системах, ее поддерживают. Электронная почта во многом похожа на обычную почту. С ее помощью письмо - текст, снабженный стандартным заголовком (конвертом) - доставляется по указанному адресу, который определяет местонахождение машины и имя адресата, и помещается в файл, называемый почтовым ящиком адресата, с тем, чтобы адресат мог его достать и прочесть в удобное время. При этом между почтовыми программами на разных машинах существует соглашение о том, как писать адрес, чтобы все его понимали. Электронная почта оказалась во многом удобнее обычной, «бумажной» Надежность электронной почты сильно зависит от того, какие используются почтовые программы, насколько удалены друг от друга отправитель и адресат письма, и особенно от того, в одной они сети, или в разных. Если письмо потерялось, то об этом можно узнать достаточно скоро и послать новое. Обычно программы, предназначенные для пересылки писем от одного человека другому поддерживают и такую возможность, как почтовые списки. Если группа людей, объединенных общими интересами, хочет поддерживать дискуссию на какую-нибудь тему длительное время, они создают такой список, выделяют для него какое-либо имя, после чего все сообщения, посланные на это имя, рассылаются всем участникам группы. Предполагается, что у такой группы должен быть администратор, к которому можно обратиться, если Вы хотите, чтобы Вас включили в группу, исключили из нее, или если у Вас изменился адрес. Если группа становится очень большой, администратору прибавляется работы. Кроме того, большим группам неудобно пользоваться почтовыми списками потому что: - каждый из участников группы должен хранить у себя весь список - сообщения посылаются каждому из участников группы отдельно; если четыре участника группы находятся в одной локальной сети, каждому все равно присылается отдельная копия каждого сообщения; если десять участников группы находятся на одной большой машине - на эту машину приходит по десять копий каждого сообщения, по одной на каждого члена группы. При больших масштабах это очень непрактично; - если Вы хотите ссылаться в ходе дискуссии на полученные ранее сообщения, Вам приходится хранить весь архив у себя, а он может занимать очень много места; - поскольку почтовые списки распространяются и принимаются теми же программами, что и обычная почта, если Вы участвуете в нескольких почтовых списках, сообщения от разных групп приходят вперемежку, и Вам приходится самому отделять сообщения одной группы от другой и от отдельных писем. Чтобы избежать этих неудобств, при общении очень больших групп людей используется система, независимая от электронной почты - компьютерная конференция. Самая большая компьютерная конференция - USENET - объединяет сотни тысяч машин по всему миру. Ее устройство напоминает доску объявлений, и, с другой стороны, газету. Никакого списка участников конференции не существует. Получать и отправлять сообщения может любой, чья машина связана с какой-нибудь другой машиной, которая получает сообщения конференции. Все рассылаемые сообщения разделены на группы по темам, и для того, чтобы получать сообщения группы, надо на эту группу подписаться, то есть включить имя этой группы в список на своей машине. Сетевое программное обеспечение, обслуживающее конференцию USENET, из всех предлагаемых сообщений выбирает сообщения, относящиеся к группам из Вашего списка. Посылая сообщение, Вы помечаете, к какой группе оно относится, и все, кто подписан на эту группу, Ваше сообщение получат. Такое устройство конференции позволяет Вам получать все сообщения по интересующим Вас темам, независимо от того, кто их написал, и рассылать сообщение, не беспокоясь об адресах получателей - его прочтут те, кого оно может заинтересовать. Компьютерная конференция может быть полезна тем, кто хочет узнать о новых товарах, книгах или фильмах, через нее очень удобно распространять информацию о замеченных ошибках в программах и о способах их исправить, она просто незаменима для любителей поболтать на любимую тему со своими единомышленниками во всех уголках Земли, и, конечно же, для научных дискуссий. При помощи конференции можно обсуждать интересующую тему в такой компании, собрать которую в одном месте для личной беседы стоило непредсказуемых затрат времени и сил. В списках групп можно найти группы для специалистов по древнегреческой культуре и для любителей рок-музыки, и для обмена кулинарными рецептами. Программы, обслуживающие конференцию, достаточно умны для того, чтобы присылать по одной копии сообщения на машину, независимо от того, сколько пользователей на этой машине будут его читать; они также предоставляют возможность обращаться к старым сообщениям.

Массивы

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

Массивы - формальное объединение нескольких однотипных объектов (чисел, символов, строк и т.п.), рассматриваемое как единое целое. К необходимости применения массивов мы приходим всякий раз, когда требуется связать и использовать целый ряд родственных величин. Например, результаты многократных замеров температуры воздуха в течение года удобно рассматривать как совокупность вещественных чисел, объединенных в один сложный объект - массив измерений. 

При описании массива необходимо указать общее число входящих в массив элементов и тип этих элементов. Например

var

а: array [1..10] of real;

b: array [0..50] of Char;

с: array [-3..4] of Boolean;

Как видим, при описании массива используются зарезервированные слова ARRAY и OF (массив, из). За словом ARRAY в квaдрaтныx скобкax указывается тип-диапазон, с помощью которого компилятор oпеределяет общее число элементов массива. Тип-диапазон задается левой и правой границами изменения индекса массива так что массив А состоит из 10 элементов, массив В-из 31, а массив C - из 8 элементов. За словом OF указывается тип элементов, образующих массив. 
Доступ к каждому элементу массива в программе осуществляется с помощью индекса - целого числа (точнее, выражения порядкового типа), служащего своеобразным именем элемента в массиве (если левая граница типа-диапазона равна 1, индекс элемента совпадает с его порядковым номером). При упоминании в программе любого элемента массива сразу за именем массива должен следовать индекс элемента в квадратных скобках, например:

var

a: array [1..10] of Integer;

b: array [0..40] of Char;

c: array [-2..2] of Boolean;

k: Integer;

begin

b[17]:= 'F';

c[-2]:= a[1] > [2];

for k:= 1 to 10 do

a[k]:= 0;

.

end.

В правильно составленной программе индекс не должен выходить за пределы, определенные типом-диапазоном. Например, можно использовать элементы А[1], В[38], С[0], но нельзя А[0] или С[38]. Турбо Паскаль может контролировать использование индексов в программе на этапе компиляции и на этапе счета программы. 

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

Program Average;

{Программа создает массив из N случайных целых чисел, равномерно распределенных

в диапазоне от 0 до MAX_VALUE-1, подсчитывает среднее арифметическое этих чисел,

а также минимальное и максимальное из них.}

const

N = 1000; {Количество элементов массива}

MAX_VALUE = 100+1; {Диапазон значений случайных чисел}

var

m: array [1..N] of Integer; {Массив чисел}

i: Integer; {Индекс массива}

max, min: Integer; {Максимальное и минимальное число}

s: real; {Сумма чисел}

begin

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

for i:= 1 to N do

m[i]:= random (MAX_VALUE);

{Задаем начальные значения переменных:}

s:= 0;

max: = m[1];

min:= m[1];

{Цикл вычисления суммы всех случайных чисел и поиска минимального и максимального:}

for i:= 1 to N do

begin

s:= s + m [i];

if m[i] < min then

min:= m[i]

else

if m[i] > max then

max:= m[i]

end;

{Вычисляем среднее значение и печатаем результат:}

WriteLn ('Мин = ', min, ' Макс = ', max, 'Среднее = ', s/N)

end.

Для создания массива используется встроенная функция RANDOM (МАХ), которая возвращает случайное целое число, равномерно распределенное в диапазоне от 0 до МАХ-1 (МАХ - параметр обращения).

Массивы в Турбо Паскале во многом схожи с аналогичными типами данных в других языках программирования. Отличительная особенность массивов заключается в том, что все их компоненты суть данные одного типа (возможно, структурированного). Эти компоненты можно легко упорядочить и обеспечить доступ к любому из них простым указанием его порядкового номера, например:

type

digit = array [0..9] of char;

matrix = array [byte] of single;

var

m: matrix;

d: digit;

i: integer;

begin

.

m[17]:= ord (d[i-1])/10;

.

end.

Описание типа массива задается следующим образом:

<имя типа> = ARRAY [<сп. инд. типов>] OF <тип>

<имя типа> - правильный идентификатор; 
ARRAY, OF - зарезервированные слова (массив, из); 
<сп. инд. типов> - список из одного или нескольких индексных типов, разделенных запятыми; квадратные скобки, обрамляющие список, - требование синтаксиса; 

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

В качестве индексных типов в Турбо Паскале можно использовать любые порядковые типы, кроме LONGINT и типов-диапазонов с базовым типомLONGINT

Определить переменную как массив можно и непосредственно при описании этой переменной, без предварительного описания типа массива, например:

var

a, b: array [1..10] of real;

Обычно в качестве индексного типа используется тип-диапазон, в как тип, в котором задаются границы изменения индексов. Так как тип <тип>, идущий за словом OF, - любой тип Турбо Паскаля, то он может быть, в частности, и другим массивом, например:

type

mat = array [0..5] of array [-2..2] of array [char] of byte;

Такую запись можно заменить более компактной:

type

mat = array [0..5, - 2..2, char] of byte;

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

var

а: array [1.. 2,1..2] of byte;

begin

а [1,1]:= 1;

а [2,1]:= 2;

а [1,2]:= 3;

а [2,2]:= 4;

end.

компьютер массив символ

то в памяти последовательно друг за другом будут расположены байты со значениями 1, 3, 2, 4. Это обстоятельство может оказаться важным при использовании стандартной процедуры копирования памяти MOVE

В Турбо Паскале можно одним оператором присваивания передать все элементы одного массива другому массиву того же типа, например:

var

a, b: array [1..5] of single;

begin

….

a:= b;

.

end.

После этого присваивания все пять элементов массива А получат те же значения, что и в массиве В, Однако над массивами не определены операции отношения. Нельзя, например, записать

if a = b then

Одним из способов обработки массивов является сортировка.

Сортировкой или упорядочением массива называется расположение его элементов по возрастанию (или убыванию). Если не все элементы различны, то надо говорить о неубывающем (илиневозрастающем) порядке.

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

· количество шагов алгоритма, необходимых для упорядочения;

· количество сравнений элементов;

· количество перестановок, выполняемых при сортировке.

Метод «пузырька»

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

· если встречается более «легкий» (с меньшим значением) элемент, то они меняются местами;

· при встрече с более «тяжелым» элементом, последний становится «эталоном» для сравнения, и все следующие сравниваются с ним.

В результате наибольший элемент оказывается в самом верху массива.

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

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

Теперь можно привести текст программы упорядочения массива M [1..N]:

begin
for j:=1 to N-1 do
for i:=1 to N-j do
if M[i] > M [i+1] then
swap (M[i], M [i+1])
end;

Стандартная процедура swap будет использоваться и в остальных алгоритмах сортировки для перестановки элементов (их тип мы уточнять не будем) местами:

procedure swap (var x, y:);
var t:;
 begin
t:= x;
x:= y;
y:= t
 end;

Заметим, что если массив M - глобальный, то процедура могла бы содержать только аргументы (а не результаты). Кроме того, учитывая специфику ее применения в данном алгоритме, можно свести число парметров к одному (какому?), а не двум.

Сортировка вставками

Второй метод называется метод вставок., т.к. на j-ом этапе мы «вставляем» j-ый элемент M[j] в нужную позицию среди элементов M[1]M[2],…, M [j-1], которые уже упорядочены. После этой вставки первые j элементов массива M будут упорядочены.

Сказанное можно записать следующим образом:

нц для j от 2 до N

переместить M[j] на позицию i <= j такую, что

M[j] < M[k] для i<= k < j и

либо M[j] >= M [i-1], либо i=1

кц

Чтобы сделать процесс перемещения элемента M[j], более простым, полезно воспользоваться барьером: ввести «фиктивный» элемент M[0], чье значение будет заведомо меньше значения любого из «реальных» элементов массива (как это можно сделать?). Мы обозначим это значение через - оо.

Если барьер не использовать, то перед вставкой M[j], в позицию i-1 надо проверить, не будет ли i=1. Если нет, тогда сравнить M[j] (который в этот момент будет находиться в позиции i) с элементом M [i-1].

Описанный алгоритм имеет следующий вид:

begin
M[0]:= - oo;
for j:=2 to N do
begin 
i:= j; 
while M[i] < M [i-1] do
begin 
swap (M[i], M [i-1]);
i:= i-1
end
end 
end;

Процедура swap нам уже встречалась.

Сортировка посредством выбора

Идея сортировки с помощью выбора не сложнее двух предыдущих. На j-ом этапе выбирается элемент наименьший среди M[j]M [j+1],…, M[N] (см. процедуру FindMin) и меняется местами с элементом M[j]. В результате после j-го этапа все элементы M[j]M [j+1],…, M[N] будут упорядочены.

Сказанное можно описать следующим образом:

нц для j от 1 до N-1

выбрать среди M[j],…, M[N] наименьший элемент и

поменять его местами с M[j]

кц

Более точно:

begin
for j:=1 to N-1 do
begin 
FindMin (j, i);
swap (M[j], M[i])
end 
end;

В программе, как уже было сказано, используется процедура FindMin, вычисляющая индекс lowindex элемента, наименьшего среди элементов массива с индексами не меньше, чем startindex:

procedure FindMin (startindex: integer; var lowindex: integer);
var lowelem:…;
u: integer;
 begin
lowindex:= startindex;
lowelem:= M[startindex];
for u:=startindex+1 to N do
if M[u] < lowelem then
begin
lowelem:= M[u];
lowindex:= u
end
 end;

Алгоритм решения задачи в виде блок схемы

Сортировка:

Программа

program massive;

uses crt;

var

a: array [1.. 8,1..8] of integer;

b:array [1..64] of integer;

i, j, s1, pob, k, tmp, kotr:integer;

ans:char;

procedure sortirovka;

var

i, j:integer;

begin

for i:=1 to k-1 do

for j:=1 to k-1 do

if b[j]>b [j+1] then

begin

tmp:=b[j];

b[j]:=b [j+1];

b [j+1]:=tmp;

end;

end;

begin

clrscr;

while (ans<>'0') do

begin

clrscr;

s1:=0;

pob:=0;

k:=0;

tmp:=0;

kotr:=0;

Randomize;

for i:=1 to 8 do

begin

writeln;

for j:=1 to 8 do

begin

a [i, j]:=random(201) - 100;

write (a[i, j]:6);

end;

end;

writeln;

writeln;

for i:=1 to 8 do

s1:=s1+a [1, i];

pob:= 0;

j:= 8;

for i:=1 to 8 do begin

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

j:= j-1;

end;

writeln ('summa pervoi stroki = ', s1);

writeln ('summa pobochnoi diagonali = ', pob);

if s1>pob then

begin

for i:=1 to 8 do

for j:=1 to 8 do

if (a [i, j] mod 2=0) and (a [i, j] mod 7=0) then

begin

inc(k);

b[k]:=a [i, j];

end;

writeln ('neotsortirovanniy odnomerniy massiv: ');

writeln;

for i:=1 to k do

write (b[i]:6);

writeln;

writeln;

sortirovka;

writeln ('otsortirovanniy odnomerniy massiv: ');

writeln;

for i:=1 to k do

write (b[i]:6);

writeln;

writeln;

writeln;

end

else

begin

for i:=1 to 8 do

for j:=1 to 8 do

if a [i, j]<0 then

inc(kotr);

writeln ('kol. otricatelnykh = ', kotr);

a [1,2]:=kotr;

for i:=1 to 8 do

begin

writeln;

for j:=1 to 8 do

write (a[i, j]:6);

end;

writeln;

writeln;

end;

writeln ('nachat zanogo? 1-da, 0-net');

readln(ans);

end;

end.

Заключение

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

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

Зачастую дети в компьютерах разбираются лучше, чем их родители. Как же тогда родители могут контролировать нас? Я думаю, что родителям самим надо сначала научиться пользоваться компьютером и Интернетом. Нас нужно научить разбираться, что для нас хорошо, а что плохо. Тогда и контролировать никого не надо будет.

Список литературы

1. Жигарев А.Н. Основы компьютерной грамоты - Л. Машиностроение. Ленинг. отд-ие, 1987 г. - 255 с.

2. Кузнецов Е.Ю., Осман В.М. Персональные компьютеры и программируемые микрокалькуляторы: Учеб. пособие для ВТУЗов - М.: Высш. шк. -1991 г. 160 с

3. Растригин Л.А. С компьютером наедине - М.: Радио и связь, - 1990 г. - 224 с.

4. Павленко А.Р. «Компьютер, TV и здоровье». - Киев: «Основа», 2002.

5. Компьютерные технологии обработки информации. Под ред. С.В. Назарова - М.: Финансы и статистика, 1995.

6. Интернет источник/www.openclass.ru

7. Интернет источник/www.vzmakh.ru

Размещено на Allbest.ru


Подобные документы

  • Понятие и функциональные возможности индексных массивов, принципы их формирования. Особенности использования функции array, range. Ассоциативные массивы, исследование их преимуществ и недостатков, этапы создания. Просмотр массива с помощью цикла.

    презентация [144,3 K], добавлен 21.06.2014

  • Широкое использование компьютерных и информационных технологий. Концепции типов данных. Алгоритмы сортировки одномерных массивов. Описание двумерного массива Паскаля. Методы доступа к элементам массивов. Индексные, динамические и гетерогенные массивы.

    курсовая работа [66,3 K], добавлен 07.12.2010

  • Изучение понятия и основных видов массивов. Ввод массива с клавиатуры и вывод на экран. Сортировка массивов. Метод простых обменов (пузырьковая сортировка). Сортировка простым выбором и простым включением. Решение задач с использованием массивов Паскаля.

    курсовая работа [82,1 K], добавлен 18.03.2013

  • Объявление, выделение, освобождение памяти под динамические массивы. Обращение к элементам. Решение задач с использованием динамических массивов на языке C++. Разработка и реализация программы для формирования и обработки динамического двумерного массива.

    курсовая работа [813,4 K], добавлен 13.06.2014

  • Разработка и реализация типовых алгоритмов обработки одномерных массивов на языке Delphi. Максимальный и минимальный элемент массива. Значение и расположение элементов массива. Элементы массива, находящиеся перед максимальным или минимальным элементом.

    лабораторная работа [12,8 K], добавлен 02.12.2014

  • Вектор и матрица с числовыми компонентами как математические прообразы массивов. Создание программы, содержащей процедуры для выполнения заданных операций: построение массива, перестановка строк и столбцов. Использование диалоговых окон "уведомлений".

    курсовая работа [1,3 M], добавлен 15.02.2011

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

    лабораторная работа [12,8 K], добавлен 09.01.2011

  • Заполнение массива из целых чисел с присвоением элементам разных значений. Варианты программы с использованием различных операторов организации циклов. Определение квадрата максимального из четных элементов массива и общего числа нулевых элементов.

    лабораторная работа [259,3 K], добавлен 14.05.2011

  • Понятие массива и правила описания массивов в программах на языке С. Рассмотрение основных алгоритмов обработки одномерных массивов. Примеры программ на языке С для всех рассмотренных алгоритмов. Примеры решения задач по обработке одномерных массивов.

    учебное пособие [1,1 M], добавлен 22.02.2011

  • Сущность глобальной компьютеризации и ее распространенность на современном этапе. Основные характеристики персонального компьютера и требования к нему, главные критерии выбора и оценка ассортимента. Порядок выбора конфигурации персонального компьютера.

    реферат [398,1 K], добавлен 31.10.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.