Сделайте дз по информтике (язык поскаль)
{ Программа №1 (урок 20.04.2020) }
program Prog01;
var
x: Integer; { Объявляем переменную целого типа }
begin
x := 12; { Присваиваем переменной x значение 12 }
x := x*2 - 4; { Присваиваем переменной x новое значение }
{ Используем условный оператор }
if x < 20 then
writeln('*')
end.
{ Программа №2 (урок 20.04.2020) }
program Prog02;
var
x: Integer; { Объявляем переменную целого типа }
begin
x := 13; { Присваиваем переменной x значение 13 }
x := x*3 + 1; { Присваиваем переменной x новое значение }
{ Используем условный оператор }
if x < 40 then
writeln('*')
else
writeln('**')
end.
{ Программа №3 (урок 20.04.2020) }
program Prog03;
var
x: Integer; { Объявляем переменную целого типа }
begin
x := 50; { Присваиваем переменной x значение 50 }
x := x*2 - x*2; { Присваиваем переменной x новое значение }
{ Используем условный оператор }
if x = 0 then
writeln('*')
else
writeln('**')
end.
{ Программа №4 (урок 20.04.2020) }
program Prog04;
var
x, y: Integer; { Объявляем две переменные целого типа }
begin
x := 15; { Присваиваем переменной x значение 15 }
y := 71; { Присваиваем переменной y значение 71 }
{ Используем условный оператор }
if (y - x) < 56 then
writeln('*')
else
if (y - x) > 56 then
writeln('**')
else
writeln('***')
end.
{ Программа №5 (урок 20.04.2020) }
program Prog05;
var
x, y: Integer; { Объявляем две переменные целого типа }
begin
write('Введите значение переменной x: ');
readln(x); { Вводим с клавиатуры значение для x }
write('Введите значение переменной y: ');
readln(y); { Вводим с клавиатуры значение для y }
{ Используем условный оператор }
if ((x*2 - y) = 20) and ((x + y) = 25) then
writeln('*')
end.
Задания по уроку: изучив тексты программ-примеров, ответить на контрольные во Что именно (сколько «звёздочек») выведет программа №1 и почему (объяснить результат работы программы)?
Что именно (сколько «звёздочек») выведет программа №2 и почему (объяснить результат работы программы)?
Что именно (сколько «звёздочек») выведет программа №3 и почему (объяснить результат работы программы)?
Что именно (сколько «звёздочек») выведет программа №4 и почему (объяснить результат работы программы)?
Какие значения для x и для y нужно ввести с клавиатуры, чтобы программа №5 напечатала звёздочку (вычислить значения «на бумаге» и проверить в программе)?
var
a: array[1..l] of integer;
d: array[1..l] of real;
i, otr, k, m: integer;
begin
otr:=0; k:=0; m:=0;
//считаем массив а
for i:=1 to l do
begin
readln(a[i]);
//если ввели положительное число,увеличим перем. otr на 1
if a[i] < 0 then
inc(otr);
//если ввели отрицательное число,увеличим перем. k на 1
//и к переменной m прибавим элемент
if a[i] > 0 then
begin
inc(k);
inc(m, a[i]);
end;
end;
//заполним массив d
for i:=1 to l do
//если индекс четный, присвоим элементу otr
//иначе присвоим среднее арифметическое
if i mod 2 = 0 then
d[i] := otr
else
d[i] := m/k;
end.
(1 + 0) - истинна, т.к. дизъюнкция истинна если хотя-бы одна из переменных истинна
(0 + 0) - ложна, т.к. обе перменные ложны
(1 + 0)*(0+0) - ложна, т.к. первая скобка истинна, а вторая ложна, а в конъюнкции для истины обе скобки должны быть истинны.
1*0 - ложна, т.к. в конъюнкции обе переменные должны быть истинны.
Для удобства разделил скобками
((1 + 0)*(0+0)) + (1*0) - ложна, т.к. первая (большая) скобка ложна, вторая скобка (1*0) тоже ложна, между ними дизъюнкция, то есть хотя-бы одна из них должна быть истинна. Они обе ложны, значит результатом выражения
(1 + 0)*(0+0) + 1*0
будет 0