Циклические программы

1) Написать программу, решающую квадратное уравнение — ax^2+bx+c=0

program z1;
var a,b,c,x,x1,x2,d:real;
begin
write(‘a=’);readln(a);
write(‘b=’);readln(b);
write(‘c=’);readln(c);
d:=b*b-4*a*c;
if d>0 then
begin
x1:=(-b+sqrt(d))/(2*a);
x2:=(-b-sqrt(d))/(2*a);
writeln(‘x1=’,x1,’ x2=’,x2);
end;
if d=0 then
begin
x:=-b/(2*a);
writeln(‘x=’,x);
end;
if d<0 then
writeln(‘нет реш’);
readln
end.

2) Нахождение суммы всех делителей данного натурального числа N.

program z2;
var n,s,i:integer;
begin
readln(n);
i:=1;
s:=0;
while i<=n do
begin
if (n mod i=0) then
s:=s+i;
i:=i+1;
end;
writeln(‘s=’,s);
readln
end.

3) Нахождение произведения целых чисел из промежутка [-8:14)

program z3;
var p,i:integer;
begin
i:=-8;
p:=1;
while (i>=-8) and (i<14) and (i<>0) do
begin
p:=p*i;
i:=i+1;
end;
writeln(‘p=’,p);
end.(Выводит p=40320)

4) Нахождение суммы всех трёхзначных чисел кратных 17.

program z4;
var s,i:integer;
begin
i:=100;
s:=0;
while (i>99) and (i<1000) do
begin
if (i mod 17=0) then
s:=s+i;
i:=i+1;
end;
writeln(‘s=’,s);
end.

program z4;
var s,i:integer;
begin
i:=100;
s:=0;
repeat
if (i mod 17=0) then
s:=s+i;
i:=i+1;
until i> 999;
writeln(‘s=’,s);
end.

program z4;
var s,i:integer;
begin
i:=100;
s:=0;
for i:=100 to 999 do
begin
if (i mod 17=0) then
s:=s+i;
end;
writeln(‘s=’,s);
end.

5) Вычислить y=x^n, n — натуральное число.

program z5;
var n,i,x,y:integer;
begin
write(‘x=’);readln(x);
write(‘n=’);readln(n);
i:=1;
y:=x;
while i<=n do
begin
y:=y*x;
i:=i+1;
end;
writeln(‘y=’,y/x);
end.

program z5;
var n,i,x,y:integer;
begin
write(‘x=’);readln(x);
write(‘n=’);readln(n);
i:=1;
y:=x;
repeat
y:=y*x;
i:=i+1;
until i>n;
writeln(‘y=’,y/x);
end.

program z5;
var n,i,x,y:integer;
begin
write(‘x=’);readln(x);
write(‘n=’);readln(n);
y:=x;
for i:=1 to n do
y:=y*x;
writeln(‘y=’,y/x);
end.

6) Определить количество разрядов вводимого целого числа, сумму и произведение его цифр.

var s,p,a,k:integer;
begin
writeln(‘vvedite a’);readln(a);
k:=0;
p:=1;
s:=0;
while a>0 do
begin
s:=s+a mod 10;
p:=p*(a mod 10);
a:=a div 10;
k:=k+1;
end;
writeln(‘количество разрядов=’,k,’сумма=’,s,’произведение=’,p);
end.

var s,p,a,k:integer;
begin
writeln(‘vvedite a’);readln(a);
k:=0;
p:=1;
s:=0;
repeat
s:=s+a mod 10;
p:=p*(a mod 10);
a:=a div 10;
k:=k+1;
until a=0;
writeln(‘количество разрядов=’,k,’сумма=’,s,’произведение=’,p);
end.

7) Написать программу, которая вычисляет факториал введенного с клавиатуры числа.

program z7;
var a,f:real;
k:integer;
begin
k:=0;
f:=1;
write(‘введите число: ‘);readln(a);
while k<a do
begin
k:=k+1;
f:=f*k;
end;
writeln(‘факториал ‘,a,’= ‘,f);
end.

8) 1.      Написать программу проверки знания таблицы умножения. Программа должна вывести 10 примеров и выставить оценку: за 10 правильных ответов — «отлично», за 9 и 8 —»хорошо», за 7 и 6 — «удовлетворительно», за 6 и менее — «плохо».

program lab3z4;
uses crt;
var a,b,i,d,k:longint;
Begin
i:=0;
k:=0;
clrscr;
randomize;
repeat
 a:=random(10);
 b:=random(10);
 write(a,’*’,b,’=’); read(d);
 if a*b=d
   then
    begin
      writeln(‘верно’);
      k:=k+1;
    end
   else writeln(‘неверно’);
 i:=i+1;
 writeln;
until i=10;
if k=10 then writeln(‘отлично’);
if (k=9) or (i=8) then writeln(‘хорошо’);
if (k=7) or (i=6) then writeln(‘удовлетворительно’);
if (k<6) then writeln(‘плохо’);
end.
9.   Вычислить S=1/2+1/3+1/4….1/n.
Результат представить в виде десятичной дроби.В паскале подробно.

var s:real;
n,k:integer;
begin
s:=0;k:=2;
write(‘Введите n= ‘);readln(n);write(‘s:=’);
while k<>n+1 do
begin
s:=s+1/k;
write(‘ + 1/’,k);
k:=k+1;
end;
writeln(‘ = ‘,s)
end.

Добавить комментарий