О САЙТЕ
Добро пожаловать!

Теперь вы можете поделиться своей работой!

Просто нажмите на значок
O2 Design Template

ФЭА / Информатика / КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ «ХИТРАЯ СОРТИРОВКА».

(автор - student, добавлено - 26-04-2014, 12:27)

СКАЧАТЬ:  111.zip [87,99 Kb] (cкачиваний: 21)

 

 

 

КУРСОВАЯ РАБОТА

ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА»

РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL

НА ТЕМУ:

РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ

«ХИТРАЯ СОРТИРОВКА».

 

 


СОДЕРЖАНИЕ.

ЗАДАНИЕ.. 3

БЛОК-СХЕМА.. 4

ПРОГРАММА. 5

ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ МОДУЛЕЙ И ОСНОВНЫХ ОПЕРАТОРОВ. 8

ПРИЛОЖЕНИЕ. 15

ЛИТЕРАТУРА.. 16


ЗАДАНИЕ

 

РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ

«ХИТРАЯ СОРТИРОВКА»

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

 


БЛОК-СХЕМА

 
   

 

ПРОГРАММА.

program Kypca4;

Uses Crt;

Const n=10;

Var

  a, b: array[1..n] of ShortInt;

  i, k, l, j: Byte;

Begin

  ClrScr;

  Randomize;

  For i:=1 to n do

  Begin

    a[i]:=Random(30)+1;

    Write(a[i]:3);

  End;

 

  k:=1;

  b[1]:=a[1];

  a[1]:=-1;

  For i:=2 to n do

    If a[i]>b[k] then

    Begin

      Inc(k);

      b[k]:=a[i];

      a[i]:=-1;

    End;

  WriteLn;

  For i:=1 to n do Write(a[i]:3);

  WriteLn;   

  For i:=1 to k do Write(b[i]:3);

 

  k:=1;

  while k < n do

  begin

    for i:= 1 to n do

    begin

      if (a[i]<>-1) and (a[i] <= b[k]) then

      begin

        for j:= n downto k+1 do b[j]:=b[j-1];

        b[k]:=a[i];

        a[i]:=-1;

      end;

    end;

    Inc(k);

  end;

 

  WriteLn;

  For i:=1 to n do Write(b[i]:3);

  ReadLn;

End.
 ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ МОДУЛЕЙ И ОСНОВНЫХ ОПЕРАТОРОВ.

 

1) Заголовок программы состоит из зарезервированного слова Program, за которым следует название самой программы. Имя программы не должно совпадать с именами переменных или других объектов программы.

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

 

Формат:

Program  <имя >;

 

2)     Раздел указания подключаемых модулей.

 

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

 

Формат:

    uses <имя 1>,  <имя 2>,…;

 

  В программе этот раздел может быть описан только однократно и непосредственно после заголовка программы.

   Модуль Crt – обеспечивает управление дисплеем (текстовым режимом экрана и звука) и клавиатурой компьютера.

 

3)     Раздел описания констант.

 

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

                                              

Формат:

const <идентификатор> = <значение>;

 

 

После того как константа определена, ей нельзя присвоить какое-либо другое значение. Следует обратить внимание на то, что при определении констант применяется знак = (равенства), а не := (присваивание). 

 

4)  Раздел описания переменных начинается зарезервированным словом var, за которым следует список переменных, двоеточие и тип данных. 

ShortInt тип целочисленный

Byte тип целочисленный

Формат:

   VAR < идентификатор 1, идентификатор 2,…>  :  <тип>;

 

5)  Функция random возвращает случайное число, удовлетворяющее условию 0<=x<=диапазон. Тип аргумента и результата – целочисленный. Если необходимы случайные числа из диапазона a<=x<b - используется выражение random(b-a)+a.

Если параметр диапазон не указан, то random возвращает число в диапазоне 0<=x<1. Тип  результата – вещественный. Если необходимы вещественные числа из диапазона a<=x<b, нужно задать его при помощи  random*b+a.

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

 

6)  Процедура вывода Write.

 

Вывод данных – передача информации после обработки из оперативной памяти на внешнее устройство (экран, принтер, файл на диске). Обеспечивает вывод числовых данных, символов, строк и булевских значений.

 

Формат:

Write (а1, а2, а3, …,аn) ;

Writeln;

Writeln (а1, а2, а3, …,аn) ;

 

где а1, а2, а3, …,аn – выражение типа integer, byte, real, char, boolean.

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

Write(y1:n:m, y2:n:m, …);

Writeln(y1:n:m, y2:n:m, …);

где y1, y2,… - выражение, переменная или константа;

 n – определяет общую ширину поля вывода;

 m – определяет место под дробную часть.

Если заданное n мало, при выводе ширина поля будет увеличена, если мало m – то производится округление.

Кроме того, в операторах вывода можно задавать количество пробелов. Для этого необходимо записать оператор вывода в виде:

Write (‘ ‘ : q);

где q — константа целого типа, указывающая число пробелов.

 

7)  Оператор присваивания.

 

Оператор      присваивания используется для изменения значений переменных, в том числе и для вычислений по формулам — оператор предписывает выполнить выражение, заданное в его правой части, и присвоить результат переменной, стоящей в левой части.

 

 Формат:

идентификатор := выражение;

 

8)  Составной оператор.

 

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

 

Формат:

begin

Оператор1;

Оператор2;

OпеpaтoрN;

end;

 

9)   Условный оператор IF.

 

Условный оператор позволяет проверить некоторое условие и в зависимости от результата выполнить тот или иной оператор или группу операторов. С помощью условных операторов программируются алгоритмы разветвляющейся структуры. 

 

Формат:

if <условие> then < оператор1> else < оператор2>;

где if, then, else – зарезервированные слова (обозначают если, то, иначе соответственно);

<условие> - произвольное выражение логического типа;

<оператор1>, <оператор2> - любые операторы языка Паскаль.

 

Условный оператор работает по следующему алгоритму: вначале  вычисляется выражение <условие>. Если результат - true (истина), то выполняется <оператор1>, а <оператор2> пропускается. Если результат - false (ложь), наоборот <оператор1> пропускается, а выполняется <оператор2>.

Часть оператора, стоящая после служебного слова else, может отсутствовать. Тогда при значении true условного выражения выполняется <оператор1>, в противном случае этот оператор пропускается.

 

Формат:

If < условие > then < оператор>;

 

Один оператор if может входить в состав другого оператора if. В этом случае говорят о вложенности операторов.

 

Пример:

if  Условие1  then   if  Условие2  then  Оператор1  else  Оператор2;

 

10)      Оператор цикла For.

 

Оператор повтора for часто называют оператором цикла с параметром, так как число повторений задается переменной, называемой параметром цикла, или управляющей переменной, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу – поэтому ее и называют счетчиком.

Оператор повтора for применяется в случаях, когда число повторений заранее известно.

Оператор повтора for состоит из заголовка (строка, содержащая for…do ) и тела цикла.

 

Формат:

for < параметр цикла >:=А to B do < оператор >;

где for, do – зарезервированные слова (обозначают "для", "выполняй" соответственно);

А и В – выражения, определяющие соответственно начальное и конечное значение параметров цикла;

< оператор > - тело цикла.

 

Если требуется выполнить после do несколько операторов, они обрамляются операторными скобками begin и end, образуя тем самым составной оператор.

 

11)      Массив.

 

Массив - это упорядоченная последовательность величин, имеющих один и тот же тип и объединённых одним именем

 

Формат:

<имя> : array[n1..n2] of  <тип>; 

Здесь величины n1 и n2 (индексы строки) являются целочисленными константами.

 

Пример описания массивов в разделе констант:

 

Const i=5;;

Var S: array[ 1..i,] of integer;

 

ПРИЛОЖЕНИЕ.

 

 

 


ЛИТЕРАТУРА

 

  1. Немнюгин С.А., Перколаб Л. Изучаем Turbo Pascal. СПб.: Питер, 2003.
  2. Рапаков Г.Г., Ржеуцкая С.Ю. TURBO PASCAL для студентов и школьников. СПб.: БХВ - Петербург, 2004.
  3. А.Ф.Иванов, О.Н.Потапова, Салихова Г.Л. Методическое пособие по дисциплине «Информатика». Раздел: Основы алгоритмического языка Pascal. Альметьевск: АГНИ, 2007.
  4. Иванов А.Ф., Патапова О.Н., Салихова Г.Л. Информатика. Раздел: Word для начинающих: Лабораторный практикум для студентов вузов. Альметьевск, АлНИ 2003.

 


Ключевые слова -


ФНГ ФИМ ФЭА ФЭУ Яндекс.Метрика
Copyright 2021. Для правильного отображения сайта рекомендуем обновить Ваш браузер до последней версии!