Решение задач. Строковый тип

  • docx
  • 30.11.2021
Публикация на сайте для учителей

Публикация педагогических разработок

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

Иконка файла материала Л3-00090.docx

Решение задач. Строковый тип


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

Пример 1.
Дано слово, состоящее из четного числа букв. Вывести на экран его первую половину.

Var  i,x:byte;
     a:string;
begin
  repeat
    write('Введите слово из четного числа букв');
    readln(a);
    x:=length(a); {определяем длину слова}
  until (x mod 2 = 0);
  x:= x div 2; {применяем целочисленное деление}
  for i:=1 to x do write(a[i]);
  readln
end.

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

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

Пример 3.
Дано предложениеОпределить число пробелов в нем.

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

Пример 4.
Дано предложение. Определить порядковый номер первой встреченной буквы 'к'. Если такой буквы нет, сообщить об этом.

Var  i,x,k,f:byte;
     a:string;
begin
  write('
Введите предложение');
  readln(a);
  x:=length(a);{
определяем длину слова}
  k:=0; I:=0; f:=0;
  repeat
    I:=I+1;
    if a[i]<>'
к' then k:=k+1 else f:=1;
  until (I=x)or( a[i]='
к' );
  if f=1 then writeln(k) else writeln(' 
Нет такой буквы');
  readln
end.

Тренировочные задания.
1. Дано слово. Получить его часть, образованную идущими подряд буквами, начиная с m-й и кончая n-й (m<n).
2. Дано слово из четного числа букв. Поменять местами его половины.
3. Дано слово. Перенести первые k его букв в конец.
4. Получить строку, состоящую из пяти эвездочек, т.е. символов "*".
5. Дано предложение. Напечатать все его буквы "и".


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

Var  x:byte;
     a:string;
begin
  write('
Введите слово');   
  readln(a);
  x:=length(
а);        
  if odd(x) then write('
не четно') else write('четно');
  readln
end.

Значение функции odd(x) истинно, если число x не четное.

2. Дано слово. Вывести на экран его третий символ и дважды его последний символ.
3. Дано слово. Верно ли, что оно начинается и оканчивается на одну и ту же букву?
4. Дано слово. Получить и вывести на экран буквосочетание, состоящее из его третьего и последнего символа.

Var  x:byte;
     a:string;
begin
  repeat
    write('
Введите слово не менее четырех букв');
    readln(a);
    x:=length(a);         {
определяем длину слова}
  until x>= 4;
  write(a[3],a[x]);
  readln
end.

5. Составить программу которая запрашивает название футбольной команды и повторяет его на экране со словами: "Это чемпион!".

Var   a:string;
begin
  write('Введите название футбольной команды');
  readln(a);
  write(a, ' Это чемпион!');
  readln
end.


 

Скачано с www.znanio.ru