Стандартные простые типы данных в Turbo Pascal



В Turbo Pascal определены следующие стандартные простые типы данных, с которыми связаны соответствующие зарезервированные слова.

· Числовые

· Целый · Integer
· Вещественный · Real
· Байтовый · Byte

· Символьные

· Литерный · Char
· Строчный · String
· Логический · · Boolean

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

Диапазоны значений для различных типов данных имеют ограничения. Integer имеет диапазон значений от –MaxInt до MaxInt, где MaxInt – предопределенная системой константа. Byte – 0..255. Char имеет значением один символ из таблицы символов компьютера. String – цепочка символов длинной от 0 до 255 (строго говоря – этот тип является не простым, а структурным (сложным)). Boolean имеет два значения – True (истина) и False (ложь).

Для перечисленных выше типов данных имеются предопределенные процедуры для операций ввода (кроме boolean) и вывода в текстовом виде.

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

Раздел описаний

В Turbo Pascal описанию элемента предшествует зарезервированное слово, указывающее его вид. Затем следует описание элемента.

· Метка · Label
· Константы · Const
· Типы · Type
· Переменные · Var
· Функции · Function
· Процедуры · Procedure

 

Приведем пример, содержащий описания элементов некоторых типов

program example_1;

Label

    1,4;

Const

    K=2.7;

Type

    A=array[1..8] of real;

Var

    b, c, d: integer;

    x:A;

……………………………..

 

Оператор присваивания

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

Формат оператора присваивания:

<идентификатор переменной>:=<выражение>;

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

Пример :

program example_2;

var a, b, c: integer;

begin

a:=7;

b:=a+8;

c:=a+b;

end.

Таблица символов операций

· · Integer, byte · real · string · Boolean
· + · * · * · * ·
· - · * · * · ·
· * · * · * · ·
· / · · * · ·
· Div · * · · ·
· Mod · * · · ·
· Or · * · · · *
· And · * · · · *
· Not · * · · · *
· Xor · * · · · *

Таблица символов отношений

· Больше · >
· Меньше · <
· Больше или равно · >=
· Меньше или равно · <=
· Неравно · <>
· равно · =

Для строковых типов данных имеют смысл только отношения «равно» и «неравно».

Примечание: операция возведения в степень в Pascale не определена.

Процедуры ввода-вывода

Процедуры ввода являются предопределенными.

Формат процедур:

Ввод данных:

Read [(<список ввода>)];

Readln [(<список ввода>)];

Read обеспечивает ввод данных в память ЭВМ, при этом курсор остается на месте. Readln обеспечивает ввод данных в память ЭВМ, при этом осуществляется перевод курсора на новую строку.

Вывод данных:

Write [(<список вывода>)];

Writeln [(<список вывода>)];

Write предназначена для вывода значений на экран. Writeln выводит значения данных на экран и перводит курсор в начало следующей строки.

Список вывода состоит из идентификаторов переменных и выражений, отделенных друг от друга запятой.

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

Пример:

 program example_3;

var

b, c: integer;

v: real;

begin

write(‘b=’);

readln(b);

write(‘c=’);

readln(c);

v:=(b+c)/3.56;

writeln(‘v=’,v:8:4)

end.

Для переменной v определено для вывода поле шириной 8 позиций, в том числе 4 позиции для знаков после десятичной точки, которая так же займет одну позицию из 8.

Операторы ветвления

Оператор условия If <условие> then <оператор - да> else <оператор - нет>; предназначен для реализации простого ветвления алгоритма.

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

program example_4;

var a, b, c, d: real;

begin

writeln(‘Введите коэффициенты квадратного уравнения А, В и С’);

readln(a, b, c);

d:=sqr(b)-4*a*c;

if d>0 then writeln(‘Вещественные корни существуют’) else writeln(‘Нет вещественных корней’);

end.

 

Оператор выбора Case <селектор> of

                                 <значение1>:<оператор1>;

                                 <значение2>:<оператор2>;

                                 ………………………………;

                                 <значение N >:<оператор N >

                                 Else <оператор - нет>;

Оператор Case используется при множественном разветвлении алгоритма, например, если необходимо по числовому значению дня недели указать его название (1 - понедельник, 2 - вторник, 3 – среда и т.д.).

program example_5;

var n: 1..7; {перечисляемый тип, здесь допускает только значения от 1 до 7 }

begin

writeln(‘Введите числовое значение дня недели’);

readln(n);

case n of

1: writeln(‘понедельник’);

2: writeln(‘вторник’);

3: writeln(‘среда’);

4: writeln(‘четверг’);

5: writeln(‘пятница’);

6: writeln(‘суббота’)

7: writeln(‘воскресенье’);

end.

Циклы

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

вида циклов: цикл с параметром For , цикл с предусловием While ,  цикл с постусловием Repeat .

Оператор повтора For применяется, когда заранее известно число повторений. Переменная, хранящая количество повторений называется параметром цикла. Существует две структуры данного оператора.

Счет по возрастанию: For <параметр цикла>:=<целочисленное выражение1 > to < целочисленное выражение2> do <оператор цикла>;

Счет по убыванию: For <параметр цикла>:=<целочисленное выражение2 > downto < целочисленное выражение1> do <оператор цикла>;

 Пример: Вывести на экран результат умножения 7 на числа от 11 до 25.

program example_6;

var i: byte; {i- параметр цикла}

   r: integer;        

begin

writeln (‘Таблица умножения для 7’);

for i:=11 to 25 do begin                                 {при выполнении в цикле более одного оператора ставятся операторные скобки Begin end;}

r:=7*I;                                    

write(r:5);                        {вывод результата в строку с промежутком в 5 позиций}

                     end;

end.

 

Формат цикла с предусловием While <условие> do <тело цикла>; Проверка условия осуществляется перед циклом, цикл выполняется, если условие принимает значение True (истина).

Пример: Посчитать сумму 10 произвольно введенных чисел.

program example_7;

const limit=10;             {константа ограничения ввода чисел}

var i: integer;

       sum, ch: real;

begin

i:=0;                                  {счетчик чисел}

sum:=0;                           {переменная накапливающая сумму чисел}

while i< limit do

  begin

       i:=i+1;

       write(‘введите ’,i,’-е число: ’);

       readln(ch);

       sum:=sum+ch;

       end;                                                          {конец цикла}

writeln(‘Сумма равна ’,sum:5:2);                {переменную sum вещественного типа выводим в 5 позиций с 2мя знаками в дробной части}

end.   

 

 

Цикл с постусловием     Repeat

    <тело цикла>

Until <условие>;

Первоначально условие принимает значение False (ложь). Цикл выполняется до тех пор, пока условие не станет True (истина).

Пример: Подсчитать количество чисел, введенных до первого отрицательного.

program example_8;

var ch: real;

       n: byte;

begin

writeln (‘Подсчитать количество чисел, введенных до первого отрицательного’);

writeln;                                       {оформление подсказки}

Repeat

write (‘Введите число ’);

readln(ch);

n:=n+1;

until ch<0;

writeln(‘Количество не отрицательных чисел равно ‘,n);

end.


Дата добавления: 2020-11-15; просмотров: 83; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!