Розв’язати за або таблиці істинності, або спрощення логічного виразу, або методом від (кожна має бути розв’язана двома з вказаних методів): а) три школьника, миша (м), коля (к) и сергей (с), остававшиеся в классе на перемене, были вызваны к директору по поводу разбитого в это время окна в кабинете. на вопрос директора о том, кто это сделал, мальчики ответили следующее: миша: «я не бил окно, и коля » коля: «миша не разбивал окно, это сергей разбил футбольным мячом! » сергей: «я не делал этого, стекло разбил миша». стало известно, что один из сказал чистую правду, второй в одной части заявления соврал, а другое его высказывание истинно, а третий оба факта исказил. зная это, директор смог докопаться до истины. кто разбил стекло в классе? б) в поездке пятеро друзей — антон, борис, вадим, дима и гриша, знакомились с попутчицей. они предложили ей отгадать их фамилии, причём каждый из них высказал одно истинное и одно ложное утверждение: 24 дима сказал: "моя фамилия — молотов, а фамилия бориса — хрущев". антон сказал: "молотов — это моя фамилия, а фамилия вадима — брежнев". борис сказал: "фамилия вадима — тихонов, а моя фамилия — молотов". вадим сказал: "моя фамилия — брежнев, а фамилия гриши — чехов". гриша сказал: "да, моя фамилия чехов, а фамилия антона — тихонов". какую фамилию носит каждый из друзей? в) правильно ли рассуждение: если джонс не встречал ночью смита, то смит был убийцей или джонс лжет. если смит не был убийцей, то джонс не встречал смита этой ночью, и убийство имело место после полуночи. если убийство имело место после полуночи, то смит был убийцей или джонс не лжет. следовательно, смит был убийцей.
program n_2;
var i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(100);
for i:=1 to 10 do
write(a[i],' ');
end.
Вычисление суммы элементов массива
program n_3;
var s, i: integer;
a: array[1..10] of integer;
begin
s:=0;
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],' ');
for i:=1 to 10 do s:=s+a[i];
writeln('s=', s)
end.
Вычисление суммы элементов массива
[Используем операторные скобки и всё (ввод, вывод, обработку) делаем в одном цикле]
program n_3_1;
var s, i: integer;
a: array[1..10] of integer;
begin
s:=0;
randomize;
for i:=1 to 10 do
begin
a[i]:=random(100);
write(a[i],' ');
s:=s+a[i]
end;
writeln('s=', s)
end.
Программа поиска наибольшего элемента в массиве
program n_4;
var i, imax: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
imax:=1;
for i:=2 to 10 do
if a[i]>a[imax] then
imax:=i;
write('Наибольший элемент a[', imax, ']=', a[imax])
end.
Поиск элемента, равного 50
program n_5;
var n, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
n:=0;
for i:=1 to 10 do
if a[i]=50 then
n:=i;
if n=0 then
write('Нет')
else
write(n)
end.
Поиск элемента, равного 50
program n_5_1;
var n, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write(a[i],' ');
i:=0;
repeat
i:=i+1;
until (a[i]=50) or (i=10);
if a[i]=50 then
write(i)
else
write('Нет')
end.
Для подсчета вводится переменная, значение которой увеличивается на единицу каждый раз, когда найден нужный элемент.
program kolich;
var k, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do a[i]:=random(100);
for i:=1 to 10 do write (a[i],` `);
k:=0;
for i:=1 to 10 do
if a[i]>50 then
k:=k+1;
write('k=', k)
end.
Сумма значений элементов, удовлетворяющих условию
program sum ;
var s, i: integer;
a: array[1..10] of integer;
begin
randomize;
for i:=1 to 10 do
a[i]:=random(100);
for i:=1 to 10 do
write (a[i],` `);
s:=0;
for i:=1 to 10 do
if (a[i]>10) and (a[i]<30) then
s:=s+a[i];
write('s=', s)
end.
Сортировка массива
program sort;
var n, i, j, x, imax: integer;
a: array [1..10] of integer;
begin
for i:=1 to 10 do read (a[i]);
for i:=1 to 10 do write (a[i], ' ');
for i:=1 to 9 do
begin
imax:=i;
for j:=i+1 to 10 do
if a[j]>a[imax] then
imax:=j;
x:=a[i];
a[i]:=a[imax];
a[imax]:=x
end;
for i:=1 to 10 do
write(a[i], ' ')
end.
Возведение числа в любую степень.
program calc_stepen;
var
a, b, h, i: integer;
c: real;
begin
b := 1;
readln( a, h);
for i := 1 to abs(h) do
b := b * a;
if h < 0 then
c := 1 / b
else
c := b;
writeln( c:3:5 );
end.
Определение гласных и согласных букв:
program alfabet;
var
s: char;
begin
read(s);
case s of
'а','е','ё','и','о','у','ы','э','ю','я': writeln('гласные');
'б','в','г','д','ж','з','й','к','л','м','н','п','р','с','т','ф','х','ц','ч','ш','щ': writeln('согласные');
else
writeln('знаки');
end;
end.
Объяснение: