ФЭА / Информатика / КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ «ХИТРАЯ СОРТИРОВКА».
(автор - student, добавлено - 26-04-2014, 12:27)
СКАЧАТЬ:
КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ «ХИТРАЯ СОРТИРОВКА».
СОДЕРЖАНИЕ.ЗАДАНИЕ.. 3 БЛОК-СХЕМА.. 4 ПРОГРАММА. 5 ОПИСАНИЕ ИСПОЛЬЗУЕМЫХ МОДУЛЕЙ И ОСНОВНЫХ ОПЕРАТОРОВ. 8 ПРИЛОЖЕНИЕ. 15 ЛИТЕРАТУРА.. 16
|
ПРОГРАММА.
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;
ПРИЛОЖЕНИЕ.
ЛИТЕРАТУРА
- Немнюгин С.А., Перколаб Л. Изучаем Turbo Pascal. СПб.: Питер, 2003.
- Рапаков Г.Г., Ржеуцкая С.Ю. TURBO PASCAL для студентов и школьников. СПб.: БХВ - Петербург, 2004.
- А.Ф.Иванов, О.Н.Потапова, Салихова Г.Л. Методическое пособие по дисциплине «Информатика». Раздел: Основы алгоритмического языка Pascal. Альметьевск: АГНИ, 2007.
- Иванов А.Ф., Патапова О.Н., Салихова Г.Л. Информатика. Раздел: Word для начинающих: Лабораторный практикум для студентов вузов. Альметьевск, АлНИ 2003.