Общая информация
Имена переменных
Типы переменных
Пример
Контрольные вопросы
Задания
|
Пример
Здесь приведены примеры, снабженные комментариями,
которые помогут усвоить материал данного раздела учебника.
Чтобы получить код внутреннего представления
символьного,
булевского или перечислимого типов, нужно к
значению такого типа применить
операцию преобразования. W := byte(S) ;
Несколько дополнительных замечаний по поводу
перечислимых типов.
Кроме операций сравнения, для значений перечислимых типов
определены стандартные функции Pred и Succ.
Они вызываются с одним операндом и возвращают значение,
предшествующее значению операнда в множестве типа
или следующее за ним. (Эти функции определены для
всех дискретных типов, но для перечислимых они являются
единственными допустимыми операциями). В версии 7.0 языка Turbo
Pascal появились две новые стандартные
функции Low и High, позволяющие получать граничные значения
перечислимых (и некоторых других) типов. Эти функции
очень удачно дополняют функции Pred и Succ, что демонстрирует
следующая программа.
Она основана на примере из оперативной
помощи системы Quick Pascal:
program Enums;
type
Planets = ( Mercury, Venus,
Earth, Mars, Jupiter,
Saturn, Uranus, Neptune,
Pluto );
TPlanets = array[Planets] of strinqrSl;
const
PlanetNames : TPlanets = ('Меркурии',
'Венера', 'Земля', 'Марс', 'Юпитер',
'Сатурн', 'Уран', 'Нептун', 'Плутон');
Var
Planet : Planets;
begin
Writeln('Ближайшей к солнцу планетой является ',
PlanetNames[Low(Planets)],'.');
Writeln('Следующая после планеты ',
PlanetNames[Low(Planets)],' - ', P
lanetNames[Succ(Low(Planets))],'.' );
Writeln('Наша планета ',
Ord(Earth)+l,'-я от Солнца.');
Writeln('Соседями нашей планеты являются ',
PlanetNames[Pred(Earth)], ' и ',
PlanetNames[Succ(Earth)],'.');
Writeln('Предпоследней планетой от Солнца является ',
PlanetNames[Pred(High(Planets))],'.');
Writeln('Самая последняя планета - ',
PlanetNames[High(Planets)],'.')
end.
Результатом выполнения этой программы будет следующий вывод на экран дисплея:
Ближайшей к солнцу планетой является Меркурий.
Следующая после планеты Меркурий - Венера.
Наша планета 3-я от Солнца.
Соседями нашей планеты являются Венера и Марс.
Предпоследней планетой от Солнца является Нептун.
Самая последняя планета - Плутон.
Более подробное описание стандартных функций Low и High можно
найти в описании версии 7.0 языка Turbo Pascal.Наверх
-
Результат сравнения двух различных вещественных
типов не всегда очевиден.Это относится и к случаю, когда сравниваются два
вещественных числа различных типов.Например, следующая программа:
{$N+}
program FloatParadox;
var
X : single;
Y : double;
begin
X := 1/3;
Y := 1/3;
Writeln(X=Y) end.
выведет на экран FALSE! Это происходит из-за того, что х имеет точность 7-8 цифр,
a Y - точность 15-16; соответственно, когда оба значения преобразуются в extended,
они будут содержать различные цифры после седьмой-восьмой цифры.
Наверх
-
В процессе работы текущее значение строковой
переменной может иметь любую длину от 0 - пустая строка -
и до максимальной длины.Следующая программа иллюстрирует
эту особенность переменных строковых типов:
program Stringsl;
var
S:string[20];
begin
S:='';{обозначение '' задает пустую строку}
S:='ABCD';{строка длины 4}
WriteLn(S);
{Операция конкатенации - }
{"склеивание" строк-операндов }
S:=S+'EFGHIJK';{теперь S имеет длину > 11}
WriteLn(S);
S := 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
{Присвоили переменной S строку из 26 символов.}
{Значением S будет строка из первых 20 символов:}
{"лишние" символы отбрасываются.}
{Данная ситуация не считается ошибочной}
WriteLn(S);
S [5] := '7'; {Значение можно изменять и так}
WriteLn('4-ый элемент строки равен ',S[4]);
end.
Наверх
|