На нашем сайте все еще популярен онлайн компилятор для выполнения кодов на Паскале не смотря на то, что есть альтернативные варианты простых языков программирования (тот же Python) для новичков. Посмотреть и воспользоваться онлайн компилятором pascal (fpc или gps) можно по ссылке: Паскаль онлайн. Но речь пойдет сегодня не о компиляторе, а о задачах, которые наши пользователи решают. К нашему удивлению, не смотря на то, что мы всегда стремились выкладывать на сайте коды сложных и интересных задач, экзотических алгоритмов, оказалось, что все намного примитивнее. И тех, кого интересуют такие алгоритмы совсем мало, а вот тех, кто решает задачи на Паскале начального уровня (это даже не задачи, а упражнения скорее) - большинство. Приведем несколько примеров таких задач для понимания общей картины. Кстати, задачи могут оказаться полезными многим. В большинстве случаев даже не будем записывать условия задач (они и так понятны), но иногда будем комментировать.
Пытаются находить странную сумму (почему бы 2-ку не вынести за скобки)
var s,n: integer;
begin
s := 2;
for n := 2 to 5 do
s := s + n*2;
writeln(s);
end.
Пытаются писать какую-то рекурсию:
program example;
procedure F(n: integer);
begin
if (n > 1) then
begin
write(n, ' ');
F(n-1);
F(n-2);
F(n-3);
end
end;
begin
F(5);
end.
Считают число чисел массива меньших чем заданное число:
Var k, m: integer;
Dat: array[1..10] of integer;
Begin
Dat[1] := 56; Dat[2] := 70;
Dat[3] := 20; Dat[4] := 41;
Dat[5] := 14; Dat[6] := 22;
Dat[7] := 30; Dat[8] := 12;
Dat[9] := 65; Dat[10] := 35;
m := 0;
for k := 1 to 10 do
if Dat[k] < 35 then
begin
m := m + 1;
end;
writeln(m);
End.
Очень любят наши пользователи находить сумму двух чисел (кстати, компилятор замечателен тем, кто поддерживает ввод данных):
program geg;
var
a: integer;
b: integer;
begin
writeln('Введите значения b : ');
read (b);
writeln('Введите значения a : ');
read (a);
writeln('Сумма a + b =', a+b);
end.
Изучают условные операторы, обвешавшись бегинами и эндами:
program Begli;
var
x,y: integer;
begin
writeln('ввести x');
readln(x);
if x>0
then
begin
y:=3*x*x*x+1;
end
else
if x=0
then
begin
y:=2*x*x*x*-2*x*x*x+1;
end;
else
begin
writeln('y=',y);
end.
Пишут код для какой-то лабы-2:
program laba2;
var x,y,z,min: real;
begin
writeln('vvedi x:');
readln(x);
writeln('vvedi y:');
readln(y);
writeln('vvedi z:');
readln(z);
if (x<>y) and (x<>z) and (y<>z) and (x+y+z<1) then
if (x<y) then x:=(y+z)/2 else y:=(x+z)/2 else
begin
x:=x/5;
y:=y/5;
z:=z/5;
end;
readln;
writeln(x);
writeln(y);
writeln(z);
end.
Находят площадь круга:
program Begli;
const
pi=3.14;
var
r,s:real;
begin
writeln('Введите радиус круга:');
readln(r);
S:=pi*r*r;
writeln('площадь круга=',s);
end.
Если эта публикация вызовет интерес, то мы продолжим эту серию простых типовых примерчиков, которые приходится решать нашим читателям.