kit036
?>

Как можно доказать или опровергнуть логическое равенство?

Информатика

Ответы

kuk-nina
Чтобы  доказать или опровергнуть логическое равенство надо построить таблицу истинности
alisabutusova

1)

var

  s: string;

  i: integer;

 

begin

  writeln('Введите слово');

  readln(s);

  for i:= 1 to length(s) do 

    if i mod 2 = 1 then s[i]:= ' ';

  writeln('Полученная строка:  ', s);

end.

2)

var

  s: string;  {Программа определяет только английские буквы x или e, т.к. в задании указаны английские буквы}

  i: integer;

  xchar, echar: integer;

 

begin

  writeln('Введите строку');

  readln(s);

  for i:= 1 to length(s) do

  begin

    if s[i] = 'x' then xchar:= i;

    if s[i] = 'e' then echar:= i;

  end;

  if xchar < echar then writeln('буква "x" встретилась раньше');

  if echar < xchar then writeln('буква "e" встретилась раньше');

  if (echar = 0) or (xchar = 0) then writeln('одна из букв "x" или "e" не встретилась');

end.

3-е задание вообще непонятно. Произведение каких цифр описать содержание задания подробнее.

  

ИП-Сысоев1628

Усложнённый вариант(всё работает исправно,при вводе больше или меньше 3 чисел выводится сообщение "Это не трёхзначное число!"):

var
i,a,d:integer;
s:string;
begin
writeln('Введите трёхзначное число ');
read(s);
d:=length(s);
if d<>3 then
write('Это не трёхзначное число!');
if d=3 then
if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then
write('Да')
else
write('Нет');
end.

 

Простой вариант(выводится ошибка если цифр больше или меньше трёх!):

var
i,a,d:integer;
s:string;
begin
writeln('Введите трёхзначное число ');
read(s);
if (s[1]=s[2])or(s[1]=s[3])or(s[2]=s[3]) then
write('Да')
else
write('Нет');
end.

Даю 2 варианта, так-как незнаю,проходили ли вы функцию  "length" или нет.
Если нет,то препад заподозрит что вы списали откуда нибудь или вам кто-то подсказал.

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

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

Как можно доказать или опровергнуть логическое равенство?
Ваше имя (никнейм)*
Email*
Комментарий*