Урок #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
- 6801 reads