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

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

Использование Var, Integer, Readln.

Процедура Readln используется не только для задержки экрана. Ее основная задача - ввод данных с клавиатуры. В этой статье мы научимся вводить числа с клавиатуры, и потом выводить их на экран. Для этого нам будет необходимо познакомиться с разделом ...

Использование вложенного оператора If.

Условные операторы в Pascal можно вкладывать друг в друга. Для этого используется вложенный оператор IF. Рассмотрим это на примере программы, которая будет считать количество корней квадратного уравнения.

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

Индексы одномерного массива.

Существует класс задач, в которых индекс массива используется для формализации вычислительного процесса путем сведения исходных формул к конечным суммам и произведениям. Преобразованные таким образом ...

Тип данных 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.

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


Комментарии  

 
-30 # Кирилл 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
Ответить
 
 
-4 # нуна 18.02.2013 12:52
и у меня тож((((((((((((
Ответить
 
 
-17 # Митя 01.03.2013 07:37
Настя привет солнце, своим паскалем ты меня так возбудила,что я готов скомпилировать тебя полностью и проверить тебя на исполнение работоспособнос ти. Отправь мне свой код на номер 0555838406 я проверю его на стиль програмирования дядь Генны 8)
Ответить
 
 
0 # Дима 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)
Ответить
 
 
+2 # Dok 23.12.2012 15:01
Val(stroka2,rof ,k) k-код ошибки
Ответить
 
 
-3 # mehdhar al_gaashani@ 13.05.2014 03:14
;-) 8)
Ответить
 
 
-2 # 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
Ответить
 
 
+2 # Алексей 26.03.2016 06:43
:lol:
Пока не пригляделся, преследовало стойкое ощущение дежавю. Скрины как с turbo pascal из начала 90х прошлого столетия )))
Вспомнил молодость, студенческие годы... Эх... :D
Ответить
 
 
0 # Дулат 10.03.2017 12:54
Ничего не хочется читать, так как очень ярко. сделайте что нибудь...ph
Ответить
 

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

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

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