Основные конструкции языка Pascal и библиотечные функции

Автор работы: Пользователь скрыл имя, 10 Ноября 2011 в 14:33, реферат

Описание

Краткий теоретический обзор языка программирования с примерами программ.

Содержание

1. Структура программы
2. Описание переменных
3. Простые операторы
4. Структурированные операторы
5. Процедуры и функции
6. Операторы ввода-вывода
7. Строки. Описание типа
8. Модули
9. Программы

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

конечный реферат по Паскалю.doc

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

              writeln(a:3,b:5,c:4);

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

       7 Строки. Описание типа

       Строкового  типа в стандартном Паскале нет, поэтому там использовали символьные массивы при работе со строками символов.

       Символьные  строки представляют один из наиболее полезных и важных типов данных. Для определения строкового типа в Паскале используется ключевое слово string, вслед за которым в квадратных скобках указывается максимальная длина строки, например:

        type

          line = string[80];

         var

          line1,line2: line;

       Переменная line1 в качестве своего значения может иметь любую последовательность символов произвольной длины (в пределах от нуля до 80). Значение строковой переменной может быть присвоено с помощью оператора присваивания или процедуры ввода:

            line1:='программирование';

             readln(line2);

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

       Важнейшим отличием строк от символьного массива  является то, что строки могут динамически  менять свою длину. При этом необходимо помнить, что память выделяется по максимуму. Самый первый байт в строке имеет индекс 0 и содержит текущую длину строки. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

       8 Модули

       В Паскаль входит шесть стандартных модулей: system, overlay, graph, dos, crt и printer. Программные ресурсы, сосредоточенные в стандартных модулях, образуют мощные пакеты системных средств, которые обеспечивают высокую эффективность и широкий спектр применений системы Паскаль.

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

          В модуль system входят все процедуры и подпрограммы стандартного Паскаля, а также много дополнительных подпрограмм общего характера, в частности, ориентированные на конкретную операционную среду.

          Модуль dos содержит средства доступа к операционной системе и по существу является программным представлением системного интерфейса MS-DOS.

          Модуль crt обеспечивает практически полный спектр возможностей для доступа к экрану дисплея в текстовом режиме. Кроме того, в данный модуль включены средства чтения информации с клавиатуры (включая расширенные коды клавиш) и простейшего управления звуком.

          Модуль printer содержит единственный интерфейсный элемент - переменную lst стандартного типа text, системно связанную с логическим устройством PRN (т.е. печатное устройство, если оно имеется в конфигурации). Использование этой переменной в стандартных процедурах write и writeln приводит к выводу информации на печать.

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

       Модуль  graph объединяет многочисленные программные средства управления графическим режимом работы дисплея. Данный модуль обеспечивает использование всех возможностей наиболее распространенных типов дисплейных адаптеров - CGA, EGA, VGA, HERCULES и т.п. как для монохромных, так и для цветных дисплеев, и позволяет создавать разнообразные и эффективные графические программы.  
 
 
 
 

    9 Программы

    В программе реализованы функция печати числа в 16-ричной системе счисления, функции копирования, сложения, и вычитания чисел, а также функция инициализации числа из целой переменной и сохранения числа в целую переменную.

    Program Laba1;

    Uses Crt;

    const mas1: array[1..10]  of  integer=(2,14,5,11,10,6,3,13,8,10);

          mas2: array[1..10]  of  integer=(7,3,5,12,9,4,15,8,5,1);

    type  massive = array[1..10] of integer;

    var    i,r,c:integer;

           m1, m2, m3, sum, raz, dig:massive;

    procedure printux(var a:integer);{печать числа в 16-ричной системе}

    const b:array[0..15] of Char= ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

    begin

         if((a>=0) and (a<16)) then

         write(b[a]);

    end;

    procedure copmas(var a,b:massive);{копирование массивов}

    var i:integer;

    begin

         for i:=1 to 10 do

         b[i]:=a[i];

    end;

    procedure summa(var a,b,c:massive);{сумма чисел}

    var i,p:integer;

    begin

         p:=0;

         for i:=10 downto 1 do

         begin

              c[i]:=a[i]+b[i]+p;

              if(c[i]>=16) then

              begin

                   c[i]:= c[i]-16;

                   p:=1;

              end else p:=0;

         end;

    end;

    procedure raznost(var a,b,c: massive);{разность чисел}

    var i,p:integer;

    begin

         p:=0;

         for i:=10 downto 1 do

         begin

              c[i]:=a[i]-b[i]-p;

              if(c[i]<0) then

              begin

                   c[i]:= c[i]+16;

                   p:=1;

              end else p:=0;

         end;

    end;

    procedure initsxtn(var a:massive; x:integer);{перевод из 10-чной в 16-ричную систему счисления}

    var i:integer;

    begin

         for i:=10 downto 1 do

             begin

                  a[i]:=x mod 16;

                  x:=x div 16;

             end;

    end;

    function save(var a:massive): integer;{перевод из 16-ричной в 10-чную систему счисления}

    var i,q,rez:integer;

    begin

         q:=1;

         rez:=0;

         for i:=10 downto 1 do

         begin

              rez:=rez+a[i]*q;

              q:=q*16;

         end;

         save:=rez;

    end;

    begin

          write('3anucb 4uceJI B 16-4Hoi cucTeMe:');

          writeln;

          for i:=1 to 10 do

          begin

               m1[i]:=mas1[i];

               printux(m1[i]);

          end;

          writeln;

          for i:=1 to 10 do

          begin

               m2[i]:=mas2[i];

               printux(m2[i]);

          end;

          writeln;

          copmas(m1,m3);

          writeln;

          write('konupoBaHue MaccuBa:');

          writeln;

          for i:=1 to 10 do

          printux(m3[i]);

          summa(m1,m2,sum);

          writeln;

          writeln;

          write('cyMMa 2-x MaccuBoB:');

          writeln;

          for i:=1 to 10 do

          printux(sum[i]);

          writeln;

          writeln;

          write('pa3HocTb 2-x MaccuBoB:');

          writeln;

          raznost(sum,m2,raz);

          for i:=1 to 10 do

          printux(raz[i]);

          writeln;

          writeln;

          write('nepeBod u3 10 B 16 cucTeMy - ');

          r:=28;

          write(r);

          initsxtn(dig,r);

          write('---->');

          for i:=1 to 10 do

          printux(dig[i]);

          writeln;

          write('nepeBod u3 16 B 10 cucTeMy - ');

          for i:=1 to 10 do

          printux(dig[i]);

          write('---->');

          c:=save(dig);

          write(c);

    end.

Рисунок 1 – Результат работы программы Laba1 

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

       Program Laba2;

       Uses Crt;

       Const mas1: array[0..25] of integer= (0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25);

       Const mas2: array[0..16] of char= ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');

       type  massive = array[1..5] of integer;

       var mass2, mass8, mass16:massive;

           F: text;

           i: integer;

Информация о работе Основные конструкции языка Pascal и библиотечные функции