Құрылымдық диаграмма бағдарламасы


Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 21 бет
Таңдаулыға:
Мазмұны
- Кіріспе . . .
- Жалпы бөлім . . .
1. 1 Құрылымдық диаграмма туралы түсінік.
1. 2 Құрылымдық диаграмманың сипаталуы.
1. 3 Алгоритм көрсетудін ерекшеліктері және тәсілдері.
1. 4 Паскаль тілі.
1. 5 Паскаль тілінің элементері.
- Іс тәжірбиелік жұмыс . . .
2. 1 Есептің математикалық түрде берілуі.
2. 2 Блок схема.
2. 3 Қолданылған процедуралар, функциялар және модульдер.
- Қорытынды . . .
- Қолданылатын әдебиеттердің тізімі . . .
Кіріспе.
Есептеу қажеттілігі адамзаттқа әлдеқашан пайда болады. Ал, өркениет дамыған сайын есептеу қажеттілігі арта түсіп, есептеудің механикаландыру жолдарын іздеуге мәжбүр етті. Қарапайым есеп шотты немесе абактың арифметикалық машинаның ерекшелігі, белгілі бір осьтің немесе доңғалақтың сол осьте тұрған орны мен орналасуына тәуелді болды. Осындай алғашқы машинаның бірін 1642 жылы француз ғалымы Блез Паскаль жасаған болатын. Арифметикалық операцияларды орындау үшін паскаль бір - бірімен байланысқан дөңгелектің айналуын пайдаланады. Дөңгелектерге 0 ден 9-ға дейінгі сандар жазылады, әр дөңгелек толық бір айналғанда екінші дөңгелек 1 санға жылжитын болады. Машина қосып және шегере алады.
Паскаль машинасы жаңа принципте жасалған алғашқылардың бірі болады.
Паскаль еңбектері есептеуіш техниканың дамуына ықпалын жасап осы машина негізінде көптеген есептейтін машиналар жасап шығарылды.
1694 жылы Лейбниц әлемдегі алғашқы арифметикалық әрекеттердің төртеуін орындауға арналған арифмометр жасады. Осы негізде 1820 жылы Томас арифмометрі жасалған болатын.
Бірақ механикалық арифмометрлер мүмкіншіліктері адамзатты қанағаттандыра алмады. Есептеу техникасын механика емес электромеханика негізінде жасауды мәжбүр етті.
1840 жылдары ағылшын математигі Чарльз Бэббидж жан жақты есептеуші құрал ойлап табуға тырысты. Ең бірінші болып компьютердің арнайы программамен басқарылып және оны сақтайтын жады болуы керек екенін ойлап тапты. Бірақ сол заманның техникасының дамуы әлсіз болғандықтан құрауға шамасы келмеді. 1820 жылы 1856 жылдары бірнеше арифметикалық әрекеттерге қабілетті - “аналитикалық машинаны” ойлап тапты.
ХІХ ғасыр соңында Америкада Холлерит Герман перфокарталар арқылы деректер енгізуге болатын есептеу перфорация машинасын жасады. Ол фирма атақты есептеуіш техника шығаратын ІВМ фирмасының негізі болып табылады.
ХХ - ғасырдың 30-шы жылдары электромагниттік реле негізінде перфокарталармен операция жасаушы есептеуіш машиналарға арналған логикалық схемалар жасай бастады. Бұл машиналар күрделі арифметикалық әрекеттерді орындай алады.
Екінші дүниежүзілік соғыс электрондық техниканың дамуын жылдамдатты.
1943 жылы Говард Эйкен ІВМ фирмасында Марк-1 деген компьютерді электромагниттік реле негізінде жасап шығарды. Бірақ ол өте баяу істеп, жылдам бұзылатын болды. 1943 жылы Джон Мочли және Преспера Экерта электрондық лампаның негізінде ENIAC компьютерін құрады. Бұл алдынғы “Марк-1” компьютерінен әлде қайда жылдам істейтін болады. Бір кемшілігі істегеннен бұрын іске қосылуы ұзақ болды. Өйткені, әр тетіктерін бағдарламаға сәйкес керекті сыммен жалғап болғанша көп уақытты алған. Ал қосылғаннан кейін есептеу жұмысының айналасы бір минутта немесе бірер секундта - ақ шешіп беріп отырған. Осыдан кейін компьютерге жеңіл және жылдам енгізу үшін Мочли мен Экерта, программаны жадында сақтай алатын жаңа тәсілін құрастыра бастады. 1945 жылы бұл жаңа бастамаға атақты математик Джон фон Нейман қосылып, осы компьютер жайында баяндама жасап, оны бүкіл әлемге паш етті. Бұл баяндамада компьютердің жұмыс істеуінің жалпы принциптері анық көрсетілген. Өңделетін деректер мен есептеу программасы сандық түрде машина жадында сақталуы керек деген тың ой айтылды.
40-50 жылдары құралған компьютердің бәрі электрондық лампадан тұрады. Сондықтан компьютерлер өте көлемді, біреуінің өзі үлкен залды алатын болды, әрі электрондық лампадан тұратындықтан олар жиі жанып кете берді.
Енді 1948 жылы кішігірім транзисторлар ойлап табылды.
1968 жылы Burroughs фирмасы интегралдық схемамен алғашқы компьютер шығарды. Ал, 1970 жылы Intel фирмасы интегралдық схеманы жадымен сата бастады. Сол жылы Intel фирмасынан үлкен компьютерден орталық процесорына ұқсас интегралдық схема жасады. Сөйтіп, алғашқы 3 см-лі Intel -4004 микропроцессор дүниеге келді. 1974 жылы Intel -8008 атты 8 битті микропроцессорлы компьютер жарық көрді. Міне осы кезден бастап жаңа дәуірдегі компьютерлердің алғашқылары өріс алды деуге болады. 1975 жылы Intel-8080 процессоры негізінде жасалған Альтаир -8800 дербес компьютерлер сатыла бастады. Бұл компьютерлерге қосып монитор мен клавиатура жеке сатыла бастады. Осы жылдың аяғында Пол Аллен мен Билл Гейтс осы компьютерге Бейсик тілінің интерпретаторын ойлап тапты. Альтаир -8800 компьютерін халық көптеп сатып ала бастаған соң көптеп фирмалар осы сияқты компьютерлер шығара бастады. 1970 жылдардың аяғында үлкен компьютерлер шығаратын ІВМ фирмасының компьютерлеріне сұраныс азайғаны байқалады. Сондықтан 1979 жылы ІВМ фирмасы Intel фирмасының жаңа 8088 процессоры негізінде компьютер құрастыруға кірісті.
1981 жылы ІВМ РС 16 разрядтық жедел жады 1 МБайт компьютер шығарып бір екі жылдың ішінде 8 разрядтық компьютерлерді артқа тастап алдыңғы қатарға шықты. ІВМ фирмасы өзінің компьютерін ашық архитектуралық деп атады. Жаңа принципте шығарып, компьютер әртүрлі фирмалар шығарған блоктардан құрастырылатын етіп жасады.
Жалпы бөлім.
Тапсырма аты
Диаграмма
Бағдарлама аты-Diagram .
Турбо Паскаль бағдарлама жүйесі.
IBM PC AT/286 және жоғары-компьютер.
Сипаттау.
Оң жылдан астам жұмыс істеп отырған фирманың табысын динамикасын көрсететін және өзгертетін диаграмманы бағдарлама түрінде өңдеу. Берілген мысал есептелетін мысал болмағандықтан оған математикалық модель құру талап етілмейді
Кірілетін шамалар.
1. Тұрғызылатын диаграмма жыл сандары 10-нан аспауы керек.
2. Бірінші жылға еңгізілетін деректер.
3. Табыс бірліктің көлемі.
4. Барлық еңгізілетін шамалар бағдарламаның сұранысына байланысты қойылады.
Шығарылатын шамалар .
1. Диаграмма аты.
2. Щеңбер диаграмма. Диаграмма құратын шеңбердін максималды табысқа қатысты диаграмма секторы “қиылуы” және “жылжуы” керек. Диаграмма секторы
әр түрлі боялуы керек, диаграмма осы түстерге сәйкес пиктограмма орналасуы тиіс, табыс көлемі процентпен беріліп секторлардағы шамалар түсімен сәйкес болуы керек.
3. Бағдарламаны көрсетілген түзетуін аяқтаймыз.
Қателер .
1. Сан, жыл мәндерін енгізген кезде енгізілген мәнге сәйкес бақылау қойылуы керек, және сол бақылау жыл, сан типтеріне сәйкестендіру қажет. Әрбір қатеге диагностика жасағанда дыбыс шығарып, енгізуді қайталау керек.
2. Табыс көлемін қате енгізген кезде, барлық жылға деректерді ендіріп болғаннан кейін қайтадан енгізу қажет.
3. Бір жыл мәнін енгізген кезде табыс көлемі хабарлаған айнымалының типіне сәйкестігін тексеретін бақылау қарастыру керек. Қате табылған жағдайда дыбыс шығарып, енгізуді қайталау қажет.
Құрылымдық диаграмма .
Бағдарламаның құрылымдық диаграммасы 6. 2 суретте келтірілген, ол деңгейден тұрады. Бірінші деңгей өнегізгі модуль (табыс) . Екінші деңгейі он үш модульден құралған. Екінші деңгейдің барлық модульдері белгілі бір қосымша мысалдарды шығарып, одан әрі оларды талдауды талап етпейді. Диаграмма деректерінің ағымдарын құрмауға да болады, себебі деректерді еңдіру және оларды өңдеу негізгі бағдарлама модулінің тізбектелген шақыруына байланысты орындалады.
\
6. 2-сурет Бағдарламаның құрылымдық диаграммасы. Diagramm
Диаграммадағы стандартты процедуралар, олар курсивпен белгіленіп, стандартты процедуралар кітапханасынан алынған.
Берілген тізімде, бағдарлама модуль аттары мен оларды орындайтын процедуралар аттары арасындағы сәйкестілік берілген уникальды процедуралардың функцианалды тағайындалуы, оның стандарты еместігі, сол процедуралардың тақырыбында хабарланған.
Мысалға келтіреміз, проектілген бағдарлама тілінде көрсетілген.
“Диаграмма құру” модулі
Диаграмма құру процедурасы
Басты_ сектор орнаттық=0
Нөмір_ секторы үшін 1-ден процедура _санына дейін
Сектордың_ түсін орнаттық
Cектор_нөмірін бірдей толтыратын стилін орнатамыз
Егер сектор _нөмірі фонның тусіне ұқсайтын болса(7)
Ендеше сектор _түсін бірдей орнаттық 12
Егер соңы
Аяғында _бұрыш _секторын шығарып аламыз
Бұрыш _секторын есте сақтаймыз
Егер сектор _нөмірі тең сектор _нөмірі _максималды _табыс
Ендеше орташа бұрыш _секторын шығарамыз
X және Y координтасын есептедік
Сектор орталығы _максималды _табыс
Секторды саламыз
Әлдеқалай секторды салдық
Егер соңы
Тік бұроышты диаграмманы саламыз
Пиктограммадан оңға қарай жыл саның бастырып аламыз
Егрде процент мағынасы 10 кіші болса
Ендеше оңға қарай жылжытып табыс _процентін бастырамыз 9пикселге
Әлдеқалай табыс_процентін бастырдық
Егер соңы
Символ процентін бастырдық
Соңы үшін
Процедураның соңы
Қолданушыға нұсқаулар
1. Diagram. exe және egavga. bgi бағдарламасы жазылған дискіні А дисковадқа саламыз
2. Dos шақырғанан кейін а:diagram бұйрығын енгіземіз
3. <Enter> пернесін басыңыз
4. Экранда бағдарламалық комплекс туралы ақпарат пайда болған кезде кез келген пернені басыныз
5. Экранда енгізілетін деректерді енгізуінізді сұрайтын сұраныс пайда болады сүйене отырып енгізілетін деректердіенгізіңіз
6. Деректерді ендіріп болғаннан кейін, Қандайда бір жылға деректерді өзгерту туралы сұраныс болса, қайтадан енгізу кезінде Y(және у ) деп жауап беріп содан кейінсұралған мәліметті енгіземіз. Қайтадан ендіру аяқталғаннан кейін экранда пайда болған N(және n) сұранысына жауап беріңіз.
7. Бағдарлама комплексін, жұмысын аяқтау үшін кез келген батырманы басу керек.
Құрылымдық диаграмманың бағдарламалық комплексі.
Құрылымдық диаграмманың бағдарламалық комплексі Triangl 6. 1-суретінде көрсетілген . Диаграммадан бағдарлама төрт модуль қадамын қолданады.
Бірінші қадам- модульді атқарушы (Triangl) . Екінші қадам төрт модульді қосады:Menu, Informftion, Epsilon және Resalt. Үшінші қадам 17 қосады, ал төртінші-9модуль .
Бағдарламалық модуль қадамы.
I II III IV
Menu(inc) Frame(inc) Signal(inc)
Frame(inc)
Information(inc) Wait(inc) SetNoCursor(inc)
SetNornalCursor(inc)
Frane(inc)
Epsilon Signal(inc) Sigbal(inc)
Error_e Wait (inc)
SetNoCursor(inc)
SetNornalCursor(inc)
Frame(inc)
Signal(inc)
Wait(inc)
Resalt SetNoCursor(inc)
SetNornalCursor(inc)
TypeTriangl VvodData(inc)
WriteType Frame(inc)
Vvod Wait(inc)
SetNoCursor(inc)
SetNormalCursor
6. 1-суреті Құрылымдық диаграмма бағдарламасы.
Diagramm бағдарламалық комплексінің жұмысының мысалы .
Diagramm бағдарламалық комплексінің жұмысының мысалы 6. 3-суретінде келтірілген. Диаграмманың есебітеулері келесі мәндерге жүргізіледі(бірліктер табысы)
1985-1
1986-2
1987-3
1988-2
1989-1
Алгоритмді көрсетудің негізгі ерекшеліктері мен тәсілдері.
Алгоритм - операциялардың құрамы мен олардың орындалу тізбегін белгілейтін міндеттерді шешудің тәсілін дәл суреттеу.
Кез - келген алгоритм мынадай өзгешеліктерге ие болу керек:
• Бір ғана бастапқы деректерді көп мәрте есептеуден алынатын нәтижелердің қайталанбалығы (қайталанғыштығы) .
• Нәтижелігі - бірқатар нәтижелерді міндетті түрде, алу (сан, кесте, мәтін, дыбыс, кескін және т. б. ) немесе осы алгоритмнің алға қойылған міндеттерді шешудегі жарамсыздығы туралы сигнал.
• Көпке бірдейлік (массивностью) - жиынтық міндеттердің бірқатар тобы үшін әр түрлі бастапқы деректерден нәтижелерді алу мүмкіндігі.
• Дискреттілік - алгоримтді жекелеген қарапайым әрекеттерге бөлу мүмкіндігі.
Алгоритмді көрсетудің негізгі мынадай формалары бар:
• сөз (текстік) ;
• графикалық;
• бағдарламалау тілінде.
Есептеу кезеңі төртбұрышпен бейнеленеді, оның ішінде осы кезеңнің мазмұны жазылады. Жағдайды тексеру ромбамен бейнеленеді. Бастапқы деректерді енгізу және нәтижелерді шығару параллелограммен бейнеленеді, оның ішінде «енгізу» немесе «шығару» сөздері жазылады әрі енгізілетін немесе шығарылуы тиіс өзгермелілер есептеледі.
Бағдарламалау тілінде жазылған алгоритм бағдарлама деп аталады.
Кез - келген күрделі алгоритм үш базалық құрылым комбинациясында берілуі мүмкін: • қолдану (қадағалап байқау)
• тармақталу (балама, егер - онда - әйтпесе)
• цикл (қайталау) .
Бұл құрылымдардың өздеріне тән өзгешелігі - олардың енуі де, шығуы да бірдей.
Қолдану - бірнеше оператор белгілі бір бағдарламаны орындау уақытында тек бір - ақ рет бірінен кейін бірі тізбектілікпен орындалуы тиіс.
Тармақталу - тексерілген жағдайдың нәтижесіне қарай (ақиқат немесе жалған) алгоритм жұмысын балама арқылы бір тұжырыммен баламадағы әр бір нұсқа шығудың жалпы жолына апарады - қамтамасыз етеді.
Іс тәжірибелік бөлім.
- Блок - схемалар.
Блок - схема - арнайы геометриялық фигуралар, нұсқамалар арқылы орындалатын әрекеттер мен олардың орындалуы ретін көрсететін графиктік схемалармен берілетін алгоритм.
Алгоритмді блок - схема түрінде жазғанда арнайы қабылданған мемлекеттік үлгі бойынша мына блоктарды пайдаланады: алгоритмнің басы мен соңын - эллипс, алгоритмде нәтижелерді енгізу мен шығаруды - параллелограмм, ақпаратты өңдеуді (есептеулерді) - тіктөртбұрыш, шарттарды тексеру - ромб фигураларының ішіне жазылады.
Блок - схема алгоритмді сипаттаудың графикалық тәсілі. Блок - схема деп, бағытталған байланыс нұсқамалармен геометриялық фигуралар формасында алгоритмді графикалық түрде жазуды айтады.
Алгоритмді блок - схема түрінде жазуда қолданылатын геометриялық фигуралар
Басы - соңы
(кіру - шығу)
Есептеу блогы
(процесс)
Есептін қойылымы.
Бағдарлама негізгі мәтіні.
Негізгі мәтінді бағдарлама комплексі Diagramm келтіреміз.
PROGRAM CirclDiagramma
USES Crt, Graph, Dos;
CONST
Rx=148;
Ry=158;
TYPE
massiv= array [1. . 10] of real;
VAR
Doxod :massiv; {Жылдардағы кәсіпорын табысы}
Max :real; {Максималдық кәсіпорын табысы}
Nmax :integer; {Жыл максималды табыспен}
Min :real; {Минималды кәсіпорын табысы}
Nmin :integer; {Жыл минималды табыспен}
Period :integer; {Табыстын анализ периоды}
Logic :boolean; {Көмекші логикалық өзгергіш}
Year, I :integer; {Жыл басындағы анализ, цикл параметр}
God :integer; {Период саны}
Summa :real; {Суммалық табыс}
Driver, Mode :integer;
CodIOR :integer;
Ch :char;
{ Middle
Процедура текст жолын шығарады, жолда орталандырып тұрады
Stroka-енгізілетін жол
Y -Y координатасы
middle. inc }
PROCEDURE Middle (Stroka :string; Y: integer) ;
{$I wait dos. inc}
VAR
X:integer
BEGIN
If Length(Stroka) >80
then
begin
Goto XY (18, 8) ;
Writeln(жолақтағы текст хабарлауы, ’с:басталуы’) ;
Goto XY(21, 10) ;
Write(‘ ” ’, Copy(Stroka, 1, 30), ’…” ’) ;
Goto XY(29, 12) ;
Write(’80 cимволға көтерілді!’) ;
WaitDos(6) ;
Halt; {бағдарламаның авариялық аяқталуы}
End;
X:=(80-Length(Stroka) ) div 2;
Goto XY(X, Y) ;
Writeln(Stroka) ;
END;
{$I zast_cs. inc } {заставка}
{$I signal. inc } {дыбыстық сигнал}
{$I readint. inc } {бүтін сандарды бақылаумен енгізу}
{$I readreal. inc } {вещест. санының бақылаумен енгізу}
{$I middle. inc } {орталық жол}
{NumberPeriod
Фирманың жыл санының табыс анализін процедураға енгізу және жыл басындағы анализ периоды }
PROCEDURE NumberPeriod(var Period, Year:integer) ;
VAR
Flag :boolean; {Енгізу бақылауының дұрыстығы}
i :integer;
BEGIN
{Фирманың табыс анализін енгіземіз. Жыл саны енгізілгенде диапазон бақылауы іске асырылады(1-ден 10 жылға дейін) және енгізілген санның бақылау типі}
TextBackGround(6) ;
TextColor(15) ;
Middle (' Шамаларды есепке енгізу ', 1) ;
TextBackGround(7) ;
TextColor(0) ;
repeat
GotoXY(2, 3) ;
ClrEOL;
GotoXY(2, 3) ;
Write ('сан периоды') ;
Write ('1-ден 10-ға дейін . . . ') ;
{Сан периоды шамаларды енгізу бақылау арқылы енгізіледі! }
ReadInt (Period, CodIOR) ;
Flag:=(CodIOR=0) and
(Period<=10) and
(Period>=1) ;
if not Flag then Signal;
until Flag;
{Жыл басындағы анализді енгіземіз}
repeat
GotoXY(2, 5) ;
Write ('Жыл басындағы анализ . . . ') ;
Goto XY(2, 27) ;
ClrEOL; {27 позициадағы аяғына дейін жолды тазарту}
ReadInt (Year, CodIOR) ; {процедураны қолданып бақылау енгізу шамаларды енгізу}
until (CodIOR=0) ; {
END;
{VvodDoxod
Жылдардағы кәсіпорын табысы процедурасын енгізу
}
PROCEDURE VvodDoxod(var Doxod : massiv) ;
VAR
Flag:boolean; {Бақылау енгізу дұрыстығы }
i:integer;
Y:integer; {Қайда Y}
BEGIN
{'Жылдардағы табыс мағынасын енгізу. Енгізгенде енгізілген саның бақылау типін іске асыру '};
GotoXY(2, 7) ;
Writeln ('Кәсіпорын табысының мағынасын енгізу ') ;
GotoXY(2, 9) ;
Y:=8;
for i:=1 to Period do
begin
Y :=Y+1;
repeat
GotoXY(2, Y) ;
ClrEOL
GotoXY(2, Y) ;
Write ('Жыл', Year-1+i, ' . . . ') ;
ReadReal (Doхod[i], CodIOR) ; {Бақылау енгізу шамаларын табысты енгізу!}
Flag:=(CodIOR=0) ;
if not Flag then Signal;
until Flag;
end;
END;
{PovtorDoxod
Қайталанып енгізілетін массивпроцедурасы-табыс
}
Procedure PovtorDoxod(var Doxod :massiv) ;
VAR
I :integer;
Flag :boolean;
Ansver :char;
N :integer;
Y :integer;
CountYear :integer; {Өткен жылды 1-ге үлкейту}
DoxodVar :real; {Буферді енгізу, дұрыс енгізуге қолданылған, одан кейін санның орнына қандайда бір символ енгізіледі}
BEGIN
Goto XY(1, 19) ;
TextColor(6) ;
Write ('') ;
Write ('') ;
TextColor(0) ;
repeat
Goto XY(1, 22) ;
ClrEOL;
Goto XY(1, 20) ;
ClrEOL:
Goto XY(2, 20) ;
Write ('Енгізуді қайталау Y/N:') ;
Readln (Ansver) ;
Ansver:=UpCase(Ansver) ;
if Ansver='Y'then
begin
repeat
GotoXY(2, 22) ;
ClrEOL;
GotoXY(2, 22) ;
Write ('жылды көрсету') ;
ReadInt (God, CodIOR) ; {сан периодын енгіземіз}
Flag:=(CodIOR=0) and
(God>=Year) and
(God<=(Year+Period-1) ) ;
if not Flag then Signal;
until Flag;
{көрсетілген жылмен анықтаймыз және жыл басындағы анализ, көрсетілген жылдың индексі}
i:=0;
CountYear:=Year-1;
repeat
i:=i+1;
CountYear:=CountYear+1;
until CountYear=God;
{Көрсетілген жыл үшін табыс мағынасын өзгертеміз }
repeat
Goto XY(2, 23) ;
ClrEOL;
Goto XY(2, 23) ;
Write ('табыc’, cod, ’жылдар, бірдей ') ;
TextBackGround(3) ;
TextColor(15) ;
Write (Doxod[i] :6:0) ;
TextBackGround(7) ;
TextColor(0) ;
Write ('ауыстыруға :') ;
ReadReal (DoxodVar, CodIOR) ) ;
Flag:=(CodIOR=0) ;
if not Flag then Signal
until Flag;
Doxod[i] :=DoxodVar;
{табыстын жаңа мәнің шығарамыз}
Goto XY(2, 9) ;
Y:=8;
for i:=1 to Period do
begin
Y:=Y+1;
Goto XY(2, Y) ;
ClrEOL;
Goto XY(2, Y) ;
Write ('жыл', Year-1+i, ' . . . ') ;
Write (Doxod[i] :6:0) ;
end;
GotoXY(2, 23) ;
ClrEOL;
end;
Flag:=(Ansver='Y') or (Ansver='N') ;
if not Flag then Signal;
until (Ansver='N') or (Ansver='n') ;
End;
{
Кәсіпорын суммалық табыстағы процедура есебі
}
Procedure SumDoxod (var Summa : real) ;
VAR
i: integer;
BEGIN
Summa:=0;
for i:=1 to Period do Summa:=Summa+Doxod[i] ;
END;
{MaxDoxod
Максималды табыстын процедура анықтамасы
}
PROCEDURE MaxDoxod (Doxod:massiv;
Period:integer;
var Max:real;
var Nmax:integer) ;
VAR
i:integer;
BEGIN
TextColor(15) ;
Max:=Doxod[1] ;
NMax:=1;
for i:=1 to Period do
begin
if Doxod[i] >Max then
begin
Max:=Doxod[i] ;
Nmax:=i;
end;
end;
END;
{Diagramma
Процедура есебі және диаграмма құрылуы
}
PROCEDURE Diagramma;
VAR
i:integer;
Ugol:massiv; {өткен жылдың сектор бұрышы}
Var Ugol:real;
Var UgolNach:real;
Y:real;
X:real;
SredUgol:real;
s:string;
s1:string;
Var God:integer;
BEGIN
{ Бұрыштар саны диаграманың құрылуы үшін }
for i:=1 to Period do Ugol[i] :=Doxod[i] *360/Summa;
SetBkColor(7) ;
SetColor(1) ;
OutTextXY(1, 10, 'ТАБЫСТЫ ОРНАЛАСТЫРУ ') ;
OutTextXY(330, 10, 'ЖЫЛ САЙЫНДАҒЫ КӘСІПОРЫН') ;
SetColor(14) ;
OutTextXY(55, 450, 'аяқтау үшін қандайда бір батырманы басу') ;
Line(50, 440, 365, 440) ;
Line(50, 468, 365, 468) ;
Line(50, 440, 50, 468) ;
Line(365, 440, 365, 468) ;
{--- Секторлық диаграмманың құрылуы }
Var Ugol:=0;
for i:=1 to Period do
begin
SetColor(i
SetFillStyle(1, i) ;
if i=7 then
begin
SetColor(12) ;
SetFillStyle(1, 12) ;
end;
Var Ugol:= Var Ugol+Ugol[i] ;
Var UgolNach:= Var Ugol-Ugol[i] ;
if i=Nmax;
then
begin
SredUgol:=(VarUgolNach+VarUgol) /2;
Y:=10 * Sin(SredUgol*Pi/180) ;
X:=10 * Cos(SredUgol*Pi/180) ;
Sector(GetMaxX div 2 - 120 + Round(X) ;
GetMax div 2 Round(Y), Round(VarUgolNach),
Round(VarUgol), Rx, Ry )
end
else
Sector(GetMaxX div 2 - 120, GetMaxY div 2,
Round(VarUgolNach), Round(VarUgol), Rx, Ry ) ;
Bar(450, 10+i * 40, 470, 30 + i * 40) ;
Str(i+Year-1, s) ;
SetColor(15) ;
OutTextXY(500, 16 + i * 40, s) ;
Str(Round(Ugol[i] * 100 / 360), sl) ;
If Ugol[i] *100/360 < 10 then
OutTextXY(579, 16 + i * 40, s1)
else
OutTextXY(570, 16 + i * 40, s1) ;
OutTextXY(590, 16 + i * 40, '%') ;
end;
END;
{
Бағдарламалық модульді атқарушы
}
BEGIN
Zast_ cs;
TextBackGround(7) ;
ClrScr;
TextColor(0) ;
NumberPeriod, Year) ;
VvodDoxod(Doxod) ;
PovtorDoxod(Doxod) ;
SumDoxod(Summa) ; ;
MaxDoxod(Doxod, Period, Max, Nmax) ;
{ Графикалық режимге көштік}
Driver:=Detect;
InitGraph(Driver, Mode, '') ;
if GraphResult<0 then Halt;
Diagramma;
while KeyPressed do ch:=ReadKey;
repeat until KeyPressed;
while KeyPressed do ch:=ReadKey;
CloseGraph;
... жалғасы- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.

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