Бағдарламалау тілдері. Модуль ұғымына шолу


Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 19 бет
Таңдаулыға:
Қазақстан Республикасының Білім және ғылым Министрлігі
РМҚК «Рымбек Байсеитов атындағы Семей қаржы-экономикалық колледжі»
Циклдық комиссия
КУРСТЫҚ ЖҰМЫС
Пәні :
Тақырыбы :
Дайындаған:
II\III қысқ. курс оқушысы
Тобы
Жетекшісі:
2009-2010 оқу жылы
Курс жұмысына рецензия
Тіркеу номері №
Оқушының аты-жөні
Курсы
Бөлім
Мамандығы пәнінен курс жұмысы
Курс жұмысының тақырыбы
Рецензиялаушы
1. Жұмыстың жетістіктерін талдау:
(мазмұнының тақырыбына сай келуі, ұсынылған әдебиеттердің, нормативтік материалдардыың пайдалану деңгейі, қаржы жүйесі органдарының жүйесі жұмыс тәжірибиесін есепке алу, мазмұндаудың логикасы мен деңгейі, әрбір сұрқтың ашуының сапасы, т. б. оңды жақтары)
2. Жұмыстың кемшіліктерін талдау: (тақырыптың ашылмаған немесе жеткілікті түлде толық айтылмаған мәселелерін атап өту, қателер тізімі, басқада кемшіліктерді көрсету)
3. Әдістемелік нұсқаулар мен кеңестер: (жекелеген обьектілерді, норматитік актілерді т. б. оқу керектігін айту, көрсетілген кемшіліктерді жоюға арнелған кеңестер, жұмысты қорғауға дайындық бойынша нұсқаулар беру, қандай мәселелерге назар аудару керек деген сияқты т. б. )
4. Қорытындылаңдар: (Жұмыстың қорытынды бағасы, жұмыс мазмұнының жазбаша жұмыстарға қойылатын талаптарға сай келуі, қысқаша қорытынды)
Рецнзиялаған оқытушы:
Мазмұны:
Кіріспе
I . Модуль ұғымына шолу
1. 1. Модуль ұғымы
1. 2. Модульдің құрылымы
1. 3. Модульдің элементтері
II. Бағдарламалау тілдері
2. 1. Бағдарлама алгоритмі
2. 2. Бағдарламаны тесттілеу
3. Мысалдар
Қорытынды
Қолданылған әдебиеттер тізімі
Қосымшалар
Кіріспе
Borland Pascal үлкен саннан құралған тұрақтыларға, мәліметтер типіне, айнымалыларға, процедураларға және функцияларға қатынауды қамтамасыз етеалады. Олардың ішіндегі кейбіреулері Borland Pascal үшін ерекше, ал кейбіреулері Windows немесе Dos орталары үшін қолданбалы есептерді программалауда ерекше. Олардың саны өте көп, дегенмен, өз программаңызда олардың бәрін бір мезетте аз қолданасыз. Сондықтан олар модульдер деп аталатын өзара байланысты топтарға бөлінген. Бұл жағдайда тек программаға қажетті модульдерді қолдануға болады.
1. Модуль ұғымына шолу
1. 1. Модуль ұғымы
Программалық модуль (Unit) тұрақтылар, мәліметтер типі, айнымалылар, процедуралар және функциялар жиынтығы болып табылады. Әр модуль Паскальдағы жекеленген программаға ұқсас: сіз программаңызды орындаңға жіберместен бұрын, оның шақырылатын және қажетті инициализацияны жүзеге асыратын негізгі денесі болуы мүмкін.
Қысқаша айтқанда модуль, программаға қоюға болатын және программаны жеке компилиаланатын бөлшектерге бөлуге болатын, сипаттамалар кітапханасы болып табылады.
1. 2. Модульдің құрылымы
Модуль құрамына кіретін, процедуралар және функциялар, мәліметтер типін және айнымалылар арасындағы тәсілдер жиынтығын қамтамасыз етеді. Бірақ та бұл тәсілдерді нақтылы жүзеге асыру интерфейс және жүзеге асыру (реализация) . Егер программа модуьді пайдаланса, модульдің барлық сипттамалары бұл программаға, оның өзінде анықталғандай ашық болады. Модуль құрылымы программа құрылымына ұқсас.
Модульдің ішіндегі барлық сипаттамалар бір-бірімен байланысты. Мысалығы, Strings модулі нөлдік белгімен аяқталатын жолдарды өңдейтін ішкі программаларға қажетті сипаттамалардан тұрады.
Сонымен қатар іщкі программалар сияқты, модульдер де стандартты және стандартты емес немесе қолданушының модулі, яғни, програмалаушылар өздері құрастыратын бола алады. Стандартты және стандартты емес модульдер құрылымы бірдей болғандықтан, олардың сипатталуы бірдей ережеде құрылған.
Модульдер программаға оның атын uses компилятор нұсқауында сипаттаудың көмегімен қосылады. Мысалы, былай сипатталғанда:
Uses Dos, Crt;
Аталған модульдердің құрамындағы барлық ішкі программалар, айнымалылар, типтер және тұрақтыларды программада қолдануға болады.
Модульдердің аттары оларды хабарлағанда үтірмен бөлінеді, ал соңғы модульден кейін үтірлі нүкте қойылады
System модулі барлық құралдар үшін, төменгі деңгейлі ішкі программаларды жүзеге асырады, мысалы: енгізу-шығу, жолдық айнымалылармен жұмыс, ауыспалы нүктемен жасалынатын операциялар және жадыны динамикалық бөлу.
System модулі Borland Pascal-дың барлық стандартты және құрылған процедураларынан және функцияларынан тұрады.
Стандартты Паскальдің бөлігі болмайтын және басқа модульдерде орналаспаған Borland Pascal-дың кез-келегн ішкі программасы System модулінің құрамында орналасқан.
System модулі программаға автоматты қосылады (үнсіз келісім бойынша) және оны Uses операторында көрсету қажетті емес.
Стандартты емес модульдерді пайдалану программаларды стандарттау мен құрылымдылығының деңгейін жоғарылатады, бұл программаларды өңдеуді жылдамдатады, олардың түсініктілігін және жетілдірудің қарапаймдылығын қамтамасыз етеді.
Мұндай кітапханада, мысалға, жиі пайдаланылатын массивтерді (енгізу процедуралары, матрицаларды шығару, массивтерді сорттау және т. б. ) өңдегендегі операцияларды сипаттағандай, бөлек программаға көп көңілді тек берліген есепке тән сұрақтарды шешуге бөледі, сондықтан стандартты және стандартты емес модульдерде іске асырылмайды.
Бұл тек программаны өңдеу уақытын қысқартып қана қоймай, оның көлемін де азайтады. Жоғарыда айтылғанда, программалар арнайы сегментте орналасады, оның көлемі компьютердің оперативті жадысын құрайтын басқа сегменттер сияқты 64 Кбайттан аса алмайд.
Әрине, бұл үшін оны үлкейтуге қажеттілік туады. Бұл мақсатқа жетуде модульдер бағаланбайтын қызмет көрсетеді.
Әр модуль бөлек сегментте орналасады, сондықтан модульдеррі және программалары бар барлық сегменттердің қосындысы, компьютердің оперативті жадысының көлемін ғана шектелген (640 Кбайт) .
Осындай алғы сөзден кейін, оқушының стандартты емес модульдерді пайдалануда пайдасы жайлы ешқандай күмәні жоқ екеніне сенімдіміз.
Оларды өңдеудің өнеріне үйренуде жеңе алмайтын алдымен модуьдің құрылымымен, оның бөлімдерінің міндеттімен және өңдеу технологиясымен танысайық.
1. 3. Модульдің элементтері
Модуль (unit) келесі бөліктерден тұрады:
- аты немесе тақырыбы (мысалы, unit Мy_Мodyl) ;
- интерфейс немесе хабарламалар бөлімі (Interfase) ;
- орындаушы бөлігі немесе іске асыру бөлімі (Implementation) ;
Бұнда көрсетілген модуль бөлімдерінің тізбегі міндетті болып табылады, дегенмен осы бөлімді құрайтын блоктар (немес тек денелері) жарым-жартылай немесе толығымен болмауы мүмкін (бұрынғыдай осындай элементтерді сипаттағанда тік жақшалар пайдаланылады) .
Модуль интерфейсі
Interface {бұл бөлімнің Uses-тен басқа барлық объектілері, мәліметтер сегментінде орналасады}
[Uses … {Берілген модуль пайдаланатын, модульдердің ататры түгенделеді}]
[Cons … {Осы модуль қосқан программаға немесе басқа модульдерге, рұқсат етілуі тиіс тұрақтылар сипатталады}]
[Var … {Программада көрінетін немесе басқа модульдерде қолданатын айнымалылар сипатталады}]
[Procedure…{Формальды параметрлер сипаттамасымен толық процедураның атауы келтіріледі}]
…{Осы моудьді іске қосқан программа немесе басқа модуьдерден қол жеткізе алатын барлық басқа процедуралар мен модульдер функцияларының толық тақырыптары сипатталады}
Модульдің орындаушы бөлігі
[Uses … {Берілген орындау бөлігінде пайдаланылған және интерфейс көрсетілмеген модуьдер атауы көрсетіледу}]
[Lаbel… {Берілген модуль бөліміндегі, ішкі программаларда пайдаланылған таңбалар аттары көрсетіледі}]
[Сonst… {Берілген модуль бөліміндегі ішкі программаларда пайдаланылған және интерфейс аталмаған тұрақтылар сипатталады}]
[Var … {Берілген модуль бөліміндегі ішкі программаларда пайдаланылған және интерфейсте аталмаған айнымалылар сиптталады}]
[Procedure…{Interface-те сипатталған процедураның қысқаша немесе толық аты келтіріледі}]
{Процедура денесі}
[Function{Interface-те сипатталған функцияның қысқаша немесе толық аты келтіріледі}]
{Функция денесі}
Модульдің берілген бөлімнің ішкі программаларында пайдаланылатын және интерфейсте сипатталмаған типтер мен айнымалылар сипатталуы мүмкін, онда пайдаланылатын, жергілікті таңбалар тізімі болуы мүмкін. Implementation бөлімінде сонымен қатар, интерфейсте сипатталған процедуралар мен функциялардың жұмысына қатынасушы, бірақ өздері онда сипатталмаған іщкі программалар сипатталуы мүмкін.
Программада қосушы модуль олар ашуға болмайтын программаларға жатады (олар программада көрінбейді) .
Бұл бөлімде сипатталған модульдер, таңбалар, тұрақтылар, типтер және айнымалылар программа үшін жабық. Бұл объектілерде барлығы, соns-дан басқасы стек сегментінде орналасқан. Тұрақтылар мәні мәліметтер сегментінде болады бірақ та олар көрінбейді.
Модуль келесідей болады.
{$N+}
unit hyp_fun;
interface
type
Float = Extended;
function sinh(x: Float) : Float;
function cosh(x: Float) : Float;
function tanh(x: float) : Float;
implementation
var
t: Float;
function sinh(x: Float) : Float;
begin
t := Exp(x) ;
sinh := 0. 5*(t - 1. 0/t) ;
end;
function cosh(x: Float) : Float;
begin
t := Exp(x) ;
cosh := 0. 5*(t + 1. 0/t) ;
end;
function tanh(x: Float) : Float;
begin
t := Exp(2. 0*x) ;
tanh := (t - 1. 0) / (t + 1. 0) ;
end;
end.
II . Бағдарламалау тілдері
2. 1. Бағдарлама алгоритмі
Бағарламаның мақсаты - (-0, 1) 1, 0 дейінгі интервалында матрица элементтерін қалыптастыру.
Бағдарламаның жазылуы
PROCEDURE FORM
PROCEDURE VIVOD
PROCEDURE PR
FUNCTION MAX
Негізгі бағдарламаның модулі
unit kurp1;
interface
const n=5;
type matr=array[1. . n, 1. . n] of real;
vect=array[1. . n] of real;
procedure form(var a:matr) ;
procedure vivod (var a:matr) ;
function max(c:vect) :real;
procedure pr(a:matr; var c:vect) ;
implementation
procedure vivod (var a:matr) ;
var i, j:integer;
begin
for i:=1 to n do
begin
for j:=1 to n do
write (a[i, j] :6:2) ;
writeln;
end;
writeln;
end;
procedure form(var a:matr) ;
var i, j:integer;
begin
randomize;
for i:=1 to n do
for j:=1 to n do
a[i, j] :=random*2-1;
end;
function max( c:vect) :real;
var i:integer;
m:real;
begin
m:=-2;
for i:=1 to n do
if c[i] >m then m:=c[i] ;
max:=m
end;
procedure pr(a:matr; var c:vect) ;
var i, j:integer;
begin
c[i] :=1;
for i:=1 to n do
begin
for j:=1 to n do
c[i] :=a[j, i] *c[i] ;
writeln
end;
writeln;
end;
end.
Негізгі бағдарламасының жазылуы
program kursovik;
uses crt, kurp1;
var a:matr;
c:vect;
begin
clrscr;
window (45, 2, 75, 7) ;
writeln
writeln
writeln
window(1, 1, 80, 25) ;
writeln
window(10, 8, 80, 20) ;
writeln
writeln
writeln
writeln
writeln
window(1, 1, 80, 25) ;
gotoxy(10, 24) ;
writeln('Жалғастыру үшін пробел басыңыз') ;
clrscr;
form(a) ;
writeln('Қалыптасқан матрица) ;
vivod(a) ;
pr(a, c) ;
writeln('Максималды өнімділігі =', max(c) :6:4) ;
readln;
end.
Бағдарламаның блок-сызбасы 1 қосымшада берілген.
2. 2. Бағдарламаны тесттілеу
Қалыптасқан матрица
-0. 68 0. 22 0. 58 -0. 62 -0. 14
0. 25 -0. 11 -0. 90 0. 41 -0. 57
0. 24 -0. 69 -0. 84 0. 28 0. 71
-0. 46 -0. 26 0. 16 0. 49 -0. 73
0. 60 0. 17 0. 28 -0. 77 -0. 61
1 жолы =0. 0112
2 жолы =-0. 0007
3 жолы =0. 0187
4 жолы =0. 0264
5 жолы =0. 0243
Максималды өнімі =0. 0264
3. Мысалдар
func1 модулінің мысалы
{$N+}
unit func1;
interface
type
float = Extended;
const
Infinity = 1. 0E+4932;
function Tan(x : float) : float;
function ArcSin(x : float) : float;
function ArcCos(x : float) : float;
function Degrees_to_Radians(Degrees : float) : float;
function Radians_to_Degrees(Radians : float) : float;
function Sinh(x : float) : float;
function Cosh(x : float) : float;
function Tanh(x : float) : float;
function Log10(x : float) : float;
function Power(x, Exponent : float) : float;
implementation
const
Radians_Per_Degree = Pi / 180;
Degrees_Per_Radian = 180 / Pi;
Ln10 = 2. 3025850930;
MaxValue = 88. 029619;
function Tan(x : float) : Float;
var
Consine, Tangent : float;
begin
Consine := Cos(x) ;
if Cosine := 0. 0 then
if Sin(x) >=0 then
Tan := Infinity
else
Tan := -Infinity
else
begin
Tangent := Sin(x) / Cosine;
if Tangent > Infinity then
Tan := Infinity
else
if Tangent < -Infinity then
Tan := -Infinity
else
Tan := Tangent;
end;
end;
function ArcSin(x : float) : float;
begin
if Abs(x) = 1. 0 then
ArcSin := Pi / 2. 0
else
ArcSin := ArcTan(x / Sqrt(1 - x * x) ) ;
end;
function ArcCos(x : float) : float;
var
Result : float;
begin
if x = 0. 0 then
ArcCos := Pi / 2. 0
else
begin
Result := ArcTan(sqrt(1 - x * x) / x) ;
if x < 0. 0 then
ArcCos := Result + Pi
else
ArcCos := Result;
end;
end;
function Degrees_to_Radians(Degrees : float) : float;
begin
Degrees_to_Radians := Degrees * Radians_Per_Degree;
end;
function Radians_to_Degrees(Radians : float) : float;
begin
Radians_to_Degrees := Radians * Degrees_Per_Radian;
end;
function Sinh(x : float) : float;
var
t : float;
begin
if x > MaxValue then
Sinh := Ifinity
else
if x < -MaxValue then
Sinh := -Infinity
else
begin
t := Exp(x) ;
Sinh := 0. 5 * (t - 1 / t) ;
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

Ақпарат
Қосымша
Email: info@stud.kz