Новости раздела

  Добавлен материал по

  одному из заданий лабораторной

  работы по информатике.

Справка по Pascal

МГТУ им. Баумана

Искатель простых чисел на отрезке

На ввод программа получает числа A и B - границы отрезка. Надо найти все простые числа на данном отрезке.

Решение

program ProjectOne;
{$APPTYPE CONSOLE}
uses
SysUtils;
var A, B:real;
i,n:integer;
easy:Boolean;
begin
writeln('Enter your space'); readln(A,B);
//Проверка на правильность отрезка
if (A<=B) then
begin
//Проверяем каждое целое число отрезка
for i := Round(A) to Round(B) do
if ((i>=A) and (i<=B) and (i>0)) then
begin
easy:=true;
//Проверяем кратность числа всем числам до него.
for n:=2 to i-1 do
begin
easy:=not (i mod n=0);
if not easy then
Break;
end;
//Если оно простое, то оно выводится
if easy then
write(i,' ');
end;
end
//Если введённое значение A больше B
else
writeln('ERROR WRONG SPACE');
readln;
end.

Найти n-угольник по отклонению от периметра описанной окружности

На ввод программа получает радиус R описанной около n-угольника окружности и максимальное отклонение E периметра этого n-угольника от периметра окружности. Нужно найти минимальное число n.

Решение

program ProjectThree;
{$APPTYPE CONSOLE}
uses
SysUtils;
var R,E,Pr,Pn:extended;
n:integer;
begin
writeln('Enter R E'); readln(R,E);
Pr:=2*Pi*R-E;
n:=2;
repeat
n:=n+1;
Pn:=2*n*R*sin(Pi/n);
until (Pr<=Pn);
writeln('Minimun N is ',n);
readln;
end.
Задача "Калькулятор"

На ввод программа должна получить первое число, затем символ ('+','-','/','*','c','s'). Символ 'c' и 's' означают, что надо найти соответственно синус или косинус первого числа. В противном случае надо получить второе число и получить результат суммы/разности/деления/умножения первого числа на второе.

Решение

program EasyCalc;
{$APPTYPE CONSOLE}
uses SysUtils;
var c:char;
a,b:real;
begin
writeln('Enter:');
readln(a);
read(c);
if ((c='+') or (c='-') or (c='*') or (c='/')) then
readln(b);
case c of
'+':writeln(a:6:2,' + ',b:6:2,' = ',a+b:6:2);
'-':writeln(a:6:2,' - ',b:6:2,' = ',a-b:6:2);
'*':writeln(a:6:2,' * ',b:6:2,' = ',a*b:6:2);
'/':writeln(a:6:2,' / ',b:6:2,' = ',a/b:6:2);
's':writeln('sin( ',a:6:2,' ) = ',sin(a):6:2);
'c':writeln('cos( ',a:6:2,' ) = ',cos(a):6:2)
else
begin
writeln('ERROR wrong entering');
end;
readln;
end.
Задача "Площадь окружности и n-угольника"

На ввод программа должна получить числа n (кол-во углов правильного n-угольника) и R (Радиус описанной окружности). Надо сравнить площади n-угольника и окружности.

Решение

program SnSr;
{$APPTYPE CONSOLE}
uses SysUtils;
var R,Sn,Sr:real;
n:integer;
begin
write('Enter n and R please: ');readln(n,R);
//Проверка на верный ввод данных
if ((n>0) and (R>0)) then
begin
//Площадь окружности
Sr:=Pi*Sqr(R);
//Площадь n-угольника
Sn:=Sqr(R)*sin(Pi/n)*cos(Pi/n)*n;
//Выводит разницу между полощадями окружности и n-угольника
writeln('Sr - Sn= ',(Sr-Sr):6:2);
end
else
writeln('ERROR Wrong value');
readln;
end.
Ссылки на сторонние сайты: