ОСНОВНЫЕ ЭЛЕМЕНТЫ ЯЗЫКА, ТИПЫ ДАННЫХ
Алфавит Паскаля A B C D E F G H I J K L M N O P Q R S T U V W X Y Z  a b c d e f g h I j k l m n o p q r s t u v w x y z _ 0 1 2 3 4 5 6 7 8 9 +  -  *  /  >  <  =  ;  #  ‘  ,  .  :  [ ]  { }  $  ( )  ^  ~ :=  <>  ..  (* *)  <=  >=  (. .)
Зарезервированные слова  (1) absolute  and  array  asm  begin  case const  constructor  div do  downto  destructor else  end  exports external  file  for forward  function  go to if  implementation  in inline  interrupt  interface inherited  label  library
Зарезервированные слова  (2) mod  nil  not object  of  or packed  procedure  program record  repeat  set shl  shr  string then  to  type unit  until  uses var  while  with xor
Предложения в Паскале Минимальная конструкция языка, представляющая законченную мысль, есть  предложение .  Если предложение описывает выполняемое действие, оно называется  оператором .  Предложение, описывающее структуру и организацию данных, называют  описанием .
Идентификаторы Встроенные в язык имена  типов данных, констант,   процедур   и   функций, называются  стандартными идентификаторами :  integer, Sin, Ln, Sqrt, Read, Write, … Для именования величин, процедур, функций, создаваемых пользователем, применяются  пользовательские идентификаторы .
Константы Константы  – элементы языка, значения которых установлены в описательной части программы и при выполнении программы не изменяются. Формат константы: < идентификатор >  =  < значение константы > Примеры: const  MyName = ‘ Вася Сидоров ’, Max = 1000;
Типизированные константы Формат типизированной константы: const < идентификатор >  :  < тип >   =   < значение > Пример: const VideoSeg :  word  = $B800; Ocenka :  byte =4;   Predmet :  string  = ‘ Информатика ’
Зарезервированные константы Максималь-ное целое 32767 integer Maxint «Ложь» False boolean False «Истина» True boolean True Описание Значение Тип Идентификатор
Переменные Формат  переменной: var < идентификатор > : < тип > ; Пример var A, B :  integer ; Summa :  real ;
Блок – элемент программы Формат программы: [ заголовок программы ] < блок >  . Формат блока: < описания > begin  <o ператор  ;>[ оператор  ;]  end Виды описаний: описание меток определение констант определение типов описание переменных описание процедур описание функций
Структура программы program  < имя > ( Input ,  Output ); uses  < имя1, имя2, … >; label  …; const  …; type  …; var  …; < описание процедуры >…; < описание функции >… ; begin < тело программы > end .
Раздел  uses Здесь указываются имена подключаемых стандартных и пользовательских библиотечных модулей. Формат: uses  < имя1 >,< имя 2>, … ; Пример: uses   Crt ,  Dos ;
Раздел описания меток Формат: label < имя,… > Пример: label Metka1, Metka2, 111, Blok10;
Раздел описания типов данных Формат:  type < имя типа >=< значение типа >   ; Пример: type LatLetter = (‘A’..’z’); Days = 1..31; Matr =  array [1..10]  of integer
Раздел описания  процедур и функций Формат процедуры: procedure  < имя процедуры > [< параметры >]; < разделы описаний > < раздел операторов > end ; Формат функции: function  < имя функции >   [< параметры >]:< тип результата > ; < разделы описаний > < раздел операторов > end ;
Раздел операторов Пример: begin Write(‘ Введите целое число А >’); Readln(A); Write(‘ Введите целое число  B>’); Readln(B); Multi := A * B; Write(‘ Произведение  ’, A, ‘  и  ‘, B, ‘ = ‘, Multi); end .
Комментарии Комментарии  – смысловые пояснения разработчиков программы, не учитываемые в процессе выполнения программы Текст комментариев ограничивается скобками  {  }  или (*  *)
Директивы компилятора Директива компилятора  – компонент программы, управляющий последующей компиляцией Скобки директивы  {$  } Пример: {$I perekhod.pas} { директива компилятору на включение текста программы  perekhod.pas  в качестве подпрограммы }
Характеристики данных При работе с данными  надо четко различать их ИДЕНТИФИКАТОР, ТИП, ЗНАЧЕНИЕ
Общие сведения Тип данных  – множество величин, объединенных определенной совокупностью допустимых операций Типы данных скалярные  структурированные стандартные  пользовательские
Простые (скалярные) типы Порядковые типы Целые типы Логический тип  bolean Символьный тип  char   Перечисляемый тип Интервальный тип (диапазон) Вещественные типы Ссылочный тип
Целые типы byte shortint integer word longint
Вещественные типы real single double extended comp
Структурированные типы Строковый ( string) Регулярный  (array) Комбинированный ( record) Множественный  (set) Файловый ( file) Процедурные типы Объекты
Целые типы (2) Данные целочисленных типов могут быть десятичными и 16-чными. 16-чному числу предшествует знак  $ ; их диапазон от  $0000  до  $FFFF  Примеры: 1917 – целое десятичное число $3DF –  шестнадцатиричное число
Диапазоны целых чисел 4 -2147483648.. 2147483648 longint 2 0..65535 word 2 -32768..32767 integer 1 -128..127 shortint 1 0..255 byte Требуемая память (байт) Диапазон Тип
Вопрос минипрактикума 1 .  Данные каких числовых типов занимают наименьшее место в памяти?
Вопрос минипрактикума 1 .  Данные каких числовых типов занимают наименьшее место в памяти? Наименьшее место в памяти – 1 байт – занимают целочисленные типы  byte  и  shortint.
Вопрос минипрактикума 2. Может ли данное типа  integer  иметь значение  1234567?
Вопрос минипрактикума 2. Может ли данное типа  integer  иметь значение  1234567?   Нет
Операции над целыми + сложение –  вычитание * умножение /  деление div   -   целое   частное mod   –   целый остаток от деления Результат этих операций – целое
Отношения  над целыми = равно <>   не равно <  меньше >  больше <=  меньше или равно >=  больше или равно Тип результата отношений – булевский
Вопрос минипрактикума Каков будет результат деления: 1)  7  div 2   2)  (–7) div 2   3) (–7) div (–2) 4)  3  div 5   5) 7 MOD 2  6) –14 mod 3
Вопрос минипрактикума Каков будет результат деления: 1)  7  div 2   2)  (–7) div 2   3) (–7) div (–2) 4)  3  div 5   5) 7 MOD 2  6) –14 mod 3   3 –3 3 0 1 –2
C тандартные функции языка для целых чисел odd(x) –  результат логиче c кого типа: для четных –  false,  для нечетных –  true succ(x) – c ледующее целое (х+1) pred(x)  – предыдущее целое (х-1) ord(x)  – аргумент х abs(x)  – модуль х chr(x)  – символ,  ASCII- код которого равен х sqr(x)  – квадрат числа х
C тандартные функции языка для целых чисел (2) sqrt(x) –  вещественный результат, квадратный корень exp(x) –  вещественный результат,  экспонента sin(x)  – вещественный результат,  c инус с os(x)  – вещественный результат, ко c инус ln(x)  – вещественный результат, натуральный логарифм arctan(x)  – вещественный результат, арктангенс
C тандартные процедуры языка для целых чисел  dec(x,i) –  уменьшает значение х на  i ;   если  i  не задано ,  то на 1  inc(x,i) –  увеличивает значение х на  i ;   если  i  не задано ,  то на 1
Вещественные  с фиксированной запятой Вещественные числа могут записываться с фиксированной запятой (по обычным правилам арифметики) и с плавающей запятой (в экспоненциальном виде).  3.1415926 – вещественное число – 273.2 – отрицательное вещественное число Разделитель – десятичная точка
Экспоненциальное представление вещественных чисел mEp m –  мантисса (целое или дробное число с десятичной точкой) E –  10 в степени p –  порядок Примеры: 7 .26E+02=7.26*10 = 726 10E-03=10*10  = 0.01 2 -3
Диапазоны вещественных типов  8 10-20 -2E+63+1..2E+63-1 comp 10 19-20 1.9*10E-4951..1.1*10E4932 extended 8 15-16 5.0*10E-324..1.7*10E308 double 4 7-8 1.5*10E-45..3.4*10E38 single 6 11-12 2.9*10E-39..1.7*10E38 real Память Мантисса Диапазон Тип
Вопрос минипрактикума Какие числовые константы представляют собой запись числа 1000000? 1) 1.00Е6  2)   10 ^6  3) 1E+6  4) 100E4  5) E6
Вопрос минипрактикума Какие числовые константы представляют собой запись числа 1000000? 1) 1.00Е6  2)   10 ^6  3) 1E+6  4) 100E4  5) E6 1)  да   2) нет    3) да 4) да  5) нет
C тандартные функции языка для  вещественных чисел abs(x) –  модуль х sqr(x)  – квадрат числа х sqrt(x)  – квадратный корень числа х exp(x)  – экспонента х sin(x)  – синус х cos(x)  – косинус х ln(x)  – натурадьный логарифм arctan(x) –  арктангенс х trunc(x) –  отбрасывание дробной части round(x) –  округление до ближайшего целого
Примеры использования операций над вещественными  Вычисление дробной части: frac(123.456) = 0.456 frac( – 321.468) =  – 0.456 Вычисление целой части: Int(352.697)=352 Int( – 352.568)=  – 352 Вычисление округленной целой части: Round(35.64)=36 Round( – 31.68)=  – 32 Round( – 36.12)=  – 36
Вопрос минипрактикума Каково будет значение функции? 1) trunc (–7.9)     2) sqr(3)   3) sin(0) 4)  abs(-18)   5) round( – 5.2)  6)round( – 1.78)
Вопрос минипрактикума Каково будет значение функции? 1) trunc (7.9)     2) sqr(3)   3) sin(0) 4)  abs( –  18)   5) round( – 5.2)  6)round( – 1.78) 1) 7   2) 9   3)0.0000000000E00 4) 18 5)  – 5   6)  – 2
Литерный (символьный) тип Каждому символу приписывается целое число в диапазоне 0..255. Кодировка –  ASCII.   В памяти требуется 1 байт. Пример: var c:  char ; Letter, Symbol:  char ;
C тандартные функции языка для  данных литерного типа chr (x) –  преобразует выражение  x  типа  byte  и возвращает символ ord (ch)  – преобразует символ  ch  в код типа  byte   и возвращает значение кода pred (x)  – возвращает предыдущий символ succ (x)  – возвращает следующий символ Примеры:  ord(‘:’)=58;  ord(‘A’)=65;   chr(128)= Б; pred(‘ Б ’)= А;   succ(‘ Г ’)= Д ;
Булевский тип Булевским типом называют данные, имеющие два значения –  true  ( истина) и  false  ( ложь ) . Примеры: var rele, semaphore:  boolean ;
Перечисляемый тип Формат: type < имя типа > = (< значение1 ,  значение2 ,… значение n>) Примеры: type   Gaz = (H, He, O, N); var  G1, G2, G3 : Gaz;
Интервальный тип (диапазон) Интервальный тип задает две константы – границы диапазона допустимых значений. Формат: type < имя типа > = < константа1 >..< константа2 >  var < идентификатор, … > : < имя типа > Пример: type  Days = 1..31 var  RabDay, BolnDay : Days

Rgsu04

  • 1.
  • 2.
    Алфавит Паскаля AB C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h I j k l m n o p q r s t u v w x y z _ 0 1 2 3 4 5 6 7 8 9 + - * / > < = ; # ‘ , . : [ ] { } $ ( ) ^ ~ := <> .. (* *) <= >= (. .)
  • 3.
    Зарезервированные слова (1) absolute and array asm begin case const constructor div do downto destructor else end exports external file for forward function go to if implementation in inline interrupt interface inherited label library
  • 4.
    Зарезервированные слова (2) mod nil not object of or packed procedure program record repeat set shl shr string then to type unit until uses var while with xor
  • 5.
    Предложения в ПаскалеМинимальная конструкция языка, представляющая законченную мысль, есть предложение . Если предложение описывает выполняемое действие, оно называется оператором . Предложение, описывающее структуру и организацию данных, называют описанием .
  • 6.
    Идентификаторы Встроенные вязык имена типов данных, констант, процедур и функций, называются стандартными идентификаторами : integer, Sin, Ln, Sqrt, Read, Write, … Для именования величин, процедур, функций, создаваемых пользователем, применяются пользовательские идентификаторы .
  • 7.
    Константы Константы – элементы языка, значения которых установлены в описательной части программы и при выполнении программы не изменяются. Формат константы: < идентификатор > = < значение константы > Примеры: const MyName = ‘ Вася Сидоров ’, Max = 1000;
  • 8.
    Типизированные константы Форматтипизированной константы: const < идентификатор > : < тип > = < значение > Пример: const VideoSeg : word = $B800; Ocenka : byte =4; Predmet : string = ‘ Информатика ’
  • 9.
    Зарезервированные константы Максималь-ноецелое 32767 integer Maxint «Ложь» False boolean False «Истина» True boolean True Описание Значение Тип Идентификатор
  • 10.
    Переменные Формат переменной: var < идентификатор > : < тип > ; Пример var A, B : integer ; Summa : real ;
  • 11.
    Блок – элементпрограммы Формат программы: [ заголовок программы ] < блок > . Формат блока: < описания > begin <o ператор ;>[ оператор ;] end Виды описаний: описание меток определение констант определение типов описание переменных описание процедур описание функций
  • 12.
    Структура программы program < имя > ( Input , Output ); uses < имя1, имя2, … >; label …; const …; type …; var …; < описание процедуры >…; < описание функции >… ; begin < тело программы > end .
  • 13.
    Раздел usesЗдесь указываются имена подключаемых стандартных и пользовательских библиотечных модулей. Формат: uses < имя1 >,< имя 2>, … ; Пример: uses Crt , Dos ;
  • 14.
    Раздел описания метокФормат: label < имя,… > Пример: label Metka1, Metka2, 111, Blok10;
  • 15.
    Раздел описания типовданных Формат: type < имя типа >=< значение типа > ; Пример: type LatLetter = (‘A’..’z’); Days = 1..31; Matr = array [1..10] of integer
  • 16.
    Раздел описания процедур и функций Формат процедуры: procedure < имя процедуры > [< параметры >]; < разделы описаний > < раздел операторов > end ; Формат функции: function < имя функции > [< параметры >]:< тип результата > ; < разделы описаний > < раздел операторов > end ;
  • 17.
    Раздел операторов Пример:begin Write(‘ Введите целое число А >’); Readln(A); Write(‘ Введите целое число B>’); Readln(B); Multi := A * B; Write(‘ Произведение ’, A, ‘ и ‘, B, ‘ = ‘, Multi); end .
  • 18.
    Комментарии Комментарии – смысловые пояснения разработчиков программы, не учитываемые в процессе выполнения программы Текст комментариев ограничивается скобками { } или (* *)
  • 19.
    Директивы компилятора Директивакомпилятора – компонент программы, управляющий последующей компиляцией Скобки директивы {$ } Пример: {$I perekhod.pas} { директива компилятору на включение текста программы perekhod.pas в качестве подпрограммы }
  • 20.
    Характеристики данных Приработе с данными надо четко различать их ИДЕНТИФИКАТОР, ТИП, ЗНАЧЕНИЕ
  • 21.
    Общие сведения Типданных – множество величин, объединенных определенной совокупностью допустимых операций Типы данных скалярные структурированные стандартные пользовательские
  • 22.
    Простые (скалярные) типыПорядковые типы Целые типы Логический тип bolean Символьный тип char Перечисляемый тип Интервальный тип (диапазон) Вещественные типы Ссылочный тип
  • 23.
    Целые типы byteshortint integer word longint
  • 24.
    Вещественные типы realsingle double extended comp
  • 25.
    Структурированные типы Строковый( string) Регулярный (array) Комбинированный ( record) Множественный (set) Файловый ( file) Процедурные типы Объекты
  • 26.
    Целые типы (2)Данные целочисленных типов могут быть десятичными и 16-чными. 16-чному числу предшествует знак $ ; их диапазон от $0000 до $FFFF Примеры: 1917 – целое десятичное число $3DF – шестнадцатиричное число
  • 27.
    Диапазоны целых чисел4 -2147483648.. 2147483648 longint 2 0..65535 word 2 -32768..32767 integer 1 -128..127 shortint 1 0..255 byte Требуемая память (байт) Диапазон Тип
  • 28.
    Вопрос минипрактикума 1. Данные каких числовых типов занимают наименьшее место в памяти?
  • 29.
    Вопрос минипрактикума 1. Данные каких числовых типов занимают наименьшее место в памяти? Наименьшее место в памяти – 1 байт – занимают целочисленные типы byte и shortint.
  • 30.
    Вопрос минипрактикума 2.Может ли данное типа integer иметь значение 1234567?
  • 31.
    Вопрос минипрактикума 2.Может ли данное типа integer иметь значение 1234567? Нет
  • 32.
    Операции над целыми+ сложение – вычитание * умножение / деление div - целое частное mod – целый остаток от деления Результат этих операций – целое
  • 33.
    Отношения надцелыми = равно <> не равно < меньше > больше <= меньше или равно >= больше или равно Тип результата отношений – булевский
  • 34.
    Вопрос минипрактикума Каковбудет результат деления: 1) 7 div 2 2) (–7) div 2 3) (–7) div (–2) 4) 3 div 5 5) 7 MOD 2 6) –14 mod 3
  • 35.
    Вопрос минипрактикума Каковбудет результат деления: 1) 7 div 2 2) (–7) div 2 3) (–7) div (–2) 4) 3 div 5 5) 7 MOD 2 6) –14 mod 3 3 –3 3 0 1 –2
  • 36.
    C тандартные функцииязыка для целых чисел odd(x) – результат логиче c кого типа: для четных – false, для нечетных – true succ(x) – c ледующее целое (х+1) pred(x) – предыдущее целое (х-1) ord(x) – аргумент х abs(x) – модуль х chr(x) – символ, ASCII- код которого равен х sqr(x) – квадрат числа х
  • 37.
    C тандартные функцииязыка для целых чисел (2) sqrt(x) – вещественный результат, квадратный корень exp(x) – вещественный результат, экспонента sin(x) – вещественный результат, c инус с os(x) – вещественный результат, ко c инус ln(x) – вещественный результат, натуральный логарифм arctan(x) – вещественный результат, арктангенс
  • 38.
    C тандартные процедурыязыка для целых чисел dec(x,i) – уменьшает значение х на i ; если i не задано , то на 1 inc(x,i) – увеличивает значение х на i ; если i не задано , то на 1
  • 39.
    Вещественные сфиксированной запятой Вещественные числа могут записываться с фиксированной запятой (по обычным правилам арифметики) и с плавающей запятой (в экспоненциальном виде). 3.1415926 – вещественное число – 273.2 – отрицательное вещественное число Разделитель – десятичная точка
  • 40.
    Экспоненциальное представление вещественныхчисел mEp m – мантисса (целое или дробное число с десятичной точкой) E – 10 в степени p – порядок Примеры: 7 .26E+02=7.26*10 = 726 10E-03=10*10 = 0.01 2 -3
  • 41.
    Диапазоны вещественных типов 8 10-20 -2E+63+1..2E+63-1 comp 10 19-20 1.9*10E-4951..1.1*10E4932 extended 8 15-16 5.0*10E-324..1.7*10E308 double 4 7-8 1.5*10E-45..3.4*10E38 single 6 11-12 2.9*10E-39..1.7*10E38 real Память Мантисса Диапазон Тип
  • 42.
    Вопрос минипрактикума Какиечисловые константы представляют собой запись числа 1000000? 1) 1.00Е6 2) 10 ^6 3) 1E+6 4) 100E4 5) E6
  • 43.
    Вопрос минипрактикума Какиечисловые константы представляют собой запись числа 1000000? 1) 1.00Е6 2) 10 ^6 3) 1E+6 4) 100E4 5) E6 1) да 2) нет 3) да 4) да 5) нет
  • 44.
    C тандартные функцииязыка для вещественных чисел abs(x) – модуль х sqr(x) – квадрат числа х sqrt(x) – квадратный корень числа х exp(x) – экспонента х sin(x) – синус х cos(x) – косинус х ln(x) – натурадьный логарифм arctan(x) – арктангенс х trunc(x) – отбрасывание дробной части round(x) – округление до ближайшего целого
  • 45.
    Примеры использования операцийнад вещественными Вычисление дробной части: frac(123.456) = 0.456 frac( – 321.468) = – 0.456 Вычисление целой части: Int(352.697)=352 Int( – 352.568)= – 352 Вычисление округленной целой части: Round(35.64)=36 Round( – 31.68)= – 32 Round( – 36.12)= – 36
  • 46.
    Вопрос минипрактикума Каковобудет значение функции? 1) trunc (–7.9) 2) sqr(3) 3) sin(0) 4) abs(-18) 5) round( – 5.2) 6)round( – 1.78)
  • 47.
    Вопрос минипрактикума Каковобудет значение функции? 1) trunc (7.9) 2) sqr(3) 3) sin(0) 4) abs( – 18) 5) round( – 5.2) 6)round( – 1.78) 1) 7 2) 9 3)0.0000000000E00 4) 18 5) – 5 6) – 2
  • 48.
    Литерный (символьный) типКаждому символу приписывается целое число в диапазоне 0..255. Кодировка – ASCII. В памяти требуется 1 байт. Пример: var c: char ; Letter, Symbol: char ;
  • 49.
    C тандартные функцииязыка для данных литерного типа chr (x) – преобразует выражение x типа byte и возвращает символ ord (ch) – преобразует символ ch в код типа byte и возвращает значение кода pred (x) – возвращает предыдущий символ succ (x) – возвращает следующий символ Примеры: ord(‘:’)=58; ord(‘A’)=65; chr(128)= Б; pred(‘ Б ’)= А; succ(‘ Г ’)= Д ;
  • 50.
    Булевский тип Булевскимтипом называют данные, имеющие два значения – true ( истина) и false ( ложь ) . Примеры: var rele, semaphore: boolean ;
  • 51.
    Перечисляемый тип Формат:type < имя типа > = (< значение1 , значение2 ,… значение n>) Примеры: type Gaz = (H, He, O, N); var G1, G2, G3 : Gaz;
  • 52.
    Интервальный тип (диапазон)Интервальный тип задает две константы – границы диапазона допустимых значений. Формат: type < имя типа > = < константа1 >..< константа2 > var < идентификатор, … > : < имя типа > Пример: type Days = 1..31 var RabDay, BolnDay : Days