Приоритет выполнения логических операций в Pascal.

Логические операции применяются при написании многих программ в Pascal. Все операции имеют определенный приоритет выполнения : Первой выполняется операция NOT. Второй выполняется операция AND. Последними выполняются операции OR и XOR (Они имеют ...

Тип данных Char. Функции Ord, Chr.

Мы с Вами уже рассмотрели типы данных, которые позволяют хранить и обрабатывать целые числа (integer) и дробные числа (real). Теперь рассмотрим тип данных, позволяющий хранить и обрабатывать различные символы. Символы – это все буквы и значки, ...

Div, Mod, сложение, вычитание в Pascal.

Помимо операций умножения и сложения, над целочисленными переменными производятся операции Div (операция целочисленного деления), Mod (вычисление остатка от целочисленного деления), операция вычитания «-».

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

Тип данных Boolean.

Тип BOOLEAN (булевский, логический). Логический тип в языке Паскаль задается как перечисляемый тип, содержащий всего два значения, которые имеют идентификаторы FALSE (ложь) и TRUE (истина).

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

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

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры 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:integer;
begin
     clrscr;
     stroka1:='23.02.1965';
     stroka2:=copy(stroka1,7,4);
     val(stroka2,rog);
   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.

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


Комментарии  

 
-29 # Кирилл 06.05.2012 10:56
Почему нету ничего про циклы и массивы? Это же самое основное в паскале...
Ответить
 
 
+10 # Антон 07.10.2012 05:25
Спасибо за ваши уроки, давно что то подобное искал!
Ответить
 
 
0 # Настя 27.11.2012 18:27
Код второй программы не верен! при выполнении выдает ошибку, что процедура Val c параметрами указанных типов не найдена. :-|
в чем дело?
Ответить
 
 
+4 # Сай 09.01.2013 14:57
:roll: прочти сообщение DoKа:просто не написана K :D
Ответить
 
 
-5 # нуна 18.02.2013 12:52
и у меня тож((((((((((((
Ответить
 
 
-15 # Митя 01.03.2013 07:37
Настя привет солнце, своим паскалем ты меня так возбудила,что я готов скомпилировать тебя полностью и проверить тебя на исполнение работоспособнос ти. Отправь мне свой код на номер 0555838406 я проверю его на стиль програмирования дядь Генны 8)
Ответить
 
 
-1 # Дима 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.
Ответить
 
 
-3 # Нео 12.12.2012 15:06
Все просто 8)
Ответить
 
 
+3 # Dok 23.12.2012 15:01
Val(stroka2,rof ,k) k-код ошибки
Ответить
 
 
-2 # mehdhar al_gaashani@ 13.05.2014 03:14
;-) 8)
Ответить
 
 
-1 # mehdhar al_gaashani@ 13.05.2014 03:15
:-)
Ответить
 
 
+5 # Валентина 02.01.2015 06:46
спасибо! Успехов во всех делах! :lol:
Ответить
 
 
+1 # мишка сенсей 26.01.2015 06:37
А также в pascalABC.net из символьной типа даннах string можно проще перевести в число при помощи функции StrToInt(x) где х переменная типа string
Ответить
 
 
+1 # Джонатон нагиев 26.03.2015 05:18
желательно что бы каждое действие было описано подробнее, например я долго не мог разобрать вами написанное . заранее спасибо) :lol:
Ответить
 
 
+5 # MrRiseYT 08.12.2015 20:39
Program11.pas(1 2) : Нет перегруженной подпрограммы с таким количеством параметров Val
Ответить
 
 
+3 # Алексей 26.03.2016 06:43
:lol:
Пока не пригляделся, преследовало стойкое ощущение дежавю. Скрины как с turbo pascal из начала 90х прошлого столетия )))
Вспомнил молодость, студенческие годы... Эх... :D
Ответить
 

Добавить комментарий

Защитный код
Обновить

   ГлавнаяПаскальСтроки в Паскаль