Цитата дня.

Л.Н. Толстой. "Часто слышишь, что молодежь говорит: я не хочу жить чужим умом, я сам обдумаю. Зачем же тебе обдумывать обдуманное? Бери готовое и иди дальше. В этом сила человечества."

Решение задач 03-12-2016 (10 класс)

Практычная работа “Апрацоўка сiмвалаў i радкоў

Задача 1. У паслядоўнасцi з n  сiмвалаў знайсцi i вывесцi ўсе пары аднолькавых суседнiх сiмвалаў, калi такiя маюцца.
Program ZD1;
Var
            T    : array [1..100] of char;
            i, n : integer;
            f    : boolean;
Begin
    Write(‘Увядзiце колькасць сiмвалаў: ’);
  Readln(n)
  {Увод паслядоўнасцi сiвалаў}
  for i := 1 to n do
  Begin
    Write(‘Увядзiце’, i, ‘-ты сiмвал: ’);
    Readln(T[i])
  End;
  Writeln;
  f:= false;
  for i := 1 to n-1 do
    if T[i]=T[i+1] then
    Begin
      f := true;
      Writeln(T[i], ‘–‘, T[i+1])
    End;
  if f = false then
    Writeln(‘У паслядоўнасцi няма пар аднолькавых суседнiх
             сiмвалаў!’);
  Readln
End.
Задача 2. Дадзены натуральны лiк n i сiмвалы S1, S2, …, Sn, сярод якiх ёсць двукроп’е. Атрымаць усе сiмвалы, што размешчаны пасля першага двукроп’я.
Program ZD2;
Var
  st1, st2 : string[100];
  i, n     : byte;
Begin
    Write(‘Увядзiце радок сiмвалаў: ’);
  readln(st1);
  n := Length(st1);
  i := Pos(‘:’, st1);
  if (i>0) and (i<n) then
  Begin
    st2 := Copy(st1, i+1, n-i);
    Writeln(‘Атрымаўся радок ’, st2);
  End
  else if i = n
    then Writeln(‘Сімвал “:” – апошні ў радку’)
    else Writeln(‘У дадзеным радку няма сiмвала “:”’);
  Readln
End.
Задача 3. Замянiць у дадзеным арыфметычным выразе ўсе ўваходжаннi “int” на “trunc”.
Program ZD3;
Const
  vr1 = ‘int’;
  vr2 = ‘trunc’;
Var
  st1, st2 : string[80];
  i        : byte;
  f        : boolean;
Begin
  Write(‘Увядзiце радок сiмвалаў, якi змяшчае некаторы
         арыфметычны выраз: ’);
  Readln(st1);
  st2 := st1;
  f := false;
  repeat
    i := Pos(vr1, st2);
    if i > 0 then
    Begin
      f := true;
      Delete(st2, i, 3);
      Insert(vr2, st2, i)
    End
  until i=0;
  Writeln;
  if f then
  Begin
    Writeln(‘Зыходны радок – ’, st1);
    Writeln(‘Атрыманы радок – ’, st2);
  End
  else
    Writeln(‘У дадзеным выразе няма словазлучэння int!’);
  Readln
End.
Задача 4. З клавiятуры ўводзiцца доўгi натуральны лiк n. Калi ў гэтым лiку колькасць лiчбаў няцотная, то сярэднюю лiчбу трэба замянiць на нуль (прымянiць працэдуры Val i Str).
Program ZD5;
Var
  chs, chsn    : string[30];
  l, i, c, cod : integer;
  d            : string[1];
Begin
    Write(‘Увядзіце доўгі натуральны лік: ’);
  Readln(chs);
  l := length(chs);
  chsn := ‘’;
  if Odd(l) then
  Begin
    i := (l+1) div 2;
    Val(chs[i],c,cod);
    if cod <> 0
      then writeln(‘У цэнтральнай пазiцыi - не лiчба!’)
      else if c <> 0 then
        Begin
          str(0,d);
          chsn := chsn+Copy(chs,1,i-1)+d+Copy(chs,i+1,l-i);
          Writeln(Атрымаўся лік’, chsn)
        End
        else Writeln(‘Уведзена сярэдняя лiчба - нуль!’);
  End
  else Writeln(‘Уведзена цотная колькасць лiчбаў!’);
  End.
  End.

Комментариев нет:

Отправить комментарий