Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Уроки программирования на Turbo Pascal


Информационный Канал Subscribe.Ru


Уроки программирования на Turbo Pascal #21

Подписчиков на 2002-11-02 - 3014 человек(а).

Рассылка проекта "Олимпиада.com.ru".


Главная Архив задач Конкурс Обучение Рассылки Форум Контакты

Здравствуйте, уважаемые подписчики!


  Продолжим знакомство с возможностями Паскаля по обработке строк. Следующие процедуры выполняют преобразование типа или значения переменной.


Урок 21


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

  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. Дан текст. Верно ли, что в нем есть пять идущих подряд одинаковых символа?

Разбор заданий урока 20.

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.


Желаю успехов!
Ганилова Татьяна Евгеньевна, school6@rikt.ru.
Гимназия №6, г. Междуреченск.

Распространение, переработка и тиражирование только с согласия автора.


Архив рассылки:

  Архив предыдущих выпусков рассылки: http://olimpiada.com.ru/learing.php?lesson=all;

Урок 1 Урок 2 Урок 3 Урок 4 Урок 5
Урок 6 Урок 7 Урок 8 Урок 9 Урок 10
Урок 11 Урок 12 Урок 13 Урок 14 Урок 15
Урок 16 Урок 17 Урок 18 Урок 19 Урок 20

Реклама в рассылке:

RLE    

  


Подпишитесь на наши рассылки:

Новости проекта "Олимпиада.com.ru" [Алексей Шамис]
Новости проекта "Olimpiada.com.ru". Новые темы на форуме. Информация о пополнениях в архиве задач. Оперативно и своевременно!

Уроки программирования на Turbo Pascal [Татьяна Ганилова]
Хотите стать Великим Программистом? Начните свой путь к вершине славы с изучения языка Turbo Pascal. Он как нельзя лучше подходит для начинающих программистов и в то же время используется для разработки сложных "профессиональных" программ.

Олимпиадные задачи с решениями на Turbo Pascal [Алексей Шамис]
В рассылке публикуются решения интересных олимпиадных задач различного уровня. Содержит много теоретической информации. Периодичность - 2-3 раза в неделю.

Задача в неделю. Олимпиадные задачи по информатике [Александр Алексеев]
Каждый понедельник в рассылке публикуется задача, которую необходимо решить и в следующий понедельник прислать программу на тестирование. Решения проверяются, и в пятницу публикуется разбор и итоги тестирования.



Всегда рады видеть Вас на нашем сайте.

Copyright © 2002 by Tatyana Ganilova.



http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное