Переменные:
общий вид:
var <имя переменной> : <тип переменной>;
1. В имени переменной не может быть пробелов
2. Имя переменной не может начинаться с цифры
3. Нижнее подчеркивание разрешено
Константы:
общий вид:
const <имя константы> = <значение>;
Для константы действуют те же правила, что и на переменные.
Программа:
Общий вид:
<процедуры>
<функции>
<константы>
<переменные>
begin
<тело программы>
end.
Этот порядок нарушать нельзя, но некоторые моменты можно пропустить
//Pascal ABC.NET v3.0 сборка 1111
begin
var d:=ReadlnString('Вас приветствует программа, которая может делить '+'два числа с остатком. Напишите, пожалуйста, свое имя');
Writeln('Здравствуйте, ',d,'!');
repeat
Writeln('Как нужно написать ответ?',#13#10,'1 вариант. 5: 3 = 1(ост.2)',#13#10,'2 вариант. 5 = 3*1 + 2',#13#10,'0 - завершить работу');
var c:char;
Repeat
c:=ReadlnChar('Введите 0, 1 или 2:');
case c of
'0': exit;
'1','2':break;
end;
until False;
var a,b:BigInteger;
if not BigInteger.TryParse(ReadlnString('Введите целочисленное делимое:'),a) then
begin
Writeln('Вы ввели неверное значение. Работа завершена');
Exit
end;
if not BigInteger.TryParse(ReadlnString('Введите целочисленный делитель:'),b) then
begin
Writeln('Вы ввели неверное значение. Работа завершена');
Exit
end;
if integer(b)=0 then
{приведение к типу Integer. Менее абстрактно, чем BigInteger}
begin
writeln('Вы ввели неверное значение.');
exit
end;
if c='1' then WritelnFormat('{0}:{1}={2}(ост.{3})',a,b,a div b,a mod b)
else
WritelnFormat('{0}={1}*{2}+{3}',a,b,a div b,a mod b);
var f:char;
Repeat
f:=ReadlnChar('Если вы хотите завершить работу, введите "0", если продолжить - любую букву.');
case f of
'0': exit;
else break;
end;
until False;
until False
end.
Все приложения обрабатывают информацию.
Ответ:
procedure recursiveprime(num:integer);
var
i:integer;
begin
{тупая проверка *числа* на простоту - пытаемся поделить на все числа от 2 до *числа*/2)
i:=2;
while i<(num div 2) and (num mod i <> 0) do inc(i)
if i=num div 2 then println(num,"- простое!');
if num<60 then recursiveprime(num+1);
end;
begin
recursiveprime(4);
end.
Объяснение:
ну как-то так.. паскаля под рукой нет, лет 7 назад последний раз трогал дельфи
рекурсивная процедура которая вызывает саму себя со следующим числом если переданое ему число меньше 60
проверка на простоту - пытаемся поделить на все числа от 2 до половины проверяемого числа и проверяем остатки.
надеюсь мысль понятна