Оператор выбора Case Of в Pascal.

Помимо условного оператора If в языке программирования Pascal существует оператор выбора Case of. Рассмотрим его применение на примере программы, которая выводит на экран то или иное сообщение, в зависимости от введенного числа.

Процедуры STR и VAL.

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.

...

Логические операции с целыми числами.

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

Циклы и массивы

Использование оператора WITH ... DO.

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

Описание процедур.

Процедуры являются основой модульного программирования (МП). Модульное программирование – это процесс построения программы, разделенной на логические части, называемые модулями, и последовательное ...

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры STR и VAl.

 Например, возьмем 2 числа: 125 и 347. Если эти числа записаны в строковых переменных, то с ними можно производить те действия, которые производятся над строками. Например, в результате операции сцепления 125+347 получится 125347. Если же данные числа будут записаны в переменных типа Integer или Real, то над ними  можно производить операции, предусмотренные для чисел (сложение, вычитание умножение, деление, DIV, MOD и т.д.). Например, в результате операции сложения 125+347 получится 472.
В языке программирования Pascal предусмотрена возможность преобразования чисел в их символьное представление и наоборот.
Процедура STR преобразует число целого или вещественного типов в его строковое представление. Процедура имеет 2 параметра: STR (X, ST), где «X» - это число, а ST – его строковое представление. Также, можно указывать формат преобразования: STR(X:A:B, ST), где «A» задает ширину всего поля, которое выделяется для строкового представления числа, а «B» - количество символов в дробной части (последний параметр имеет значение в том случае, если преобразуется вещественное число). Процедура STR делает с числом то же, что и оператор Writeln перед тем как вывести число на экран (преобразует число в символ).
Процедура VAL преобразует строковое представление числа в само число, которое можно записать в целочисленную или вещественную переменную.  Процедура имеет 3 параметра: VAL (ST, X, CODE), где ST – строка, которую необходимо преобразовать в число, X – вещественная или символьная переменная, в которую записывается это число, CODE – необязательный параметр, который, в случае ошибки будет содержать номер позиции, в которой обнаружен ошибочный символ.

Использование процедуры STR.


program string7;
uses crt;
var stroka,stroka1,stroka2:string;     
       x,y,z:integer;
begin   
    clrscr;  
     x:=1234;
      y:=5678;
      z:=x+y;
    writeln(z);
    str(x,stroka1);
    str(y,stroka2);  
   stroka:=stroka1+stroka2;   
  writeln(stroka);  
   readln end. 

 Строка №3. Создаем 3 строковые переменные.

Строка №4. Создаем 3 целочисленные переменные.

Строка №7. В 1-ую переменную типа Integer записываем число 1234.

Строка №8. Во 2-ую переменную типа Integer записываем число 5678.

Строка №9. Складываем эти числа, результат записываем в 3-ю переменную.

Строка №10. Выводим результат на экран.

Строка№11. Переводим 1-ое число в его строковое представление, результат сохраняем в переменной «stroka1».

Строка №12. Переводим 2-ое число в его строковое представление результат сохраняем в переменной «stroka2».

Строка №13. Производим над строками операцию сцепления и записываем результат в переменную «stroka».

Строка №14. Выводим результат на экран.

procedura Str

procedura Str.

О процедуре STR также можно прочитать в разделе, посвященному графике в Pascal.


Использование процедуры VAL.


Напишем программу, в которой строковой переменной будет присвоено значение, определяющее дату, например, 23.02.1965. Пусть эта дата обозначает год вашего рождения. Программа, должна подсчитать, сколько вам лет на текущий момент. Текущим моментом будем считать 2012 год.


program string8;
uses crt;
var stroka1,stroka2:string;     
  rog, let, k:integer;
begin    
  clrscr;   
   stroka1:='23.02.1965';    
  stroka2:=copy(stroka1,7,4);    
  val(stroka2,rog,k);  
  let:=2012-rog;
   writeln(let);  
  readln end. 

Строка №7. В переменную «stroka1» записываем дату рождения.

Строка №8. В переменную «stroka2» копируем из переменной «stroka1» последние 4 символа, 1965.

Строка №9. Преобразовываем эти 4 символа в число и записываем это число в целочисленную переменную «rog».

Строка №10. В целочисленную переменную «let» записываем значение, которое получится при вычитании из числа 2012 числа 1965.

Строка №11. Выводим значение переменной «let» на экран.

procedura val

procedura val.


Предыдущая статья : Функции Copy, Pos, процедуры Delete, Insert.

Оглавление : Уроки Паскаль. Строки.


Комментарии   

-40 # Кирилл 06.05.2012 10:56
Почему нету ничего про циклы и массивы? Это же самое основное в паскале...
+13 # Антон 07.10.2012 05:25
Спасибо за ваши уроки, давно что то подобное искал!
-4 # Настя 27.11.2012 18:27
Код второй программы не верен! при выполнении выдает ошибку, что процедура Val c параметрами указанных типов не найдена. :-|
в чем дело?
+3 # Сай 09.01.2013 14:57
:roll: прочти сообщение DoKа:просто не написана K :D
-7 # нуна 18.02.2013 12:52
и у меня тож((((((((((((
-24 # Митя 01.03.2013 07:37
Настя привет солнце, своим паскалем ты меня так возбудила,что я готов скомпилировать тебя полностью и проверить тебя на исполнение работоспособнос ти. Отправь мне свой код на номер 0555838406 я проверю его на стиль програмирования дядь Генны 8)
-2 # Дима 26.11.2016 04:28
var a:string;b,c:integer;
begin
readln(a);
val(a,b,c); { три переменных а-строковая b-переменная в которую переведут значение а с- берет на себя значение 0 или >0 если перевелось удачно то с=0 иначе с примет индекс той буквы в строке которую перевести не удалось
}
writeln(b);
end.
-7 # Нео 12.12.2012 15:06
Все просто 8)
+5 # Dok 23.12.2012 15:01
Val(stroka2,rof ,k) k-код ошибки
-4 # mehdhar al_gaashani@ 13.05.2014 03:14
;-) 8)
-3 # mehdhar al_gaashani@ 13.05.2014 03:15
:-)
+7 # Валентина 02.01.2015 06:46
спасибо! Успехов во всех делах! :lol:
+1 # мишка сенсей 26.01.2015 06:37
А также в pascalABC.net из символьной типа даннах string можно проще перевести в число при помощи функции StrToInt(x) где х переменная типа string
0 # Джонатон нагиев 26.03.2015 05:18
желательно что бы каждое действие было описано подробнее, например я долго не мог разобрать вами написанное . заранее спасибо) :lol:
+6 # MrRiseYT 08.12.2015 20:39
Program11.pas(1 2) : Нет перегруженной подпрограммы с таким количеством параметров Val
+3 # Алексей 26.03.2016 06:43
:lol:
Пока не пригляделся, преследовало стойкое ощущение дежавю. Скрины как с turbo pascal из начала 90х прошлого столетия )))
Вспомнил молодость, студенческие годы... Эх... :D
0 # Дулат 10.03.2017 12:54
Ничего не хочется читать, так как очень ярко. сделайте что нибудь...ph
+1 # deshalb 04.04.2018 08:09
я сейчас сижу на уроке информатики;спа сибо блин за эту информацию ))))
0 # 111 18.04.2018 19:53
какой тип данных имеют одиночные строковые символы при описании в паскаль
0 # StepAN 23.04.2018 10:20
Строковый тип данных в Паскале. Строки в Паскале – это данные типа string. Они используются для хранения последовательно стей символов
   ГлавнаяПаскальСтроки в ПаскальТип данных String в Pascal.