Урок #2 -- Введение в типы данных - Pascal
Primary tabs
Видео: https://www.youtube.com/watch?v=wbrBO4uSCig
Продолжим наше изучение языка программирования Паскаль. Обсудим какие типы данных бывают в Паскале.
Выделяют три группы типов данных (переменных):
- Логические
- Текстовые
- Числовые
Числовые типы
В Паскале имеется 2 числовых типа:
- integer -- целые числа
- real -- вещественные числа
С числовыми типами мы уже сталкивались в первом уроке.
Объявлять данные переменные можно так:
var x, y, z: integer; // три переменных целого типа myCoolVar : integer; // одна переменная целого типа с именем myCoolVar tt, b: real; // две переменные вещественного типа
Изучите пример кода, работающего с переменными вещественного и целого типа:
// пример работы с числовыми типами
program TypeUsingExamples;
var
x, y, z: integer; //
sd: integer;
myVal, oneMore: real;
begin
x := 5; // присваиваем переменной целого типа,целое значение
z := x; // присваивание целочисленной переменному значения другой переменной того же типа.
writeln(z); // вывод значения переменной без комментария
z := 15;
writeln('z= ', z); // вывод значения с комментарием
oneMore := 7.8123452346; // присваивания дроби вещественной переменной
writeln(oneMore); // печать значения вещественного типа
y := z + x; // складываем две целочисленные переменные,присваиваем результат третей переенной того же типа
writeln('y1= ', y);
// y := x + oneMore;
// <--- в предыдущей строки ошибка! при сложении целого с вещественным получаем вещественый тип,
// который нельзя присваивать переменной целого типа
myVal := 45.7;
oneMore := y + myVal; // сложение целого и вещественного значений и присвоение результата вещественной переменной (что допустимо)
writeln('oneMore == ', oneMore);
end.
"Текстовые" типы
Символьных типов также имеется два:
- char -- для единственного символа (собственно символьный тип)
- string -- строковый тип, для хранения строк.
Рассмотрим пример работы со строками:
// пример работы с символьными и строковыми типами данных
program SymbolTypesExample;
var
str, str2: string; // две переменных строкового типа
firstStr: string;
ch, j, p : char; // одна переменная символьного типа
begin
// присвоение значение и вывод на экран переменных строкового типа
str := 'Привет Мир!';
writeln(str);
str2 := 'Привет ВГУ!';
writeln(str2);
firstStr := '#';
writeln(firstStr);
// далее поработаем с типом char
ch := '%'; // присваивание значения переменной символьного типа
writeln('ch равно: ', ch);
// Сложение строк
firstStr := str + ' ___ ' + str2; // конкатенация двух строк и строкового литерала
writeln('firstStr1 = [', firstStr, ']');
firstStr := str + ' * ' + ch + '^'; // конкатенация (сложение) строк и символа
writeln('firstStr2 = [', firstStr, ']');
end.
Логический тип
Логические переменный позволяются моделировать ответы типа да/нет и значения истина/ложь
Логические тип в Паскаль только один -- boolean, который может принивать только два значения (одно из двух в конкретный момент времени):
- true -- истина
- false -- ложь
Именно логический тип используется оператором if для определения необходимости выполнения основного или альтернативного (еlse) действия/набор действий.
Рассмотрим пример, демонстрирующий возможности использования переменных логического типа:
// простой пример использования переменных логического типа
program BooleanTypeUsage;
var
b, c: boolean;
begin
b := true; // истина
c := false; // ложь
write('Для c ');
if (c) then
begin //если c истинно, то выполнится блок ниже
writeln('это так!');
end else // а если ложно то другой:
begin
writeln('это не так!');
end;
write('Для b ');
if (b) then
begin //если c истинно, то выполнится блок ниже
writeln(' это так!');
end else // а если ложно то другой:
begin
writeln('это не так!');
end;
end.
А также пример, где показано как можно записывать результаты логических выражений в переменные логического типа:
program BooleanTypeUsage;
var
b, c, d, e, h : boolean; // 5 переменных логического типа
i, j: integer; // две переменных целого типа
begin
b := 8 < 20; // присваиваем логического значение выражения переменной логического типа
c := 9 > 4; // аналогично
d := 56 >= 34; // аналогично
i := 28;
j := 26;
h := i > j; // присваиваем логическое значение выражения переменной логического типа (использование переменных)
write('Для c ');
if (c) then
begin //если c истинно, то выполнится блок ниже
writeln('это так!');
end else // а если ложно то другой:
begin
writeln('это не так!');
end;
write('Для b ');
if (b) then
begin //если c истинно, то выполнится блок ниже
writeln(' это так!');
end else // а если ложно то другой:
begin
writeln('это не так!');
end;
write('Для h ');
if (h) then
begin //если c истинно, то выполнится блок ниже
writeln(' это так!');
end else // а если ложно то другой:
begin
writeln('это не так!');
end;
end.
Улучшим последний пример, для этого уменьшим дублирование строковых литералов, создав две переменные типа string (посмотрите как они используются):
program BooleanTypeUsage;
var
b, c, d, e, h : boolean; // 5 переменных логического типа
i, j: integer; // две переменных целого типа
comTrue, comFalse: string; // две переменные строкового типа
begin
b := 8 < 20; // присваиваем логического значение выражения переменной логического типа
c := 9 > 4; // аналогично
d := 56 >= 34; // аналогично
i := 28;
j := 26;
comTrue := 'это так!'; // запишем комментарий (литерал) в переменную для многократного использования
comFalse := 'это не так!';
h := i > j; // присваиваем логическое значение выражения переменной логического типа (использование переменных)
write('Для c ');
if (c) then
begin
writeln(comTrue);
end else
begin
writeln(comFalse);
end;
write('Для b ');
if (b) then
begin
writeln(comTrue); // используем строковую переменную для вывода комментария
end else
begin
writeln(comFalse);
end;
write('Для h ');
if (h) then
begin
writeln(comTrue);
end else
begin
writeln(comFalse);
end;
end.
- Log in to post comments
- 7254 reads