Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Laboratornye_raboty_Pascal.docx
Скачиваний:
14
Добавлен:
22.02.2015
Размер:
134.9 Кб
Скачать

Оглавление Лабораторная работа № 3. Циклы

Задание 1. Определите, что вычисляется в алгоритме. Составьте программу по данной блок-схеме.

Рис. 1. Цикл с параметром

Задание 2. Составьте программу для вычисления суммы ряда

1 + 1/3 + 1/5 + 1/7 + …

Program abc;

var s, t:real;

i,n:integer;

begin

write('введите n');

readln(n);

s:=0;

for i:=1 to n do

begin

t:=2*i-1;

s:=s+1/t;

end;

write('сумма равна ',s);

readln;

end.

Задание 3. Составьте программу для вычисления факториала

(n! = 1·2·3·…·n).

Program abc;

var n, i, k:real;

begin

write('введите n');

readln(n);

if n=0 then writeln('0!=1') else

if n<0 then writeln('факториал определён только для неотрицательных чисел') else

i:=0;

k:=1;

repeat

k:=k*(i+1);

i:=i+1;

until i=n;

write(n,'!=',k);

readln;

end.

Задание 4. Составьте программу, которая выводит на экран таблицу степеней двойки от 0 до 10.

program stepen;

var

i: integer;

begin

for i := 0 to 10 do

writeln('2^',i,' ',exp(ln(2)*i));

end.

Задание 5. Составьте программу, которая выводит на экран таблицу степеней для произвольного числа.

program stepen;

var

i,s,n,t: integer;

begin

writeln('введите число, начальную и конечную степени');

readln(s,t,n);

for i:=t to n do

writeln(s,'^',i,' ',exp(ln(s)*i));

end.

Задание 6. Определите, что вычисляется в программе.

Program Example5;

Uses Crt ;

Var n, m: integer ;

Begin

Clrscr;

Writeln ('Введитедвачисла');

Readln (n, m);

While m<>n do

Begin

if m > n then m:=m-n else n:=n-m;

End;

Writeln (m) ;

End.

Наибольший общий делитель

Задание 7. Определите, что вычисляется в программе, и составьте к ней блок-схему.

Program Example6;

Uses Crt ;

Var x, y: real ;

Begin

Clrscr;

x:= 1;

While x <= 10 do

Begin

y:= sqr(x) + 1;

Writeln(x:5:1, y:10:1);

x:= x+0.5;

End;

End.

Выводит число, на 1 большее квадрата x

Задание 8. Составьте программу, которая выводит таблицу значений функцииy= 2x2+ 3x– 9 в диапазоне от – 3 до 3 с шагом 0,5.

Рекомендуемый вид экрана:

---------------

Х|У

---------------

– 3 | 0

– 2,5 | – 4

– 2 | – 7

… | …

3 | 18

---------------

Доработайте программу, чтобы диапазон и шаг можно было вводить при запуске программы.

Program program;

var a,b,dx,y:real;

begin

repeat

writeln('Введите начало и конец диапазона:');

readln(a,b);

until a<=b;

writeln('Введите шаг: ');

readln(dx);

while a<=b do

begin

y:=4*a+3*a-9;

writeln(a:4:2,y:9:2);

a:=a+dx;

end;

end.

Задание 9. Составьте программу, в которой необходимо отгадать зашифрованное слово (например, КОБЯЛО). Пользователь вводит ответ до тех пор, пока не отгадает слово из этих букв. Как только введено правильное слово, программа завершается, и на экран выводится сообщение «Вы угадали сNпопытки!».

Program Example;

const a = 'КОРОВА';

const b = 'ОВКОРА';

Var c:string;

n:integer;

Begin

WriteLn(b,' Какое слово загадано?');

Repeat

ReadLn(c);

n:= n+1;

Until c=a;

WriteLn('Вы угадали c ',n,' попытки!');

End.

Задание 10.Составьте программу, которая находит все простые числа в диапазоне отAдоB.

uses crt;

var a,b,i,s,j:integer;

begin

write('Введите A=');

readln(a);

repeat

write('Введите B=');

readln(b);

until b>a;

writeln('Простые числа в диапазоне [',a,';',b,']');

for i:=a to b do

    begin

    s:=0;

    for j:=2 to i-1 do

        if i mod j=0 then inc(s);

    if (s=0) then write(i,'  ');

    end;

end.

Задание 11.Составьте программу, которая находит все совершенные числа в диапазоне отAдоB.

program primer11;

uses crt;

var s,n,i,A,B:integer;

begin

clrscr;

writeln ('Введите целые числа [A,B]: ');

readln (A,B);

for n:=A to B do

begin

s:=0;

for i:=1 to n do

if (n mod i=0) and (n>i) then begin s:=s+i;

end;

if ((n div i)=(n/i)) and (s=n) then

writeln('Совершенное число: ',n,' ');

read;

end;

readln;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]