Программа 1. program p1; var x:integer; begin write ('x='); read (x); if x>0 then writeln ('Число x положительное.'); if x=0 then writeln ('Число x нейтральное.'); if x<0 then writeln ('Число x отрицательное');end. Программа 2. program p2; var x,y,z,s:real; begin write ('x='); read (x); write ('y='); read (y); write ('z='); read (z); if x>0 then s:=s+x; if y>0 then s:=s+y; if z>0 then s:=s+z; if x+y+z<=0 then writeln ('Все числа отрицательные либо нейтральные. Операция невозможна.'); if x+y+z>0 then writeln ('s=', s); end.
1)
Function check7(a As Range) As Integer
Dim r As Range
Dim i As Integer
For Each r In a
i = i + 1 - Sgn((Abs(r) + 3) Mod 10)
Next
check7 = i
End Function
Excel VBA
2)
А что здесь программировать-то?
Задача сводится к с следующей: Дано два ящика и 7 мячиков. Сколькими можно разместить эти 7 мячиков в этих двух ящиках?
Бросаем все мячики в первый ящик (это первое размещение), затем перекладываем по одному мячика из первого ящика во второй.
Получаем варианты:
7|0
6|1
5|2
4|3
3|4
2|5
1|6
Итого 7 вариантов (варианта 0|7 быть не может, поскольку двузначное число с нуля не начинается).
В общем-то и без вычислений всем очевидно, что разместить 7 мячиков в двух ящиков ровно 7.
Что должна вычислять программа?
program p1;
var x:integer;
begin
write ('x=');
read (x);
if x>0 then
writeln ('Число x положительное.');
if x=0 then
writeln ('Число x нейтральное.');
if x<0 then
writeln ('Число x отрицательное');end.
Программа 2.
program p2;
var x,y,z,s:real;
begin
write ('x=');
read (x);
write ('y=');
read (y);
write ('z=');
read (z);
if x>0 then
s:=s+x;
if y>0 then
s:=s+y;
if z>0 then
s:=s+z;
if x+y+z<=0 then
writeln ('Все числа отрицательные либо нейтральные. Операция невозможна.');
if x+y+z>0 then
writeln ('s=', s);
end.