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

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

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

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

(автор - student, добавлено - 29-05-2014, 17:49)

СКАЧАТЬ:  shablon.zip [475 Kb] (cкачиваний: 23)

 

 

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

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

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

НА ТЕМУ:

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

ПЕРЕСТАНОВКИ ДВУМЕРНОГО МАССИВА»

 

 

 

 

ОГЛАВЛЕНИЕ:

ПОСТАНОВКА ЗАДАЧИ.. 3

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

ЛИСТИНГ ПРОГРАММЫ... 5

ОПИСАНИЕ ОСНОВНЫХ ОПЕРАТОРОВ.. 6

Список литературы... 15

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

 

 

ПОСТАНОВКА ЗАДАЧИ

Дан двумерный массив из 12 строк. Переставить строки так, чтобы они располагались следующим образом: первая, двенадцатая, вторая, одиннадцатая, …, пятая, восьмая, шестая, седьмая. Для отладки программы исходный массив сформировать с помощью генератора случайных чисел.


БЛОК – СХЕМА:

   
   
 
   

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]

 

a[i,j]=Random(20)+1

 

 

ЛИСТИНГ ПРОГРАММЫ:

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);
  • тип-множество (set);
  • тип-запись (record);
  • файловый тип (file);
  • объектный тип (object).

Типизированные константы типа «массив» описываются согласно следующим синтаксическим правилам.

Формат:

<имя>: 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, которая очищает экран и помещает курсор в левый верхний угол экрана.

Структурные операторы подразделяются на три группы:

  • составные;
  • условные;
  • повтора.

Операторы повторения (циклы) предусматривает выполнение некоторых операторов несколько раз. В Паскале имеются три различных оператора, с помощью которых можно запрограммировать повторяющиеся фрагменты программ:

  • while (цикл с предусловием)
  • repeat (цикл с постусловием)
  • for (цикл со счетчиком)

Оператор повтора 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

  1. a[i,j] – элемент массива с номером строки, равным i, и с номером столбца, равным j.
  2. далее идет оператор присваивания (:=) – каждому элементу массива присваивается значение, являющееся результатом случайной функции random(i).
  3. random(i) – возвращает случайное число от 0 до (х-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.

 

  Список литературы:

  1. Иванов А.Ф., Потапова О.Н., Салихова Г. Л., Основы алгоритмического языка Pascal, типография АГНИ, Альметьевск, 2007.
  2. Марченко А.И., Марченко Л.А., Программирование в среде Turbo Pascal 7.0, ТОО «ВЕК+», 2000 г.
  3. Павловская Т. А., Паскаль. Программирование на языке высокого уровня, СПб.: Питер, 2004 г.
  4. Попов В. Б., Turbo Pascal для школьников, М.: Финансы и статистика, 2001 г.
  5. Строганова И.Н., Учебный справочник школьника, М.: Дрофа, 2000 г.

 

ПРИЛОЖЕНИЕ

 

 


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


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