<<Назад

Преобразование числового значения в строковое.


 
  STR(K, S);

  Процедура преобразовывает числовое значение величины K в строку S. После числа К может записываться формат, аналогично формату вывода. Если в формате указано недостаточное для вывода количество разрядов, поле вывода автоматически расширятся до нужной длины.

Значение К

Процедура

Результат

145

STR(K:6,S)

'___145'

0.23E+04

STR(K:10,S)

'______2300'

45678

STR(K:3,S)

'45678'

21.2.Преобразование строки в число.

  VAL(S, K, Code);

  Процедура преобразует значение S в величину целочисленного или вещественного типа и помещает результат в K. Значение S не должно содержать незначащих пробелов в начале и в конце строки. Code - целочисленная переменная, если преобразование невозможно, то содержит номер позиции первого ошибочного символа, если все нормально, то значение Code равно нулю.

21.3.Преобразование строчной буквы в прописную.

  UpCase(ch);

  Функция символьная. Возвращает прописную латинскую букву, если ch - строчная. В остальных случаях возвращает аргумент без изменения.

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

var s:string;
    I:byte;
begin
  Write('
Введите слово');
  Readln(s);
  For I:=1 to Length(s) do s[I]:=UpCase(s[I]);
  Writeln(s);
end.

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

var  x:byte;
     a:string;
begin
  repeat
    write('
Введите слово не менее шести букв');
    readln(a);
    x:=length(a);         {
определяем длину слова}
  until (x>=6);
  a:=copy(a,x-2,3)+copy(a,4,x-6)+copy(a,1,3);
  writeln(a);
  readln
end.

Тренировочные задания.
1. Вычислите длину самого короткого слова в предложении из трех слов, разделенных пробелами.
2. Заданы фамилия, имя и отчество учащегося, разделенные пробелом. Напечатайте его фамилию и инициалы.
3. Даны два слова. Составте программу, определяющую можно или нет из букв слова А составить слово В.
4. Даны два слова. Определить, сколько начальных букв первого слова совпадает с начальными буквами второго слова.
5. Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символа?



1. Дано предложение. Определить число вхождений в него некоторого символа.

Var  i,x,k:byte;
     a:string; ch:char;
begin
  write('
Введите слово ');
  readln(a);
  write('
Введите символ ');
  readln(ch);
  x:=length(a);   {
определяем длину слова}
  k:=0;
  for i:=1 to
х do if a[I]=p then k:=k+1;   
  write('
таких символов ',k);
  readln
end.

2. Дано предложение. Заменить в нем все вхождения буквосочетания "ах" на "ух".

Var  x:byte;
     a:string;
begin
  write('
Введите предложение');
  readln(a);
  while pos(a,'
ах')<>0 do
  begin
    x:=pos (a,'
ах');
    delete(a,x,2)
    insert('
ух',a,x)
  end;
  write( a );
  readln
end.

3. Дано слово. Проверить, является ли оно "перевертышем", т.е. читается одинаково как с начала, так и с конца.

Var  i,x:byte;
     a,p:string;
begin
  write('Введите слово ');
  readln(a);
  x:=length(a);         {определяем длину слова}
  p:='';    {пустая строка}
  for i:=x downto 1 do p:=a[I]+p;    {собираем слово в обратном порядке}
  if a=p then write('слово перевертыш') else write('слово не перевертыш');
  readln
end.

 <<Назад

Hosted by uCoz