Программирование

Автор работы: Пользователь скрыл имя, 11 Февраля 2013 в 13:32, лекция

Описание

Лекции по дисциплине "Информатика"

Работа состоит из  1 файл

Лекции по программированию.doc

— 312.50 Кб (Скачать документ)

паскаль,массивы,условный оператор,системы счисления,эксель,аксес,циклы

 

 

 

 

  

 

 

  

 

 

 

10.   О П  Е Р А Т О Р Ы   В  В О Д А

И   В Ы  В О Д А

 

  Для ввода  и вывода данных используются  стандартные процедуры ввода

и вывода Read и Write, оперирующие стандартными последовательными файлами

INPUT и OUTPUT.

   Эти файлы  разбиваются на строки переменной  длины,  отделяемые друг

от друга  признаком конца строки.  Конец  строки задается нажатием кла-

виши ENTER.

   Для ввода  исходных данных используются  операторы процедур ввода:

 

         Read(A1,A2,...AK);

         ReadLn(A1,A2,...AK);

         ReadLn;

 

   Первый  из них реализует чтение К  значений исходных данных и   прис-

ваивание этих значений переменным А1,  А2,  ...,  АК. Второй оператор

реализует чтение К значений исходных данных, пропуск остальных значе-

ний до начала следующей  строки, присваивание считанных значений пере-

менным А1,  А2, ..., АК. Третий оператор реализует  пропуск строки ис-

ходных данных.

   При вводе  исходных данных  происходит  преобразование  из  внешней

формы представления  во внутреннюю, определяемую типом  переменных. Пе-

ременные, образующие  список ввода, могут принадлежать либо к целому,

либо к   действительному,  либо к символьному  типам.  Чтение исходных

данных логического  типа в языке ПАСКАЛЬ недопустимо.

   Операторы  ввода  при чтении значений  переменных целого и

действительного типа пропускает пробелы,  предшествующие числу.  В то

же время  эти операторы не пропускают пробелов,  предшествующих значе-

ниям символьных переменных,  так как пробелы  являются  равноправными

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

 

         var rV, rS: Real;

             iW, iJ: Integer;

             chC, chD: Char;

         ................

         Read(rV, rS, iW, iJ);

         Read(chC, chD);

 

   Значения исходных данных могут отделяться друг от друга  пробелами

и нажатием клавиш табуляции и Enter.

   Для вывода  результатов работы программы  на экран используются

операторы:

 

         Write(A1,A2,...AK);

         WriteLn(A1,A2,...AK);

         WriteLn;

 

   Первый из этих операторов реализует вывод значений переменных  А1,

А2,...,АК в   строку экрана.  Второй оператор реализует  вывод

значений переменных А1,  А2,  ...,  АК и переход к  началу  следующей

строки. Третий   оператор реализует пропуск строки и переход к началу

следующей строки.

   Переменные, составляющие список вывода, могут  относиться к целому,

действительному, символьному или булевскому типам. В качестве элемен-

та списка вывода кроме имен переменных могут использоваться выражения

и строки.

  Вывод каждого значения в строку экрана происходит в соот-

ветствии с  шириной поля вывода,  определяемой конкретной  реализацией

языка.

   Форма  представления значений в поле  вывода соответствует типу  пе-

ременных и  выражений:  величины целого типа выводятся как целые деся-

тичные числа,  действительного типа - как  действительные  десятичные

числа с десятичным порядком,  символьного типа и  строки - в виде сим-

волов, логического  типа - в виде логических констант TRUE и FALSE.

   Оператор  вывода  позволяет  задать  ширину поля вывода для каждого

элемента списка вывода.  В этом случае

элемент списка вывода имеет вид А:К, где

А - выражение  или строка,  К - выражение либо константа целого  типа.

Если выводимое  значение занимает в поле вывода меньше позиций, чем К,

то перед  этим значением располагаются пробелы.  Если выводимое значе-

ние не помещается в ширину поля К,  то для этого  значения будет отве-

дено необходимое  количество позиций. Для величин  действительного типа

элемент списка вывода может иметь вид А:К:М, где А - переменная или выраже-

ние действительного  типа,  К - ширина поля вывода,  М  -  число  цифр

дробной части   выводимого значения.  К и М - выражения  или константы

целого типа.  В этом случае действительные значения выводятся  в форме

десятичного числа с фиксированной точкой.

    Пример записи  операторов вывода:

        . . . . . . . . . . . .

        var rA, rB: Real;       iP,iQ:Integer;

            bR, bS: Boolean;    chT, chV, chU, chW: Char;

        . . . . . . . . . . . .

        WriteLn(rA, rB:10:2);

        WriteLn(iP, iQ:8);

        WriteLn(bR, bS:8);

        WriteLn(chT, chV, chU, chW);

 

 

11.   С Т  Р У К Т У Р А   П  Р О Г Р А М М Ы

 

   Программа  на языке ПАСКАЛЬ состоит из  заголовка, разделов описаний

и раздела операторов.

   Заголовок  программы содержит имя программы, например:

 

      Program PRIM;

 

   Описания  могут  включать в себя раздел  подключаемых библиотек (мо-

дулей), раздел  описания меток, раздел описания констант, раздел опи-

сания типов,  раздел описания переменных,  раздел описания процедур и

функций.

   Раздел  описания  модулей  определяется  служебным словом USES и со-

держит имена  подключаемых модулей (библиотек)  как  входящих в  состав

системы TURBO PASCAL, так и написанных пользователем. Раздел описания

модулей должен быть первым среди разделов описаний. Имена модулей от-

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

 

    uses  CRT, Graph;

 

   Любой оператор  в программе может быть помечен  меткой.  В качестве

метки используются произвольные целые без знака,  содержащие не более

четырех цифр, либо имена. Метка ставится перед оператором и отделяет-

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

быть перечислены в  разделе описания меток, например:

 

      label 3, 471, 29, Quit;

 

   Описание констант  позволяет использовать имена как синонимы конс-

тант, их необходимо определить в разделе описаний констант:

 

      const K= 1024;   MAX= 16384;

 

   В разделе описания  переменных необходимо определить  тип всех пере-

менных, используемых в программе:

 

      var P,Q,R: Integer;

          A,B:   Char;

          F1,F2: Boolean;

 

   Описание типов,  прцедур и функций будет рассмотрено ниже. Отдель-

ные разделы  описаний могут отсутствовать,  но следует помнить,  что в

ПАСКАЛЬ - программе   должны  быть обязательно описаны  все компоненты

программы.

   Раздел  операторов  представляет собой  составной оператор,  который

содержит между  служебными словами

 

         begin.......end

 

последовательность  операторов.  Операторы  отделяются  друг от друга

символом ;.

   Текст  программы заканчивается символом точка.

   Кроме  описаний  и  операторов  ПАСКАЛЬ  - программа может содержать

комментарии, которые  представляют собой произвольную  последователь-

ность символов,  расположенную между открывающей  скобкой комментариев

{ и закрывающей  скобкой комментариев }.

   Текст  ПАСКАЛЬ - программы может содержать  ключи компиляции,  кото-

рые позволяют  управлять режимом компиляции.  Синтаксически ключи ком-

пиляции записываются как комментарии. Ключ компиляции содержит символ

$ и букву-ключ  с последующим знаком + (включить режим)  или - (выклю-

чить режим). Например:

 

   {$E+} - эмулировать  математический сопроцессор;

   {$F+} - формировать  дальний тип вызова процедур  и функций;

   {$N+} - использовать  математический сопроцессор;

   {$R+} - проверять  выход за границы диапазонов.

 

   Некоторые  ключи компиляции могут содержать  параметр, например:

 

   {$I имя  файла} - включить в текст компилируемой  программы  назван-

ный файл.

 

    Пример  записи простой программы:

 

         Program TRIANG;

          var A, B, C, S, P: Real;

          begin

           Read(A,B,C);

           WriteLn(A,B,C);

            P:=(A+B+C)/2;

            S:=Sqrt(P*(P-A)*(P-B)*(P-C));

           WriteLn('S=',S:8:3)

          end.

 

 

13.   О П  Е Р А Т О Р   П Е  Р Е Х О Д А

 

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

 

 

14.   Э Л  Е М Е Н Т Ы   С Т  Р У К Т У Р Н О Г  О

П Р О Г  Р А М М И Р О В А  Н И Я

 

   Структуризованная  программа  (или  подпрограмма)  - это программа,

составленная  из фиксированного множества базовых  конструкций.   Расс-

мотрим основные определения и способы образования этих конструкций в

схемах алгоритмов.

{}

   Из операций, развилок и слияний строятся  базовые конструкции: сле-

дование, ветвление,  цикл. Применяя только эти три конструкции, можно

реализовать алгоритм решения любой задачи.

   Конструкция,  представляющая собой последовательное  выполнение двух

или более операций, называется следованием.

   Конструкция,  состоящая из развилки, двух операций  и слияния, назы-

вается ветвлением. Одна из операций может отсутствовать.

   Конструкция, имеющая линии управления, ведущие к предидущим опера-

циям или  развилкам, называется циклом.

   Конструкции  следование,   ветвление  и   цикл можно представить как

операции, так  как они имеют единственный вход и единственный  выход.

Произвольную  последовательность   операций можно представить как одну

