На нашем сайте все еще популярен онлайн компилятор для выполнения кодов на Паскале не смотря на то, что есть альтернативные варианты простых языков программирования (тот же 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.
Если эта публикация вызовет интерес, то мы продолжим эту серию простых типовых примерчиков, которые приходится решать нашим читателям.


2019-06-08 • Просмотров [ 66 ]