cmdkotelniki
?>

Напишите сложную в кодировании программу на паскале(любую​

Информатика

Ответы

oslopovavera

uses crt;

{разделители слов, можно еще добавить}

const zn=[' ',': ',',','! ','? ','-','; ',')'];

var s,s1,s2: string;

    i,k: byte;

begin

clrscr;

writeln('введите строку, содержащую 2 одинаковых слова: ');

readln(s);

s: =s+' '; {добавим в конец пробел}

for i: =1 to length(s) do

if s[i] in zn then s[i]: =' '; {все разделители заменим на пробелы}

while pos('   ',s)> 0 do{пока есть 2 пробела рядом(в апострофах 2 пробела)}

delete(s,pos('   ',s),1); {1 пробел удаляем}

if s[1]=' ' then delete(s,1,1); {если первый символ пробел, тоже удаляем}

k: =0;

while pos(' ',s)> 0 do{пока есть пробел}

begin

  s1: =copy(s,1,pos(' ',s)-1); {копируем первое слово до пробела}

  for i: =pos(' ',s)+1 to length(s) do{смотрим строку дальше}

  if (copy(s,i,length(s1))=s1){если набор символов совпадает с этим словом}

    and(s[i-1]=' '){и перед ним пробел}

    and((s[i+length(s1)]=' '){и за ним пробел}

    or(i+length(s1)-1=length( then{или это последнее слово}

      begin

      k: =1; {фиксируем совпадение}

      s2: =s1; {запоминаем слово}

      write('одинаковые слова ',s2); {выводим на экран}

      readln;

      exit; {выходим из программы, нужно только 1 пару}

      end;

  delete(s,1,pos(' ',s)); {удаляем первое слово, следующее первое}

end;

if k=0 then write('нет двух одинаковых слов');

readln

end.

залил тебе на пастибин, что-бы тебе удобней было.

pokrov777krest

1)Если оба операнда имеют значение true, тогда операторы & и && возвращают true.

Если хотя бы один операнд имеет значение true, тогда операторы | и || возвращают true.

Операторы & и | всегда проверяют значение обоих операндов. && и || носят название операторов короткой схемы, так как если результат булевого выражения может быть определён из левого операнда, правый операнд не вычисляется.

Примечание: || и && могут быть использованы только в логических выражениях.

2) Таблица истинности — это таблица, описывающая логическую функцию.

3) тернарный оператор- операция, возвращающая свой второй или третий операнд в зависимости от значения логического выражения, заданного первым операндом.

Объяснение:

надеюсь

m-zolotukhina2
Var   d,m,i,all: integer; begin   read(d,m);   all: =0;   for i: =12 downto (m+1) do   begin   if i=12 then     all: =all+31;   if i=11 then     all: =all+30;   if i=10 then     all: =all+31;   if i=9 then     all: =all+30;   if i=8  then     all: =all+31;   if i=7 then     all: =all+31;   if i=6 then     all: =all+30;   if i=5  then     all: =all+31;   if i=4 then     all: =all+30;   if i=3  then     all: =all+31;   if i=2 then     all: =all+28;   if i=1 then     all: =all+31;   end;   if i=12 then     all: =all+31-d;   if i=11 then     all: =all+30-d;   if i=10 then     all: =all+31-d;   if i=9 then     all: =all+30-d;   if i=8  then     all: =all+31-d;   if i=7 then     all: =all+31-d;   if i=6 then     all: =all+30-d;   if i=5  then     all: =all+31-d;   if i=4 then     all: =all+30-d;   if i=3  then     all: =all+31-d;   if i=2 then     all: =all+28-d;   if i=1 then     all: =all+31-d;   writeln(all); end.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Напишите сложную в кодировании программу на паскале(любую​
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

molodoychek
katrin819
viktort889841
davidovalbert6
Andreevna_Grebenshchikova155
Darialaza
ntyremsk1
Валерьевна1601
Veronika343
qadjiyevaaynura
Irina_Nikolai
nsn-2012
kononova_Pavel689
ikalabuhova
av4738046