Другие языки программирования и технологии

помогите разобраться в программе (Паскаль)

ВОПРОС ПРАВИЛЬНО ЛИ НАПИСАННЫ ПРОГИ УДОВЛЕТВОРЯЮТ ЛИ ОНИ УСЛОВИЯМ ЗАДАЧИ И ЕСЛИ НЕ СЛОЖНО РАЗЬЕСНИТЕ КААКОЙ ОПЕРАТОР ЧТО ДЕЛАЕТ? ?
13Из диапазона целых чисел m ...п выделить:
1) множество чисел, делящихся без остатка или на к, или на (к, I — про-стые) ;
2) множество чисел, делящихся на к и I без остатка
program p1;
uses crt;
var k,l,m,n,s:integer;
mas:array[1..100] of integer;
begin
write('k= ');
readln(k);
write('l= ');
readln(l);
write('m= ');
readln(m);
write('n= ');
readln(n);
for m:=m to n do
begin
if (m mod k=0) or (m mod l=0) then begin writeln(m);end;
end;
clrscr;
readln;
end.

program p2;
uses crt;
var k,l,m,n,s:integer;
mas:array[1..100] of integer;
begin
write('k= ');
readln(k);
write('l= ');
readln(l);
write('m= ');
readln(m);
write('n= ');
readln(n);
s:=k*l;
for m:=m to n do
begin
if (m mod s=0) and (m mod s=0) then begin writeln(m);end;
end;
clrscr;
readln;
end
вот первая, не понял, зачем массив немного исправил, а кто тебе писал эти проги, что это
for m:=m to n do
---------------------------------------------------
program p1;
uses crt;
var i, k,l,m,n,s:integer;
mas:array[1..100] of integer;
begin clrscr;
write('k= ');
readln(k);
write('l= ');
readln(l);
write('m= ');
readln(m);
write('n= ');
readln(n);
for i:=m to n do
begin
if (i mod k=0) or (i mod l=0) then
begin writeln('i= ',i);end;
end;
readln;
end.
Дмитрий Пономарев
Дмитрий Пономарев
95 932
Лучший ответ
program p2; - название программы
uses crt; - прикрепление библиотеки работающей с текстом и звуком
var k,l,m,n,s:integer; - описание переменных используемых в программе
mas:array[1..100] of integer; - задание массива и его типа
begin - начало программы
write('k= '); - вывод на экран сообщения заключённого между апостофами
readln(k); - запрос размера для переменной k и присвоение этой переменной вводимого с клавиатуры значения
write('l= '); - тоже для l
readln(l);
write('m= '); - тоже для m
readln(m);
write('n= '); - тоже для n
readln(n);
s:=k*l; - операция присваивания переменной s произведения k и l
for m:=m to n do - открытие цикла для m от m до n
begin - лишняя строка, так как для цикла используется один оператор (if...then)
if (m mod s=0) and (m mod s=0) then begin writeln(m);end; - проверка условия и в случает истинности вывод m
end; - лишняя строка (причина та же)
clrscr; - очистка экрана - стоит в неудобном месте, так как очистит экран сразу послевывода информации (просто не успеешь прочитать результат) , надо перенести на строку вниз.
readln; - правильно: readln() - пустой запрос для задержки программы до нажатия любой клавиши
end - окончание программы, надо поставить после точку, вот так: end.

В верхней программе ошибки и поправки те же.
Sergei !!!
Sergei !!!
6 933