Процедура Writeln в Pascal

Помимо зарезервированного слова Write, для вывода сообщения на экран в Pascal используется процедура Writeln. Отличие процедуры Writeln от оператора Write заключается в том, что Writeln после вывода сообщения на экран переводит курсор на другую ...

Ввод логических переменных с клавиатуры.

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

Применение логических операций с оператором IF.

В данном уроке мы рассмотрим применение логической операции And с условным оператором If.

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

Вычисление предела последовательности.

Вычисление предела последовательности является типичной задачей на использование итерационного цикла.

Сортировка одномерного массива. Метод пузырька.

Сортировка — перестановка местами объектов в определенном порядке. Известно несколько сотен алгоритмов сортировки и их модификаций.

В строковую переменную можно записывать не только буквы, но и цифры. Однако это будут не числа, как таковые, а их символьное представление. Для преобразования символьных представлений числа в само число, и наоборот, используются процедуры 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.

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


Комментарии  

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