Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
000161_03_006_Kafedra_IT-Lektsii_po_distsipline....doc
Скачиваний:
15
Добавлен:
20.04.2019
Размер:
717.31 Кб
Скачать

Лекция 9 Простые циклические программы. Циклические программы со счетчиком циклов. Циклические программы с разветвлением внутри цикла.

Пример 4.

Написать программу вычисления факториала n! (рис.3)

Программа:

program factorial;

uses CRT; // для вывода в отдельном окне

var

n,i: integer;

F: real;

begin

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

readln(n);

F:=1;

for i:=2 to n do F:=F*i;

writeLn(n,'! = ',F);

end.

Найти максимальный и минимальный элемент массива и поменять их местами. Массив заполнить N числами от 1 до 100

Блок-схема алгоритма в рис.7.

Программа:

program p8;

uses CRT;

var

n,i,max,imax,min,imin,x: integer;

a: array [1..100] of integer;

begin

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

readln(n);

for i:=1 to n do

begin

a[i]:=Random(100)+1; // 1..100

write(a[i]:4);

end;

imax:=1; max:=a[1];

imin:=1; min:=a[1];

for i:=2 to n do

begin

if max<a[i] then

begin

x:=a[i];

a[i]:=max;

max:=x;

imax:=i;

end;

if min>a[i] then

begin

x:=a[i];

a[i]:=min;

min:=x;

imin:=i;

end;

end;

writeLn();

writeLn('max = ',max,' в ячейке ',imax);

writeLn('min = ',min,' в ячейке ',imin);

x:=a[imax]; a[imax]:=a[imin]; a[imin]:=x;

x:=imax; imax:=imin; imin:=x;

writeLn();

writeLn('После обмена:');

writeLn('max = ',max,' в ячейке ',imax);

writeLn('min = ',min,' в ячейке ',imin);

end.

Л екция 10 Циклические программы на накопление, вычисление сумм и произведения рядов;

Пример 5.

Найти сумму N членов ряда S=1-2+4-8+16-32+…

(рис.4)

Программа:

program p5;

uses CRT; // для вывода в отдельном окне

v ar

n,i,x,S: integer;

begin

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

readln(n);

x:=1; S:=0;

for i:=1 to n do

begin

S:=S+x;

x:=-2*x;

end;

writeLn('Сумма ряда = ',S);

end.

Этот же пример с использованием оператора цикла while:

(на рис. 4-1 приведена замена средней части блок-схемы)

program p5;

uses CRT; // для вывода в отдельном окне

var

n,x,i,S: integer;

begin

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

readln(n);

x:=1; S:=0; i:=1;

while i<=n do

begin

S:=S+x;

x:=-2*x;

i:=i+1; // или Inc(i);

end;

writeLn('Сумма ряда = ',S);

end.

Лекция 11 п рограммы по работе с массивами данных.

Пример 7.

Заполнить N ячеек массива a случайными числами в интервале от 5 до 10 и вычислить сумму квадратов этих ячеек.

Блок-схема алгоритма в рис.6.

Программа:

program p7;

uses CRT; // для вывода в отдельном окне

var

n,i,S: integer;

a: array [1..100] of integer;

begin

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

readln(n);

S:=0;

for i:=1 to n do

begin

a[i]:=Random(6)+5;

S:=S+sqr(a[i]);

write(a[i]:3);

end;

writeLn();

writeLn('Сумма = ',S);

end.

Ввод n

Начало

стр. 45 из 63