Что такое val в паскале
Процедура Val
Подпишись на новости, чтобы ничего не пропустить
Процедура Val в Паскале вычисляет числовое (перечисляемое) значение из строкового типа. Синтаксис:
Процедура Val в Delphi, Lazarus и Паскале преобразует значение, представленное в строке S в числовое значение или перечисляемое значение, и сохраняет это значение в переменной V, которая может быть типа Longint, Real или Byte, или любого перечисляемого типа.
Если преобразование не удалось, то параметр Code содержит индекс символа в строке S, который помешал преобразованию (вызвал ошибку).
Строка может содержать пробелы в начале.
Строка может содержать число в десятичном, шестнадцатеричном, двоичном или восьмеричном формате.
Для перечисляемых значений строка должна быть именем перечисляемого значения. Имя распознаётся без учета регистра.
Для шестнадцатеричных значений также можно использовать префикс 0x или x (без учета регистра).
Преобразование в перечисление поддерживается только с версии компилятора FreePascal 2.3.1 (или более поздней).
Если преобразование не удалось, значение параметра Code указывает позицию, в которой преобразование пошло не так. Значение V в этом случае не определено.
В любом языке программирования имеется множество функций для преобразования типов. И в Паскале их тоже очень много. Но процедуру Val во многих случаях использовать удобнее, потому что:
Процедуры STR и VAL.
В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.
Использование процедуры STR.
Строка №3. Создаем 3 строковые переменные.
Строка №4. Создаем 3 целочисленные переменные.
Строка №7. В 1-ую переменную типа Integer записываем число 1234.
Строка №8. Во 2-ую переменную типа Integer записываем число 5678.
Строка №9. Складываем эти числа, результат записываем в 3-ю переменную.
Строка №10. Выводим результат на экран.
Строка№11. Переводим 1-ое число в его строковое представление, результат сохраняем в переменной «stroka1».
Строка №12. Переводим 2-ое число в его строковое представление результат сохраняем в переменной «stroka2».
Строка №13. Производим над строками операцию сцепления и записываем результат в переменную «stroka».
Строка №14. Выводим результат на экран.
О процедуре STR также можно прочитать в разделе, посвященному графике в Pascal.
Использование процедуры VAL.
Напишем программу, в которой строковой переменной будет присвоено значение, определяющее дату, например, 23.02.1965. Пусть эта дата обозначает год вашего рождения. Программа, должна подсчитать, сколько вам лет на текущий момент. Текущим моментом будем считать 2012 год.
Строка №7. В переменную «stroka1» записываем дату рождения.
Строка №8. В переменную «stroka2» копируем из переменной «stroka1» последние 4 символа, 1965.
Строка №9. Преобразовываем эти 4 символа в число и записываем это число в целочисленную переменную «rog».
Строка №10. В целочисленную переменную «let» записываем значение, которое получится при вычитании из числа 2012 числа 1965.
Строка №11. Выводим значение переменной «let» на экран.
Процедуры STR и VAL.
В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.
Использование процедуры STR.
Строка №3. Создаем 3 строковые переменные.
Строка №4. Создаем 3 целочисленные переменные.
Строка №7. В 1-ую переменную типа Integer записываем число 1234.
Строка №8. Во 2-ую переменную типа Integer записываем число 5678.
Строка №9. Складываем эти числа, результат записываем в 3-ю переменную.
Строка №10. Выводим результат на экран.
Строка№11. Переводим 1-ое число в его строковое представление, результат сохраняем в переменной «stroka1».
Строка №12. Переводим 2-ое число в его строковое представление результат сохраняем в переменной «stroka2».
Строка №13. Производим над строками операцию сцепления и записываем результат в переменную «stroka».
Строка №14. Выводим результат на экран.
О процедуре STR также можно прочитать в разделе, посвященному графике в Pascal.
Использование процедуры VAL.
Напишем программу, в которой строковой переменной будет присвоено значение, определяющее дату, например, 23.02.1965. Пусть эта дата обозначает год вашего рождения. Программа, должна подсчитать, сколько вам лет на текущий момент. Текущим моментом будем считать 2012 год.
Строка №7. В переменную «stroka1» записываем дату рождения.
Строка №8. В переменную «stroka2» копируем из переменной «stroka1» последние 4 символа, 1965.
Строка №9. Преобразовываем эти 4 символа в число и записываем это число в целочисленную переменную «rog».
Строка №10. В целочисленную переменную «let» записываем значение, которое получится при вычитании из числа 2012 числа 1965.
Строка №11. Выводим значение переменной «let» на экран.
Типы данных
Теоретический материал (Паскаль)
Тип данных char. Операции над символами
В большинстве применений компьютера алфавитно-цифровая информация используется наряду с числовой. Прежде чем мы сможем написать программу, которая манипулирует алфавитно-цифровыми знаками (литерами), нам потребуется тип данных для их представления. Для этих целей в языке Паскаль предусмотрен тип данных char.
Так же, как переменная типа integer может хранить одно целое число, переменная типа char может хранить один символ.
Var Alpha : char; Begin Alpha :=’p’; Alpha :=’+’; Alpha :=’3′; Alpha :=’ ‘; Alpha :=»»; |
Первый оператор присваивания записывает в переменную Alpha литеру р.
Второй делает Alpha равной литере плюса (+).
Третий делает Alpha равной символу 3. Заметим, что символ 3 отличается от целого числа 3 тем, что символ не может быть использован в арифметических операциях.
Четвертый оператор присваивания делает Alpha равной литере пробела. Хотя литера пробела при печати не изображается, она является обыкновенным значением типа char.
Последний оператор присваивания делает Alpha равной литере апострофа, это специальный случай, так как знак апострофа используется для ограничения значения типа char.
Все символы упорядочены, т.к. имеют свой личный номер. Важно, что соблюдаются следующие отношения:
‘A’ Program Sravnenie;
Var
First, Second : char;
Begin
write (‘Введите две литеры: ‘);
readln (First, Second);
write (‘Первая литера ‘);
if First > Second
then
write (‘больше второй. ‘)
else
if First = Second
then
write (‘равна второй. ‘)
else
write (‘меньше второй. ‘);
Еnd.
Процедуры и функции для работы со строками Паскаль
Чтобы работать со строками, в языке Паскаль введены специальные процедуры и функции.
Процедуры и функции для работы со строками Паскаль:
1) length(st:string):integer;
Пример:
2) concat(st1,[st2,…,stn]:string):string;
3) copy(st:string; ind:integer; col:integer):string;
Пример:
4) delete(var st:string; ind,col:integer);
Пример:
5) insert (st2:string; var st:string;ind:integer);
Пример:
6) pos(podsr,st:string):byte;
Пример:
7) str(y: арифметическое выражение; var strk: string);
8) val(strk: string; y: числовая переменная; var kod: integer);
9) chr(m: byte): char;
10) ord(m: char): byte;
11) UpCase(sym: char): char;