Автор работы: Пользователь скрыл имя, 03 Января 2014 в 22:41, курсовая работа
Бағдарлама жазуда «алгоритм» ұғымы басты роль атқарады. Алгоритм – орындаушыға белгілі бір мақсатқа, нәтижеге жетуге арналып жазылған нұсқаулардың жүйеленген, әр қадамында бір әрекетті іске асыратын нұсқау оператор болып табылады. Команда бірнеше операторлар қоспасынан да тұруы мүмкін. Есептерді шығарғанда, алгоритм құрғанда белгілі бір ЭЕМ мен бағдарламалау тілінің мүмкіндіктерін ескеру керек. Бағдарлама бірнеше бөлімнен құралып жазылады: сипаттау бөлімі, процедуралар мен функциялар бөлімі, негізгі бөлім. Паскаль тіліндегі бағдарламада арнайы стандартты процедуралар қолданады. Процедура - аты бойынша қатынас құруға болатын операторлар тізбегі.Writeln процедурасы Паскальдың стандартты немесе тіркелген процедурасына жатады.
КІРІСПЕ 4
1 ЖАЛПЫ БӨЛІМ 6
1.1 Пәндік аумақты сипаттау 6
1.2 Бағдарламалау тілінің элементтеріне шолу 12
2 АРНАЙЫ БӨЛІМ 18
2.1 Тапсырманың жалпы қойылымы 18
2.2 Құрылымдық және функционалдық сұлбалар 19
2.3. Модульдерді, процедуралар мен функцияларды сипаттау 25
2.4 Идентификатор кестесі 29
ҚОРЫТЫНДЫ 31
ПАЙДАЛАНҒАН ӘДЕБИЕТТЕР ТІЗІМІ 32
ҚОСЫМША А 33
ҚОСЫМША Б 35
ҚОСЫМШ В 36
Бағдарламалық қамтамасыздандыру мінездемесі
Түрі |
Мінездеме |
Жалпы |
Операциялық жүйе: Microsoft Windows ХР, Office XP |
Арнайы |
Басқару панелі |
Техникалық қамтамасыздандыру мінездемесі
Техникалық құрал атауы |
Физикалық модуль |
Мінездеме |
ДЭЕМ–Intel Pentium 4 |
Аналық тақша Процессор ОЕСҚ Video card Монитор Пернетақта Тышқан |
ATX Pentium 4 Intel, 1800 MHz 256 Mb 64 Mb SVGA, 1280x1024 102 пернелік 2 батырмалық |
Принтер |
Принтер |
HP LaserJet 1200 |
Сканер |
Сканер |
HP Sсan Jet 3200 C |
3) Турбо Паскальда жұмыс жасау интеграцияланған сайманды қабықшаны (терезе) пайдаланудан басталады. Ол терезе менюлер жолы, жұмыс алаңы және көмекші ақпараттар жолынан тұрады. Менюлер жолын активтендіруді тышқанмен немесе Ғ10 пернесін басу арқылы іске асырамыз. Менюлер жолында Windows стандарты терезесіндегіге ұқсас мынадай менюлер аттары орналасқан: File, Edit, Search, Run, Compile, Debug, Options, Window, Help.
Жұмыс алаңы – ортаңғы үлкен төртбұрыш. Алғаш жұмыс алаңын (бет) ашқанда оның үстіңгі жағында NONAME00 (аты жоқ) деген файл аты автоматты түрде жазылып шығады.
Көмекші ақпараттар жолында мына мәліметтер жазылып тұр:
F1 Help F2 Save F3 Open Alt-F9 Compile F9 Make F10 Menu
Бұл командаларды орындай бастағанымызда, олар туралы түсініктер өзгеріп шығып отырады.
2) Өлшемді енгізгеннен кейін бағдарлама экранға белгілі заңдылық бойынша автоматты түрде толтырылған бастапқы матрицаны шығарады. Матрицада берілген аймақтардың алмасуын жүргізеді және экранға өзгертілген матрицаны шығарады. Бағдарлама бір өлшемді массивке(жол-массив) мәнді жазумен берілген траектория бойынша матрицада айналып өтуді жүргізеді. Алынған жол-массивті бағдарлама экранға шығарады, одан кейін өсуі және кемуі бойынша берілген массивке іріктеу жүргізеді, нәтижесін экранға шығарады.
Program matrix;
Uses crt;
var a:array[1..100,1..100] of real;
t,i,j,n:Integer; {Бүтін сан}
tmp:real; {Нақты сан}
b:array[1..100] of real;{бұл массив траектория элементімен толтырылады}
f:text;
{+----- Массив өлшемін енгізу -----------+}
Procedure Input;
begin
Write(' Матрица өлшемін енгізігіз ');Readln(n);
if n mod 2 = 0 then begin
Writeln(' Қате: өлшем жұп сан болуы керек ');
input;
end;
end;
{+----- Массивті толтыру-----------------+}
Procedure zapolnenie (var n:integer);
Function f(x:real):Real;
begin
f:=sqr(cos(x+6)); {Берілген функция }
end;
var x0,xk:real;
begin
x0:=-pi;
xk:=x0;
for i:=1 to n do
for j:=1 to n do begin
xk:=f(xk);
a[i,j]:=xk;
end;
end;
{+-----Массивті экранға және файлға шығару ----+}
Procedure Out(var n:Integer);
begin
append(f);
writeln(f);
for i:=1 to n do begin
for j:=1 to n do
if a[i,j]<0 then begin
write(f,a[i,j]:3:3,' ');
write(a[i,j]:3:3,' ');
end
else begin
write(f,' ',a[i,j]:3:3,' ');
write(' ',a[i,j]:3:3,' ');
end;
Writeln(f,' ');
writeln;
end;
Close(f);
end;
{+----- Көрсетілген аймақтар орын алмастыру ---+}
Procedure obmen(var n:integer);
Var p:Integer;
begin
p:=n div 4+1;
for i:=n div 4+1 to n div 2+1 do begin
p:=p-1;
for j:=(n div 2+1)+p to n-p do begin
tmp:=a[i,j];
a[i,j]:=a[i+(n div 2),j-(n div 2)];
a[i+(n div 2),j-(n div 2)]:=tmp;
end;
end;
end;
{+-----Берілген траектория бойынша айналып өту ------+}
Procedure Obhod (var n :integer);
begin
t:=1;
append(f);
writeln(f);
j:=n div 4;
for i:=n div 4+1 downto 1 do begin
j:=j+1;
b[t]:=a[i,j];
t:=t+1;
end;
for i:=2 to n div 4+1 do begin
j:=j+1;
b[t]:=a[i,j];
t:=t+1;
end;
for i:=n div 4 +2 to n div 2+1 do begin
j:=j-1;
b[t]:=a[i,j];
t:=t+1;
end;
for i:=n div 2 downto n div 4+2 do begin
j:=j-1;
b[t]:=a[i,j];
t:=t+1;
end;
Writeln(' Берілген траектория бойынша айналып өту :');
for i:=1 to t-1 do begin
write(f,b[i]:3:3,' ');
write(b[i]:3:3,' ');
end;
close(f);
end;
{+----- Өсу бойынша іріктеу ---------+}
Procedure vozr(var n:integer);
begin
append(f);
writeln(f);
writeln(f);
writeln(' Өсу бойынша іріктеу: ');
for i=1 to t-1 do
for j:=1 to t-1 do begin
if b[i]<b[j] then begin
tmp:=b[i];
b[i]:=b[j];
b[j]:=tmp;
end;
end;
for i:=1 to t-1 do begin
write(f,b[i]:3:3,' ');
write(b[i]:3:3,' ');
end;
close(f);
end;
{+----- Кему бойынша іріктеу ------------+}
Procedure Ubiv(var n:integer);
begin
append(f);
writeln(f);
writeln(f);
writeln('Кему бойынша іріктеу : ');
for i:=1 to t-1 do
for j:=1 to t-1 do begin
if b[i]>b[j] then begin
tmp:=b[i];
b[i]:=b[j];
b[j]:=tmp;
end;
end;
for i:=1 to t-1 do begin
write(f,b[i]:3:3,' ');
write(b[i]:3:3,' ');
end;
close(f);
end;
{+----- Максимум мен минимум табу ---+}
Procedure max_and_min (var n:integer);
var max,min:real;
p:integer;
begin
append(f);
writeln(f);
writeln(f);
writeln(f);
min:=a[1,1];
max:=a[1,1];
for i:=1 to n do
for j:=1 to n do
if (j<n div 2+1) and (i<n-i) then
if (j<n div 2+1) and ((i>n div 2+1) or (i<n-i)) then begin
if a[i,j]>max then max:=a[i,j];
if a[i,j]<min then min:=a[i,j];
end;
writeln('max=',max:3:3);
writeln('min=',min:3:3);
writeln(f,'max=',max:3:3);
writeln(f,'min=',min:3:3);
close(f);
end;
{+----- Бағдарламаның басы ------------------+}
begin
Clrscr;
assign(f,'text.txt');
rewrite(f);
input;
zapolnenie(n);
out(n); writeln;
obmen(n);
out(n); writeln;
obhod(n); writeln;
vozr(n); writeln;
ubiv(n); writeln;
max_and_min(n);
writeln;
Write('Шығу үшін Enter басыңыз');
readln; {Enter басуды күту}
end.
Бағдарламаны орындағаннан кейінгі нәтиже
Матрица өлшемін енгізіңіз: 3
0.922 0.645 0.875
0.689 0.844 0.717
0.823 0.735 0.809
0.922 0.689 0.844
0.000 0.823 0.735
0.875 0.717 0.000
Берілген траектория бойынша айналып өтуі:
0.922 0.000
Өсуі бойынша іріктеу:
0.000 0.922
Кемуі бойынша іріктеу:
0.922 0.000
max=0.922
min=0.922
Шығу үшін Enter басыңыз