Вступление
Добрый день! |
ТеорияДавайте представим, что нам необходимо создать картинку в памяти. Если описывать каждую точку координатами (x, y) , то понадобится очень много переменных. Однако задачу как всегда можно упростить. В этом нам помогут массивы! Массив - объединение нескольких однотипных объектов. Массивы объявляются в разделе переменных (var) вот так: ИМЯ : array [ диапозон ] of ТИП;Диапозон определяет число элементов массива, а тип - тип элементов массива. Например: A : array [0 .. 50] of real;Как видно в квадратных скобках указывается минимальный и максимальный номер элемента массива. В примере массив А содержит 51 элемент, массив В - 8 элементов, С - 10. К каждому элементу массива осуществляется отдельный доступ по его индексу (он колеблется в диапозоне, например для В это от -3 до 4, для А от 0 до 50). Индекс элемента указывается в квадратных скобках : a [0] := 5; - присвоить первому элементу массива А значение 5 a[1] := a[0]; - присвоить второму элементу массива А значение первого b[-3] := b[4]; - присвоить первому элементу массива В значение последнего c[5] := 5; присвоить 5 элементу массива С значение 5Из этого примера видно, что номер элемента массива соответствует индексу при способе задания массива как-то так array [1 .. С элементом массива допустимы любые операции (естественно, если они допустимы для типа). Т.е. вы спокойно обращаетесь с элементом массива как с переменной. Давайте рассмотрим простенькую программку - заполняем массив случайными числами и выводим его на экран.
В качестве верхней границы массива мы везде используем константу, что очень удобно (если на понадобится массив скажем от 1 до 100, то мы просто её поменяем). После очистки экрана мы вызываем функцию randomize - инициализация генератора случайных чисел. После этого мы можем использовать функцию random (X), которая возвращает случайное число в границах [0, X), т.е. больше или равно 0 и меньше Х. Про то, как этот генератор работает, вернее откуда они берутся эти случайные числа, если в компьютере всё построено на чётких и явных командах, мы ждём ваших соображений - ibp7@yandex.ru (это типа вопроса на догадку :).
|
ПрограммаСегодня мы поговорим об ужасно (аж страшно стало :) важной вещи: сортировка массива! Сортировка - это упорядочивание элементов массива по какому-то признаку, например по возрастанию, убыванию. Сортировка - это довольно большая тема и сегодня мы лишь слегка коснёмся её. В обозримом будущем несколько выпусков, по этой теме. Так вот мы поговорим об "пузырьковой" сортировке, помните - вся сила в волшебных пузырьках :))) При пузырьковой сортировке упорядоченный массив получается из исходного путём многократного обменом пары рядом стоящих элементов, не отвечающих требуемому порядку, пока такие пары существуют. Наиболее простой метод обмена соседних элементов с неправильным порядком при просмотре всего списка слева на право определяет пузырьковую сортировку: максимальные элементы как бы всплывают (как пузырьки) в конце списка. Например: B=20,-5,10,8,7, исходный список. цитата iVs 02.11.2002А посему мы решили рискнуть и дать первое домашнее задание (мороз по коже от этих слов :( - написать программу, которая сортирует массив пузырьковой сортировкой. Ответы принемаются в виде исходников. Если во время решения этой задачки возникнут вопросы - you are welcomed here - ibp7@yandex.ru Сразу отвечу на один вопрос, который может возникнуть при решении этой задачки - как поменять значения 2-х переменных ? Например а = 5, b = 6 - нужно a = 5, b = 6. Тут нужно всё провернуть через третью переменную :) ..... |
ГолосованиеИтак юбилей надеюсь состоялся :) Можете анонимно оценить нашу работу в голосовании - http://narod.yandex.ru/survey/?id=79839. |
Новости сайта
Теперь на сайте можно подписаться на рассылку "Turbo Pascal. Исходники, программы, ответы на Ваши вопросы" с сайта http://www.borlpasc.narod.ru/. |
ПослесловиеИтак сегодня мы задали с ходу целых 2 вопроса: ваши мысли по поводу генератора случайных чисел и написать программу для сортировки. Как поёт Шевчук: За эти вопросы нам Пушкин воздаст,Так, что если мы не будем съедены, то следующий выпуск выйдет в понедельник. Ответы на вопросы можете слать в течении недели. Вот и всё. |