Сначала немного теории. Тут у нас импликация(если..то...), комбинированная с конъюнкцией(и). Таблица истинности импликации(стрелочки): 0 0 1 0 1 1 1 0 0 1 1 1 Общее правило: если a<=b, тогда правда Таблица истинности конъюнкции(/\): 0 0 0 0 1 0 1 0 0 1 1 1 Общее правило: если есть одна ложь-всё ложь. Про НЕ и гуманитарий поймёт. Про данный пример: Нам нужен вариант, где оба выражения являются правдой, т.к. между ними стоит И Подробно рассмотрим первый вариант: Ирина Первая буква гласная-правда Вторая буква гласная-ложь Значит, результат импликации-ложь, в чём можно убедиться взглянув на таблицу истинности, но, так как НЕ так же присутствует в данном условии, это выражение возвращает правду. Последняя буква гласная-правда Так как оба выражения при конъюнкции правда, всё выражение является правдой и удовлетворяет условию.
Const n1=15; n2=10; n3=12; type V=array[1..15] of string; procedure M_in(s:string; var a:V; n:integer); { ввод данных в массив } var i:integer; begin Writeln('Вводите по одному ',n,' элементов массива ',s); for i:=1 to n do Readln(a[i]) end;
procedure M_out(var a:V; n:integer; c:char); { выводит элементы, начинающиеся с указанного символа } var i:integer; begin Writeln('*** Слова на букву ',c,' ***'); for i:=1 to n do if a[i][1]=c then Writeln(a[i]); Writeln end;
var s1,s2,s3:V; begin M_in('S1',s1,n1); M_in('S2',s2,n2); M_in('S3',s3,n3); M_out(s1,n1,'В'); M_out(s2,n2,'Ц'); M_out(s3,n3,'А'); end.
Шаг
Шаг
Шаг
Поворот
Поворот
Прыжок
Прыжок
Прыжок
Поворот
Шаг
Шаг
Шаг
Шаг
Конец
Стрелочка