Министерство образования республики татарстан
Альметьевский государственный нефтяной институт
Кафедра информатики
Курсовая работа
По дисциплине «Информатика»
Раздел: Алгоритмический язык Pascal
На тему: Разработка в среде Turbo Pascal программы, реализующий сортировку разными методами.
Выполнил студент:
Группы:
Проверил: Ханова И.С.
Альметьевск 2012
Содержание
Содержание 2
Введение 3
Теоретическая часть 4
Практическая часть 7
Задача 2 21
Заключение 25
Введение
Представьте такую ситуацию,когда вам необходимо оперировать с несколькими однородными операторами. Например есть список учеников в классе и нужно заполнить информацию о возрасте каждого. Или же требуется составить список имен поступивших студентов. В этом и подобных случаях неудобно объявлять каждую переменную отдельно,гораздо проще и удобнее объявить их вместе. Как раз для этого и используется одномерный массив. Что же это такое ? Одномерным массивом называется упорядоченная совокупность однотипных элементов, обозначенных каждая одним и тем же именем с различными целочисленными индексами, изменяющимися по порядку. Непонятно? Поясняю : представим что у нас есть переменные a,b,c,d,e,f и все они одного типа integer. Довольно нерационально прописывать каждую переменную в отдельности,тем более ,если их например больше 100. Гораздо удобнее взять один массив,который и будет содержать в себе все эти элементы. Одномерный массив по сути является такой же переменной,только содержащей в себе вложения в виде других переменных. Объявляется он также в разделе var и выглядит так.
* var имя массива : Array [диапазон значений] Of базовый тип;
имя массива - здесь любое имя ,как и у переменной ,не считая зарезервированных ( таких как read,write,for,do,if,then и других)
диапазон значений - тут количество значений ,которое задается например от 1 до 100
базовый тип - любой тип данных,который будет применен для каждого элемента массива,например integer
Ну вернемся к нашей задаче про одноклассников. Пусть их будет 30,тогда одномерный массив будет выглядеть так
* var a:array [1..30] of integer;
Теперь о том ,как оперировать с элементами одномерного массива. Операции с элементами массива,производятся так же ,как и с обычными,но элемент принимает вид
a[номер в диапазоне массива]
Естественно номер в диапазоне значений не может быть больше самого диапазона. Например для нашей задачи переменная a[31] невозможна,так как ее индекс не входит в заданный диапазон (от 1 до 30). На этом различия заканчиваются. Посмотрим объявление стандартных действий для одномерного массива. Как вы видите массивы в паскале представлены просто,производить с ними различные операции достаточно легко и удобно. В будущих уроках я объясню,как вносить данные в одномерный массив ,производить сортировку в однородном массиве и затрону еще много интересных моментов.
Теоретическая часть
Построение структур данных
Данные бывают двух видов:
Простейшие данные – элементы данных, являющиеся неделимыми (числа, строки, знаки). Для простейших данных существуют стандартные типы (Integer,Real, Char, String, Boolean).
Структурированные данные – это структуры, состоящие из нескольких простейших данных. Определяются пользователем в программе при помощи двух конструкций:
Массив – структура однотипных данных с индексированным доступом.
Запись – структура данных с доступом по идентификатору.
Массивы
Массив – структура однотипных данных с индексированным доступом. Каждый элемент массива получает один или несколько номеров, называемых индексами. Индексы записываются в квадратных скобках через запятую.
Массивы бывают следующих видов:
Одномерные – каждый элемент массива получает два индекса (пр. [2,3]).
Многомерные – каждый элемент получает более 2-х индексов (пр. [1,1,k]).
Описание массивов
Каждый из индексов массива находится в некотором диапазоне (<нач. элемент>…<кон. элемент>). Причем конечный элемент больше либо равен начальному элементу. В качестве диапазона можно использовать: Integer, Char, Boolean.
Массив в языке Паскаль это сложный тип данных, поэтому чаще всего его описывают в разделе переменных.
Var <переем. массив>: array[<диапазон 1>..<диапазон N>]
Of <тип переменной>;
Пример: список студентов группы
Var Spisok: array[1..40] String[20];
Получение элементов массива
Каждый элемент массива - это переменная, которой можно присваивать значения в операторах и функциях. Для того, чтобы указать элемент массива, необходимо записать все его индексы.
<перем. массив>[<индекс>,..,<индекс N>]
Пример:
Spisok[1]:=’Иванов’;
Ввод массива с клавиатуры
Массив нельзя ввести с клавиатуры одной командой, для этого организовывается цикл с параметром. Для того чтобы обеспечить правильный ввод массива, необходимо соблюдать следующий алгоритм:
<приглашение к вводу массива>;
<ввод количества элементов массива>;
For i:=1 to <кол-во элементов> do
Begin
<приглашение к вводу i-го элемента>;
<ввод i-го элемента>;
End;
Пример:
WriteLn (‘ввод списка студентов’);
WriteLn (‘введите количество студентов’);
ReadLn (kolvo);
For i:=1 to kolvo do
Begin
WriteLn (i,’ ’);
ReadLn (spisok[i]);
End;
Вывод массива на экран
Вывод в строку. При выводе массива в строку нужно использовать Write, которая будет находиться в цикле с параметром, а после цикла нужно поставить WriteLn.
Пример:
For i:=1 to kolvo do
Write(spisok[i],’ ‘);
WriteLn;
Вывод массива в столбец. При выводе в столбец в цикле указывается WriteLn, причем для массивов, содержащих числа, следует также указывать количество знаков при выводе на экран.
Пример:
For i:=1 to kolvo do
Write (i:2,’. ’,spisok[i]);
Действия с массивами
Над массивами нельзя выполнять арифметические действия (вычитать, складывать и др.). Все действия выполняются поэлементно.
Пример: Написать программу, которая выполняет поэлементное суммирование массивов A и B.