Домашние задания: Информатика

Помогите Христа ради! Язык программирования паскаль! Нужно составить программы. Помогите, пожалуйста, а то меня убьют!

S13. Дан набор ненулевых целых чисел; признак его завершения — число 0. Вывести сумму всех положительных четных чисел из данного набора. Если требуемые числа в наборе отсутствуют, то вывести 0.
W15. Начальный вклад в банке равен 1000 руб. В конце каждого месяца размер вклада увеличивается на P процентов от имеющейся суммы (P — вещественное число, 0 < P < 25). Найти, через сколько месяцев размер вклада превысит 1100 руб, и вывести найденное количество месяцев K (целое число).
W16. Спортсмен-лыжник начал тренировки, пробежав в первый день А км. Каждый следующий день он увеличивал длину пробега на P процентов от пробега предыдущего дня (P — вещественное, 0 < P < 50). Найти, после какого дня пробег лыжника превысит В км, и вывести найденное количество дней K (целое).


Напишите хотя бы столько сколько сможете
Задача S13

var n, Sum : integer;
begin
Sum := 0;
repeat
Write (' Введите число : '); ReadLn (n);
if (n > 0) and (n mod 2 = 0) then Sum := Sum+n;
until n = 0;
WriteLn ( ' Сумма = ', Sum);
end.
АМ
Александр Малков
73 229
Лучший ответ
!!!kirill Pnomariv!!! Огромное спасибо! А другие решения задач есть?
В S13 не совсем понятно - что означает "дан набор" - типа вводится с клавиатуры или генерируется случайными числами?

Ладно, напишу и так, и так:

Итак, S13 1-ый вариант (числа вводятся вручную):
 Program S13; 
uses crt;
var a, sum: integer;
begin
clrscr;
sum:=0;
writeln ('Вводите с клавиатуры целые числа. После ввода каждого числа нажимайте клавишу Enter. Для завершения ввода набора чисел введите число 0.');
repeat
write ('Введите число: ');
readln (a);
if (a>0) and (a mod 2=0) then sum:=sum+a;
until a=0;
writeln ('Сумма положительных четных чисел из введенных составляет: ', sum);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
S13 2-ой вариант (числа генерируются автоматически):
 Program S13;  
uses crt;
var a, sum: integer;
begin
clrscr;
sum:=0;
writeln ('Были сгенерированы числа:');
repeat
randomize;
a:=random (101)-1;
writeln (a);
if (a>0) and (a mod 2=0) then sum:=sum+a;
until a=0;
writeln ('Сумма положительных четных чисел из сгенерированных составляет: ', sum);
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
W15:
 Program W15; 
uses crt;
const v=1000;
var k: integer;
p, s: real;
begin
clrscr;
writeln ('При вводе дробных значений целую часть от дробной отделяйте точкой, а не запятой.');
write ('Введите годовую %-ую ставку по вкладу (только число, не более 25) после чего нажмите клавишу Enter: ');
readln (p);
if p25 then writeln ('Ошибка: банк не может обеспечить такую ставку.') else
if p=0 then writeln ('Увы, при такой %-ой ставке сумма никогда не увеличится.') else begin
k:=0;
s:=v;
repeat
k:=k+1;
s:=s+(p/100)*s;
until s>1100;
writeln ('Размер вклада превысит 1100 рублей через ', k, ' месяцев.');
end;
write ('Программа завершена. Для выхода нажмите клавишу Enter.');
readkey;
end.
W16:
 Program W16; 
uses crt;
var a, b, p, r: real;
k: integer;
begin
clrscr;
writeln ('При вводе дробных значений целую часть от дробной отделяйте точкой, а не запятой.');
write ('Введите, сколько км пробежал лыжник за 1-ый день (только число), после чего нажмите клавишу Enter: ');
readln (a);
if a
Руслан Розиев
Руслан Розиев
43 559