Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
27_gotovo.doc
Скачиваний:
12
Добавлен:
11.09.2019
Размер:
226.3 Кб
Скачать

Министерство образования республики татарстан

Альметьевский государственный нефтяной институт

Кафедра информатики

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

По дисциплине «Информатика»

Раздел: Алгоритмический язык 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.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]