Автор работы: Пользователь скрыл имя, 30 Сентября 2013 в 11:45, курсовая работа
Основным принципом модульного программирования является принцип "разделяй и властвуй". Модульное программирование - это организация программы как совокупности небольших независимых блоков, называемых модулями, структура и поведение которых подчиняются определенным правилам.
Заметим, что нужно различать использование слова "модуль", когда имеется в виду синтаксическая конструкция языков программирования (unit в Object Pascal), и когда имеется в виду единица дробления большой программы на отдельные блоки (которые могут быть реализованы и в виде процедур, и в виде функций).
1. Утвержденное техническое задание на работу 4
2. Введение 5
3. Технический и рабочий проект программной системы 8
4. Заключение 12
5. Список литературы 13
Приложение 1. Листинг программы. 14
implementation
var b_add: Integer;
Function ProstChislo(n:integer):
Var d,r:integer;
Begin
d:=2; r:=0;
If n>2 then
begin
Repeat
r:=n mod d;
If r<>0 then
inc(d);
Until r=0;
If d=n then result:=n
end
else result:=0
End;
procedure rb1p(var a,b:array of Integer; var n: Integer); {×èñëî Ìåðñåííà}
var i,m,step:Integer;
l:Extended;
begin
b_add:=0;
for i:=0 to n-1 do
begin
m:=a[i];
l:=0;
step:=0;
if ProstChislo(m)=m then
begin
m:=m+1;
repeat
step:=step+1;
l:=IntPower(2,step);
until m<=l;
end;
if m=l then
if ProstChislo(step)=step then b[i]:=a[i];
end;
end;
procedure rb2p(var a,b:array of Integer; var n: Integer); {Óäàëèòü âñå ÷èñëà ñ 5}
var i,k:Integer;
begin
for i:=0 to n-1 do
begin
if a[i]=0 then a[i]:=-1; {Ò.ê. ðàçðåøåíû çíà÷åíèÿ òîëüêî ðàâíûå è áîëüøå 0, èñïîëüçóåì çàìåíó.}
k:=pos('5',IntToStr(a[i]));
if k=0 then b[i]:=a[i]
end;
end;
procedure rb3p(var a:array of Integer; var n,k: Integer); {Ñäâèã íà k ýëåìåíòîâ âïðàâî}
var i,step,m:Integer;
begin
step:=0;
repeat
m:=a[n-1];
for i:=n-2 downto 0 do
begin
a[i+1]:=a[i];
end;
a[0]:=m;
inc(step);
until step=k;
end;
procedure rb4p(var a,b:array of Integer; var n: Integer); {Ñîðòèðîâêà}
var i,k,konec,nach:Integer;
begin
nach:=0;
k:=0;
konec:=0;
b[0]:=a[0];
for i:=1 to n-1 do
begin
if a[0]<a[i] then
begin
for k:=n-1 downto nach+1 do
begin
b[k]:=b[k-1]
end;
b[nach]:=a[i];
nach:=nach+1;
konec:=konec+1
end;
if a[0]>=a[i] then
begin
b[konec+1]:=a[i];
konec:=konec+1
end;
end;
end;
end.