ФЭА / Информатика / КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ ПЕРЕСТАНОВКИ ДВУМЕРНОГО МАССИВА»
(автор - student, добавлено - 29-05-2014, 17:49)
СКАЧАТЬ:
КУРСОВАЯ РАБОТА ПО ДИСЦИПЛИНЕ «ИНФОРМАТИКА» РАЗДЕЛ: АЛГОРИТМИЧЕСКИЙ ЯЗЫК PASCAL НА ТЕМУ: «РАЗРАБОТКА В СРЕДЕ TURBO PASCAL ПРОГРАММЫ ПЕРЕСТАНОВКИ ДВУМЕРНОГО МАССИВА»
ОГЛАВЛЕНИЕ: ПОСТАНОВКА ЗАДАЧИ.. 3 БЛОК – СХЕМА.. 4 ЛИСТИНГ ПРОГРАММЫ... 5 ОПИСАНИЕ ОСНОВНЫХ ОПЕРАТОРОВ.. 6 Список литературы... 15 ПРИЛОЖЕНИЕ.. 16
ПОСТАНОВКА ЗАДАЧИДан двумерный массив из 12 строк. Переставить строки так, чтобы они располагались следующим образом: первая, двенадцатая, вторая, одиннадцатая, …, пятая, восьмая, шестая, седьмая. Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.
БЛОК – СХЕМА:
ЛИСТИНГ ПРОГРАММЫ:Uses Crt; Const n=10; Var i,j,k: byte; a: array[1..n,1..n] of byte; Begin ClrScr; Randomize; For i:=1 to n do Begin For j:=1 to n do Begin a[i,j]:=Random(20)+1; Write(a[i,j]:3) End; WriteLn End; For k:=2 to n-1 do For i:=k to (n+k-1) div 2 do For j:=1 to n do Begin a[i,j]:=a[i,j]+a[n+k-i,j]; a[n+k-i,j]:=a[i,j]-a[n+k-i,j]; a[i,j]:=a[i,j]-a[n+k-i,j] End; WriteLn; For i:=1 to n do Begin For j:=1 to n do Write(a[i,j]:3); WriteLn End; ReadLn End.
ОПИСАНИЕ ОСНОВНЫХ ОПЕРАТОРОВПрограмма реализует алгоритм решения задачи с помощью инструкций выбранного языка программирования. В ней записывается последовательность действий, выполняемых над определенными данными с помощью определенных операций для реализации заданной цели. Программу на Паскале можно разделить условно на основные части, записав следующим образом: Заголовок программы; Блок описаний: Раздел указания подключаемых модулей; Раздел описания меток; Раздел описания констант; Раздел определения типов данных; Раздел описания переменных; Раздел описания процедур и функций; Блок операторов. Заголовок программы состоит из зарезервированного слова Program, за которым следует название самой программы. Заголовок несет чисто смысловую нагрузку и может отсутствовать. Однако, если он все же присутствует в программе, то должен быть записан синтаксически корректно. Формат: Program <имя>; Далее следует описательная часть программы. Раздел указания подключаемых модулей состоит из зарезервированного слова uses. Стандартный модуль System всегда используется по умолчанию, и
указывать его в предложении uses не нужно. Он поддерживает такие средства, как файловый ввод-вывод, обработка строк, операции с плавающей запятой, динамическое распределение памяти. Остальные стандартные модули Turbo Pascal, такие как Doc, Crt, Graph и другие автоматически не подключаются, и, в случае использования, обязательно указываются в предложении uses. Модуль Crt обеспечивает управление дисплеем (текстовым режимом экрана и звука) и клавиатурой компьютера. Блок описаний включает подразделы описания: - констант (const); - типов (type); - переменных (var); - процедур (procedure); - функций (function); - экспорта (exports). В разделе описания констант производится присваивание идентификатором констант постоянных значений. Раздел начинается зарезервированным словом const, за которым следует ряд выражений, отделяющихся друг от друга точкой с запятой. Формат: const <идентификатор> = <значение>; Замечание: Следует обратить внимание на то, что при определении констант применяется знак = (равенства), а не := (присваивание). Раздел описания переменных начинается зарезервированным словом var, за которым следует список переменных, двоеточие и тип данных.
Формат: var <идентификатор 1, идентификатор 2, . . .>: <тип>; Замечание: Каждая встречающаяся в программе переменная должна быть описана. Описание обязательно предшествует использованию переменной. Раздел определения типов данных. К простым типам данных относят типы данных таких величин, значения которых не содержит составных частей. Простые типы делятся на стандартные и пользовательские. Структурированные типы базируются на простых и могут содержать их различные комбинации. Структурированные типы:
Типизированные константы типа «массив» описываются согласно следующим синтаксическим правилам. Формат: <имя>: array[n1..n2, m1..m2] of <тип>; где имя – имя переменной-массива; array – зарезервированное слова, обозначающее, что переменная является массивом; n1 и n2 - (индексы строки), m1 и m2 - (индексы столбца); тип – тип элементов массива.
Целочисленные типы данных: - Byte – может принимать значения от 0 до 255 и занимает объем памяти в 8 бит (1 байт). Блок операторов в Паскале является самым основным, т.к. именно здесь с предварительно описанными величинами выполняются действия, позволяющие получить результат, ради которого составлялась вся программа. Составной оператор объединяет группу операторов в единое целое, после чего они могут считаться одним оператором. Составной оператор состоит из последовательности объединяемых операторов, которые располагаются между ключевыми словами begin и end. Как правило, составной оператор используется совместно со структурными операторами. Раздел операторов начинается зарезервированным словом BEGIN, затем следуют операторы, отделенные друг от друга точкой с запятой, завершает раздел зарезервированное слово END с точкой. Слова BEGIN и END – аналог открывающей и закрывающей скобок в арифметических выражениях, они представляют собой операторные скобки. Основной блок программы состоит из последовательности операторов, причем работа программы начинается именно с первого оператора основного блока программы. Операторы выполняются строго последовательно в том порядке, в котором они записаны в соответствии с синтаксисом и правилами пунктуации. На характер операторов, входящих в составной оператор, не накладывается никаких ограничений. Среди них могут быть и другие составные операторы.
Замечание: В программе на языке Паскаль каждому begin соответствует свой end, но не наоборот, т.к. на end заканчиваются разделы, начинающиеся с case и record, но без begin вначале. Формат: BEGIN <оператор 1>; <оператор 2>; . . . . . . . . . . . .; <оператор n>; END. Замечание: Необходимо обратить внимание на наличие точки после служебного слова END. После последнего оператора END всегда ставится точка, что означает окончание текста программы. Ввод-вывод данных. Часто первыми действиями, выполняемой программой, являются действия по вводу и выводу данных, для которых представлены следующие процедуры ввода-вывода: Read, Readln, Write, and Wrireln. Процедура чтения Readln аналогична Read. Инструкция Readln при вводе с клавиатуры предпочтительней Read, т.к. полностью освобождает буфер клавиатуры – рабочую область памяти, в которой временно хранятся введенные с клавиатуры символы. Замечание: Процедура Readln без переменных обычно записывается в конце программы и служит для создания паузы, которая длится до нажатия клавиши Enter. В противном случае по окончании программы окно с текстом программы закроет экран с полученным результатом.
Инструкции Write и Writeln предназначены для вывода констант различных типов, значений переменных или выражений. Данные выводятся на экран. Процедура Write производит вывод данных, не переводя курсора на следующую строку, а Writeln курсор переводит. Основная часть программы на языке Паскаль представляет собой последовательность операторов, разделенных точкой с запятой, которых можно разделить на простые и структурные. Операторы, не содержащие никаких других операторов, называются простыми:
Структурные (сложные) – представляют собой конструкции, содержащие простые операторы. Оператор присваивания можно считать основным оператором Паскаль, т.к. именно в нем выполняются все действия при обработке данных. Формат: идентификатор:= выражение; Знак := читается как “присвоить значение”. Оператор вызова процедуры служит для выполнения предварительно определенной пользователем или стандартной процедуры. Оператор процедуры без параметров состоит только из идентификатора процедуры. Выполнение оператора процедуры приводит к активизации действий, описанных в ее теле.
ClrScr – вызов процедуры модуля crt, которая очищает экран и помещает курсор в левый верхний угол экрана. Структурные операторы подразделяются на три группы:
Операторы повторения (циклы) предусматривает выполнение некоторых операторов несколько раз. В Паскале имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты программ:
Оператор повтора for часто называется оператором цикла с параметром, т.к. число повторений задается переменной, называемой параметром цикла, или управляющий переменной, которая на каждом шаге цикла автоматически изменяет свое значение ровно на единицу – поэтому ее и называют счетчиком. Оператор повтора for применяется в случаях, когда число повторений заранее известно. Оператор повтора for состоит из заголовка (строка, содержащая for…do) и тела цикла. Существует два вида оператора. Формат: for <параметр цикла>:=А to В do <оператор>; for, do – зарезервированные слова (обозначают “для”, “выполняй” соответственно); А и В – выражения, определяющие соответственно начальное и конечное значение параметров цикла;
<оператор> - тело цикла. Шаг изменения счетчика циклов может быть только +1 (если используется ключевое слово to), или -1 (если используется ключевое слово downto). Замечание: Если требуется выполнить после do несколько операторов, они обрамляются операторными скобками begin и end, образуя тем самым составной оператор. Randomize – инициализация генератора случайных чисел. Random – генератор случайных чисел. Заполняет массив числами, находящимися в диапазоне от нуля до max-1. a[i,j]:=random(20)+1 –
i:=1 to n div 2 – значению переменной i присваивается значение (n div 2), где функция div возвращает целое значение от деления двух чисел, причем тип чисел и результата является целым. Далее мы делаем перестановку строк массива. Первая строка массива «b» будет идентична первой строке массива «a». Вторая строка массива «b» будет равна последней строке массива «a». И так
далее, пока не будут переставлены все строки. В программе это записано так: b[k,j]:=a[i,j]; b[k+1,j]:=a[n+1-i,j]; Внутренний цикл закрываем. Далее идет процедура inc(k,2), которая увеличивает значение k на 2. Далее идет вывод результата, то есть массива b[i,j]. И заканчиваем программу зарезервированным словом end.
Список литературы:
ПРИЛОЖЕНИЕ
Похожие статьи:
|
|