операцию.

   Операция  может  быть  реализована   любым  оператором языка ПАСКАЛЬ

(простым или  составным), либо группой операторов, за исключением опе-

ратора перехода GOTO.

   В языке  ПАСКАЛЬ количество базовых конструкций увеличено до шести,

это:

       -следование;

       -ветвление;

       -цикл с предусловием;

       -цикл с постусловием;

       -цикл с параметром;

       -вариант.

   Далее  рассмотрим,  как эти базовые  конструкции реализуются в языке

ПАСКАЛЬ.

 

 

15.   У С  Л О В Н Ы Й   О П  Е Р А Т О Р

{}

   Условный  оператор  в короткой форме  работает по правилу:  если  бу-

левское выражение B истинно,  то выполняется оператор ОР1,  далее вы-

полняется оператор, следующий за условным. Если булевское  выражение B

ложно, то будет  выполняться оператор, следующий  за этим условным опе-

ратором.

 

16.   Ц И  К Л   С   П Р Е Д  У С Л О В И Е М{}

17.   Ц И  К Л   С   П О С Т  У С Л О В И Е М{}

18.   Ц И  К Л   С   П А Р А  М Е Т Р О М{}

19.   О П  Е Р А Т О Р Ы   З  А В Е Р Ш Е Н И Я  Ц И К Л А

 

   Для всех  операторов цикла выход из  цикла осуществляется как

вследствие  естественного  окончания оператора  цикла,  так и с

помощью операторов перехода и  выхода.

   В версии  ТУРБО ПАСКАЛЬ 7.0 определены стандартные  процедуры Break и

Continue. Процедура  Break выполняет безусловный выход  из цикла. Проце-

дура Continue обеспечивает переход к началу новой итерации цикла.

 

 

20.   О П  Е Р А Т О Р   В А  Р И А Н Т А{}

21.   П Е  Р Е Ч И С Л Я Е М  Ы Й   Т И П   Д А  Н Н Ы Х

 

   Перечисляемый  тип представляет  собой  ограниченную  упорядоченную

последовательность  скалярных констант,  составляющих данный тип. Зна-

чение каждой константы  задается ее именем.  Имена отдельных  констант

отделяются  друг от друга запятыми,  а вся  совокупность констант, сос-

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

   Программист  объединяет в одну группу в  соответствии с каким - либо

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

Например, перечисляемый    тип  Rainbow(РАДУГА)  объединяет скалярные значения

RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET (КРАСНЫЙ,

ОРАНЖЕВЫЙ,  ЖЕЛТЫЙ, ЗЕЛЕНЫЙ, ГОЛУБОЙ, СИНИЙ, ФИОЛЕТОВЫЙ). Пе-

речисляемый тип Traffic_Light (СВЕТОФОР) объединяет скалярные

значения RED, YELLOW, GREEN (КРАСНЫЙ,  ЖЕЛТЫЙ, ЗЕЛЕНЫЙ).

   Перечисляемый  тип  описывается  в разделе  описания типов,  который

начинается  со служебного слова type, например:

 

type

  Rainbow = (RED, ORANGE, YELLOW, GREEN, LIGHT_BLUE, BLUE, VIOLET);

 

   Каждое значение  является константой своего типа и может принадле-

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

ример, перечисляемый    тип  Traffic_Light не может быть определен  в одной

программе с  типом Rainbow,  так как оба типа содержат одинаковые конс-

танты.

   Описание переменных, принадлежащих к скалярным типам, которые объ-

явлены в  разделе описания типов,  производится с помощью имен типов.

Например:

 

        type  Traffic_Light= (RED, YELLOW, GREEN);

        var   Section: Traffic_Light;

 

   Это означает, что переменная Section может принимать значения RED,

YELLOW или GREEN.

   Переменные  перечисляемого типа могут быть  описаны в разделе описа-

ния переменных, например:

 

        var  Section: (RED, YELLOW, GREEN);

 

   При этом  имена типов отсутствуют,  а  переменные определяются сово-

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

   К переменным  перечисляемого  типа  может   быть  применим  оператор

присваивания:

 

          Section:= YELLOW;

 

   Упорядоченная  последовательность значений, составляющих перечисля-

емый тип, автоматически  нумеруется, начиная с нуля и далее  через еди-

ницу. Отсюда следует, что к перечисляемым переменным и константам мо-

гут быть применены  операции отношения  и  стандартные  функции  Pred,

Succ, Ord.

   Переменные  и константы перечисляемого типа не могут быть элемента-

ми списка ввода  или вывода.

 

22.   И Н  Т Е Р В А Л Ь Н Ы  Й   Т И П   Д А Н  Н Ы Х

 

   Отрезок  любого порядкового типа

Информация о работе Программирование