Құрылымды типті мәліметтерді өңдеу технологиялары. Мәліметтердің жол типін сипаттау.
КІРІСПЕ 2
1 ТЕОРИЯЛЫҚ НЕГІЗІ ЖӘНЕ АҚПАРАТПЕН ЖАБДЫҚТАЛУЫ
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау 3
2 ЭЕМ.ДА ЕСЕПТЕРДІ ШЕШУ ЖӘНЕ
2.1 Қарапайым программаларды шешу 16
2.2 Мәтіндік массивті реттеуде программасын құру және оған талдау жасау 17
ҚОРЫТЫНДЫ 18
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТ ТІЗІМІ 19
ҚОСЫМШАЛАР 20
1 ТЕОРИЯЛЫҚ НЕГІЗІ ЖӘНЕ АҚПАРАТПЕН ЖАБДЫҚТАЛУЫ
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау 3
2 ЭЕМ.ДА ЕСЕПТЕРДІ ШЕШУ ЖӘНЕ
2.1 Қарапайым программаларды шешу 16
2.2 Мәтіндік массивті реттеуде программасын құру және оған талдау жасау 17
ҚОРЫТЫНДЫ 18
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТ ТІЗІМІ 19
ҚОСЫМШАЛАР 20
1 ТЕОРИЯЛЫҚ НЕГІЗІ ЖӘНЕ АҚПАРАТПЕН ЖАБДЫҚТАЛУЫ
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау
Жол тип, яғни STRІNG типі Турбо Паскаль тілінде мәтінді өңдеу үшін қолданады. Бұл типпен көптеген операцияларды орындаймыз. Жолды енгізу үшін READ және READLN процедураларын қолданамыз. Жолды экранға шығару үшін WRІTE, WRІTELN процедураларын қолданамыз.
Бұл тип көп жағынан алғанда бір өлшемді ARRAY [0..N] of CHAR массивіне өте ұқсас. Бірақ, [ 0] позицияда жол типті айнымылының максималды ұзындығы сақталады. Жол типті айнымалыны жариялау;
Жолды типпен орындалатын операциялар.
Жолмен - меншіктеу, біріктіру, салыстыру орерациялар орындалады. Турбо Паскаль тілінде STRІNG типті айнымалыны екі жол мен қарастыруға болады: :
1) жолды 1-объект түрінде санап, өңдеуді бір бүтін элементпен орындау. Мысалы: STR1=’БҰЛ ЖОЛ’
2) жолды CHAR типті элементтерден тұратын объект түрінде қарастырып, әр элементті өзінше өңдеуге болады.
1).Функция LENGTH(STR) - ІNTEGER типті функция. Бұл функция текстік жолдың ұзындығын анықтайды.
2).Функция POS(SUBST, ST) - ІNTEGER типті функция, жолдан анықталған бір фрагментті іздеуге мүмкіндік береді.. Егер ізделінген фрагмент табылса функция оның бірінші символы тұрған орнының номерін қайтарады. Егер табылмаса нольді қайтарады.
3) Функция UPCASE - CHAR типті функция. Бұл функция жолды айнымалының кіші әріптерді үлкен әріпке ауыстырады. Бұл функция орыс әріптерін қабылдамайды. Егер басқа да символдар кездессе функция оны өзгеріссіз қайтарады.
4) DELETE процедурасы бір жолдан (мысалы -SL) көрсетілген позициядан(NUM) бірнеше (POS) символдарды жояды. Егер POS >LENGTH (SL) болса онда бұл процедура ешқандай өзгерті орындамайды.
5) ІNSERT процедурасы. Бұл процедура бір жолға көрсетілген позициядан бастап басқа бір жолды енгізеді.
6) STR (x[:WІDTH [:DECІMALS]]ST) - процедурасы. Бұл процедура x -санын (бүтін немесе нақты) символдық жолға айналдырады. Егер WІDTH және DECІMALS параметрлері көрсетілсе олар айналдыру форматын көрсетеді.WІDTH -жалпы жол ұзындығы. DECІMALS - бөлшек бөлігінің ұзындығы.
VAL процедура - cимволдық жолды x-бүтін немесе нақты типтің ішкі көрінісіне айналдырады. Егер айналдыру ойдағыдай аяқталса, онда y=0. Басқа жағдайда y қате символдың позиция нөмірін қайтарады. жолында бос
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау
Жол тип, яғни STRІNG типі Турбо Паскаль тілінде мәтінді өңдеу үшін қолданады. Бұл типпен көптеген операцияларды орындаймыз. Жолды енгізу үшін READ және READLN процедураларын қолданамыз. Жолды экранға шығару үшін WRІTE, WRІTELN процедураларын қолданамыз.
Бұл тип көп жағынан алғанда бір өлшемді ARRAY [0..N] of CHAR массивіне өте ұқсас. Бірақ, [ 0] позицияда жол типті айнымылының максималды ұзындығы сақталады. Жол типті айнымалыны жариялау;
Жолды типпен орындалатын операциялар.
Жолмен - меншіктеу, біріктіру, салыстыру орерациялар орындалады. Турбо Паскаль тілінде STRІNG типті айнымалыны екі жол мен қарастыруға болады: :
1) жолды 1-объект түрінде санап, өңдеуді бір бүтін элементпен орындау. Мысалы: STR1=’БҰЛ ЖОЛ’
2) жолды CHAR типті элементтерден тұратын объект түрінде қарастырып, әр элементті өзінше өңдеуге болады.
1).Функция LENGTH(STR) - ІNTEGER типті функция. Бұл функция текстік жолдың ұзындығын анықтайды.
2).Функция POS(SUBST, ST) - ІNTEGER типті функция, жолдан анықталған бір фрагментті іздеуге мүмкіндік береді.. Егер ізделінген фрагмент табылса функция оның бірінші символы тұрған орнының номерін қайтарады. Егер табылмаса нольді қайтарады.
3) Функция UPCASE - CHAR типті функция. Бұл функция жолды айнымалының кіші әріптерді үлкен әріпке ауыстырады. Бұл функция орыс әріптерін қабылдамайды. Егер басқа да символдар кездессе функция оны өзгеріссіз қайтарады.
4) DELETE процедурасы бір жолдан (мысалы -SL) көрсетілген позициядан(NUM) бірнеше (POS) символдарды жояды. Егер POS >LENGTH (SL) болса онда бұл процедура ешқандай өзгерті орындамайды.
5) ІNSERT процедурасы. Бұл процедура бір жолға көрсетілген позициядан бастап басқа бір жолды енгізеді.
6) STR (x[:WІDTH [:DECІMALS]]ST) - процедурасы. Бұл процедура x -санын (бүтін немесе нақты) символдық жолға айналдырады. Егер WІDTH және DECІMALS параметрлері көрсетілсе олар айналдыру форматын көрсетеді.WІDTH -жалпы жол ұзындығы. DECІMALS - бөлшек бөлігінің ұзындығы.
VAL процедура - cимволдық жолды x-бүтін немесе нақты типтің ішкі көрінісіне айналдырады. Егер айналдыру ойдағыдай аяқталса, онда y=0. Басқа жағдайда y қате символдың позиция нөмірін қайтарады. жолында бос
ПАЙДАЛАНЫЛҒАН ӘДЕБИЕТ ТІЗІМІ
1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988. - 320 б.
2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987. - 112 б.
3. Вирт Н. Алгоритмы и структуры данных./ Ағылшан тілінен аударылған. М.: Мир, 1989. - 360 б.
4. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982. - 382 б.
5. Дантеманн Дж., Мишел Дж., Тейлор Д. Программирование в среде Delphi: Ағылшан тілінен аударылған. - Киев: НИПФ “ДиаСофтЛтд.”, 1995. - 608 б.
6. Епанешников А., Епанешников В. Программирование в среде Турбо Паскаль 7.0. - М.: ДИАЛОГ-МИФИ, 1993. - 288 б.
7. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка: Пер. с англ. - М.: Финансы и статистика, 1982. - 151 б.
8. Матчо Дж., Фолкнер Д.Р. Delphi: Пер.с англ.- М.: БИНОМ, 1995. - 464 б.
9. Орлик С.В. Секреты Delphi на примерах: - М.: БИНОМ. - 316 б.
10. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988. - 224 б.
11. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989. - 160 б.
12. Прайс Д. Программирование на языке Паскаль: Практ. руководство. - М.: Мир, 1987. - 232 б.
13. Рубенкинг Н. Турбо Паскаль для Windows: В 2 т.; Ағылшан тілінен аударылған - М.: Мир, 1993. - 536 б.
14. Фаронов В.В. Турбо Паскаль. В 3-х книгах. Книга 1. Основы Турбо Паскаля. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1992. - 304 б.
15. Фаронов В.В. Паскаль и Windows. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1994. - 539 б.
16. Фаронов В.В. Практика Windows-программирования. М.: Информпечать, 1996. - 247 б.
17. Федоров А., Рогаткин Д. Borland Pascal в среде Windows. - Киев: Диалектика, 1993. - 656 б.
18. Форсайт Р. Паскаль для всех: Ағылшан тілінен аударылған.- М.: Машиностроение, 1986. - 288 б.
1. Абрамов В.Г., Трифонов Н.П., Трифонова Г.Н. Введение в язык Паскаль. - М.: Наука, 1988. - 320 б.
2. Абрамов С.А., Зима Е.В. Начала программирования на языке Паскаль. - М.: Наука, 1987. - 112 б.
3. Вирт Н. Алгоритмы и структуры данных./ Ағылшан тілінен аударылған. М.: Мир, 1989. - 360 б.
4. Грогоно П. Программирование на языке Паскаль. - М.: Мир, 1982. - 382 б.
5. Дантеманн Дж., Мишел Дж., Тейлор Д. Программирование в среде Delphi: Ағылшан тілінен аударылған. - Киев: НИПФ “ДиаСофтЛтд.”, 1995. - 608 б.
6. Епанешников А., Епанешников В. Программирование в среде Турбо Паскаль 7.0. - М.: ДИАЛОГ-МИФИ, 1993. - 288 б.
7. Йенсен К., Вирт Н. Паскаль. Руководство для пользователя и описание языка: Пер. с англ. - М.: Финансы и статистика, 1982. - 151 б.
8. Матчо Дж., Фолкнер Д.Р. Delphi: Пер.с англ.- М.: БИНОМ, 1995. - 464 б.
9. Орлик С.В. Секреты Delphi на примерах: - М.: БИНОМ. - 316 б.
10. Перминов О.Н. Программирование на языке Паскаль. - М.: Радио и связь, 1988. - 224 б.
11. Пильшиков В.Н. Сборник упражнений по языку Паскаль: Учеб. пособие для вузов. - М.: Наука, 1989. - 160 б.
12. Прайс Д. Программирование на языке Паскаль: Практ. руководство. - М.: Мир, 1987. - 232 б.
13. Рубенкинг Н. Турбо Паскаль для Windows: В 2 т.; Ағылшан тілінен аударылған - М.: Мир, 1993. - 536 б.
14. Фаронов В.В. Турбо Паскаль. В 3-х книгах. Книга 1. Основы Турбо Паскаля. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1992. - 304 б.
15. Фаронов В.В. Паскаль и Windows. - М.: Учеб.-инж.центр МВТУ-ФЕСТО ДИДАКТИК, 1994. - 539 б.
16. Фаронов В.В. Практика Windows-программирования. М.: Информпечать, 1996. - 247 б.
17. Федоров А., Рогаткин Д. Borland Pascal в среде Windows. - Киев: Диалектика, 1993. - 656 б.
18. Форсайт Р. Паскаль для всех: Ағылшан тілінен аударылған.- М.: Машиностроение, 1986. - 288 б.
Пән: Информатика, Программалау, Мәліметтер қоры
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 18 бет
Таңдаулыға:
Жұмыс түрі: Курстық жұмыс
Тегін: Антиплагиат
Көлемі: 18 бет
Таңдаулыға:
МАЗМҰНЫ
Кіріспе 2
1 Теориялық негізі және ақпаратпен жабдықталуы
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау 3
1.2 Функциялар және процедуралар
6
2 ЭЕМ-да есептерді шешу және
2.1 Қарапайым программаларды шешу
16
2.2 Мәтіндік массивті реттеуде программасын құру және оған талдау
жасау 17
Қорытынды 18
Пайдаланылған әдебиет тізімі 19
қосымшалар 20
Кіріспе
Менің курстық жұмысымның тақырыбы: Құрылымды типті мәліметтерді өңдеу
технологиялары. Мәліметтердің жол типін сипаттау.
Жұмыстың мақсаты: Паскаль тілінде жолдық стандартты функциялармен
танысу, оларды қарапайым есептер шығаруда қолдану.
Кез – келген программа мәліметтерді өңдеп, нәтиже береді. Программада
өңделетін мәліметтер белгілі нақты объектілердің мәндері ретінде
қарастырылады, олар тұрақты немесе айнымалы шама болып келеді.
Информатика ғылым ретінде ақпаратты өңдеу мен берудің заңдарын,
әдістерін және жинақталу тәсілін ең алдымен ЭЕМ арқылы оқытумен айналысады.
Қазіргі ғылыми техникалық програсс заманында компьютерді пайдаланбайтын
сала жоқ. Бірақ үлкен көлемді информацияның мазмұнын зерттеу, компьютер
арқылы оны өңдеуге мүмкіндік туғызатын үлгісін , өңдеу алгоритмі мен
бағдарламасын құру және оларды дұрыстау көп еңбекті қажет ететін күрделі
жұмыс.
Программаны түрлі тәсілдер бойынша құруға болады, бірақ оған қойылатын
негізгі талап – оның сапалы және пайдаланушыға түсінікті болуында. Әдетте
бұл үшін күрделі информация алдын ала тұжырымды бірнеше бөліктерге бөлініп
алынады да, олардың әр – қайсысына арналған жеке – жеке программа құрылады.
Одан соң олар көмекші программалар ретінде қарастырылып, жоғарыдан төмен не
басқа тәсіл бойынша бір программаға біріктіріледі. Жоғарыдан төмен тәсілі –
блоктардың біріншісінен бастап ретімен орындалуы. Дайындалған программаның
дұрыс жұмыс істеуі жеткіліксіз. Алдымен ол пайдаланушының оқуына түсінікті
түрде құрылуы қажет. Мұның бір тәсілі – программа аралықтарына түсініктеме
енгізіп қою.
Ақпараттық коммуникациялық технологиялардың қарқынмен дамып, күнделікті
тұрмысқа енуіне байланысты соңғы кездері программалауға деген
қызығушылықтың арта түскені белгілі. Қазіргі уақытта компьютерсіз қандай
да бір жұмыс істейтін адамға қандай да бір ұмтылысты тудыруы мүмкін.
Программалау іскерлігін үйрену үшін нақты есептер шығарып, программасын
жаза білу қажет. Ол үшін программалау тілі мен оны құру ортасын меңгеру
керек. Объектілі бағдарланған программалау жүйелерінде программалаудағы
негізгі ерекшелік алдымен программалау синтаксисі мен компоненттерді
пайдалануды үйренуде болып табылады.
1 Теориялық негізі және ақпаратпен жабдықталуы
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау
Жол тип, яғни STRІNG типі Турбо Паскаль тілінде мәтінді өңдеу
үшін қолданады. Бұл типпен көптеген операцияларды орындаймыз. Жолды
енгізу үшін READ және READLN процедураларын қолданамыз. Жолды
экранға шығару үшін WRІTE, WRІTELN процедураларын қолданамыз.
Бұл тип көп жағынан алғанда бір өлшемді ARRAY [0..N] of
CHAR массивіне өте ұқсас. Бірақ, [ 0] позицияда жол типті айнымылының
максималды ұзындығы сақталады. Жол типті айнымалыны жариялау;
Жолды типпен орындалатын операциялар.
Жолмен - меншіктеу, біріктіру, салыстыру орерациялар орындалады.
Турбо Паскаль тілінде STRІNG типті айнымалыны екі жол мен
қарастыруға болады: :
1) жолды 1-объект түрінде санап, өңдеуді бір бүтін элементпен
орындау. Мысалы: STR1=’БҰЛ ЖОЛ’
2) жолды CHAR типті элементтерден тұратын объект түрінде
қарастырып, әр элементті өзінше өңдеуге болады.
1).Функция LENGTH(STR) - ІNTEGER типті функция. Бұл функция
текстік жолдың ұзындығын анықтайды.
2).Функция POS(SUBST, ST) - ІNTEGER типті функция, жолдан
анықталған бір фрагментті іздеуге мүмкіндік береді.. Егер ізделінген
фрагмент табылса функция оның бірінші символы тұрған орнының
номерін қайтарады. Егер табылмаса нольді қайтарады.
3) Функция UPCASE - CHAR типті функция. Бұл функция жолды
айнымалының кіші әріптерді үлкен әріпке ауыстырады. Бұл функция орыс
әріптерін қабылдамайды. Егер басқа да символдар кездессе функция
оны өзгеріссіз қайтарады.
4) DELETE процедурасы бір жолдан (мысалы -SL) көрсетілген
позициядан(NUM) бірнеше (POS) символдарды жояды. Егер POS LENGTH
(SL) болса онда бұл процедура ешқандай өзгерті орындамайды.
5) ІNSERT процедурасы. Бұл процедура бір жолға көрсетілген
позициядан бастап басқа бір жолды енгізеді.
6) STR (x[:WІDTH [:DECІMALS]]ST) - процедурасы. Бұл процедура x -санын
(бүтін немесе нақты) символдық жолға айналдырады. Егер WІDTH және DECІMALS
параметрлері көрсетілсе олар айналдыру форматын көрсетеді.WІDTH -жалпы жол
ұзындығы. DECІMALS - бөлшек бөлігінің ұзындығы.
VAL процедура - cимволдық жолды x-бүтін немесе нақты типтің ішкі
көрінісіне айналдырады. Егер айналдыру ойдағыдай аяқталса, онда y=0. Басқа
жағдайда y қате символдың позиция нөмірін қайтарады. жолында бос орын тек
бас жағында болуы мүмкін. Программалау тілдерінде көптеген жағдайларда
символдар тізбектерін қолдану қажет болады. Ол үшін барлық жағдайларда char
типін пайдалану ыңғайлы бола бермейді. Сол себептен символдар тізбегін
тұтасымен қарастыру мүмкіндіктерін ойластырған жөн. Бұл жағдайда Паскаль
тілінде жолдық (String) тип пайдаланылады.
Жол-дербес компьютердің кодтық кестесінің белгілі бір символдарынан
құрылған тізбек. Өрнектерде қолданғанда жол екі жағынан апострофқа алынып,
жолдық тұрақты ретінде қарастырылады. Жолдың символдар саны (жолдың
ұзындығы) 0-ден 255-ке дейінгі аралықта жатады. Жолдық типті сипаттау үшін
string қызметші сөзі жазылып, тік жақша ішінде қарастырылып отырған жолдың
ең үлкен ұзындығы келтіріледі. Егер де бұл мән көрсетілмесе, онда жол
ұзындығы 255 байтқа тең деп алына береді. String типті айнымалыны тип
тарауында жариялау арқылы немесе бірден айнымалылар тарауында сипаттауға
болады. Жолдық типті шамалар программада тұрақтылар ретінде де
пайдаланылады. Жолдық типті сипаттау дегеніміз, оның ұзындығын немесе неше
символдан тұратынын анықтау болады, өйткені массивтердегідей оларға да
компьютер жадында орын резервтелінуі (алдын ала дайындалуы) керек.
Жазылуының жалпы түрі:
Type
типтің aTbi=string (жолдың ең үлкен үзындығы);
Var
айнымалылар: типтің аты;
Немесе:
Var
айнымалылар: string (жолдың ең үлкен үзындығы);
Мысалы,
Type
R=string[30]:
Var
Х,Ү : R
Strl : string[25];
Str2, Str3 : string;
Str4 : string[3OO]; {ұзындық қатесі,300255}
Жолдың байтпен есептелетін ұзындығын анықтау үшін, оның ең үлкен
ұзындығына 1-ді қосамыз. Бұл қосымша байт жолдың ең алғашқы (0-дік)
позициясына орналасады да, Ord функциясының көмегімен жолдың ұзындығын
табуда пайдаланылады (size:=ord(strl[0])). strl[O] жолдың ұзындығын
көрсететін 0-дік байт.
Жолдың ұзындығын анықтау үшін арнайы Length функциясы да
бар. Жоғарыда келтірілген мысалда компьютер жадында Х,Ү жолдарына
31 байт, strl жолына 26 байт, str2, str3 жолдарына 255 байттан орын қажет.
Символдық өрнектер. Операндтары (тұрақтылар, айнымалылар,
функциялар) жолдық және символдық типтіболатын өрнектер символдық өрнектер
деп аталады. Символдық өрнектерде біріктіру (+) және қатынас амалдар (=,
=, =, , , ) қолданылады.
Біріктіру амалы (+) бірнеше жолдарды біріктіріп нөтижесінде
түтас бір жол алуға пайдаланылады. Мысалы:
'Pen'+'ti'+'um'+'-‘+'3' ' Pentium-3'
‘1'+'-'+'топ'+'студенті' 1-топ студеңті'
Бұл амал нәтижесі жол болғандықтан, ұзындығы 255 символдан аспауы
керек.
Қатынас амалдары (==, , =, =, , ) екі жолды салыстырады және
біріктіру амалына қарағанда орындалу үстемдігі төмен, яғни алдымен барлық
біріктіру амалдары, сонан соң салыстыру амалы орындалады. Салыстыру солдан
оңға қарай жүргізіліп, символдардың бір біріне тура келетіндігі
тексеріледі. Салыстыру бір біріне үйлесімді болмайтын бірінші символ
табылғанға дейін жүргізіледі. Егер де бірінші жолдағы осы символдың коды
екінші жолдағы символдың кодынан үлкен болса, онда бірінші жол екіншісінен
үлкен болып саналады. Сонымен, салыстыру амалының нәтижесі жолдағы
символдардың кодтар кестесіне орналасуына байланысты анықталады да,
өрқашан бульдік (логикалық) тип болып True немесе False деген мәндерді
қабылдай алады. Мысалы:
'program r’='program2’ True
£program'‘program' True
'a''A' True
Егер де салыстырып отырған жолдардың ұзындығы әртүрлі болып, бірақ
жалпы жағының символдары бірдей болса, онда қысқа жол ұзын жолдан кіші
болып саналады, мысалы:
'Ахметов''Ахметова' True
Жолдық айнымалыға символдық өрнектің нәтижесін беру үшін (:=)
меншіктеу операторы пайдаланылады.
М ы с а л. Tzl:=' Бірінші курс';
Tz2:= tzl+' студенттері';
Меншіктеу операторындағы өрнектің нәтижесінің ұзындығы
меншіктеу айнымаласының ұзындығынан асып кетсе, артылған символдар
қабылданбайды.
А-ның сипатталуы Меншіктеу Нөтиже
A:string[6] A := '1-курс студенті' '1-курс'
A:string[12] A := 1-курс студенті' '1-курс студе'
A:string[2] A := '1-курс студенті' 1-к'
Символдық айнымалыға меншіктелетін жолдық типті тұрақты шаманың
ұзындығы бір символдан аспауы қажет. Олай болмаған жағдайда қателік туады
да, программаның орындалуы үзіледі.
Мысалы:
Var
сһ: char;
tzl: string[12];
tz2: string[6];
Begin
tzl:= 'тобы'; ;
tz2:= ch + tzl; { a тобы}
tzl:=’*';
ch:=tz1;
Соңғы меншіктеу операторы дұрыс жазылмаған себебі tzl- дің кезекті
мәні бір символдан тұрғанымен, ол String типті болғандықтан, ұзындығы 2
байт, ал char типті аинымалының ұзындығы 1 байт.
Жолдың симболын оның реті (индексі) арқылы да табуға болады. Индекс
бүтін типті өрнек немесе тұрақты түрінде жолдың идентификаторынан соң тік
жақшағаалынып жазылады. Мысал, tzl(2+2), tz2(7) жазылулары tzl жолындағы
төртінші символын, ал tz2 жолындағы жетінші стмволын көрсетеді. Ал tz2(0) -
жолдың ұзындығын көрсететш 0-дік байтқажолашады
1-мысал. "Салыстыру" программасы. Жол типті екі
айнымалыны салыстыратын программаны түзу керек болсын A мен В
айнымалыларына түрлі жол типті мәлшеттер енгізіп салыстыру операциясының
орындалуын тексеріңіздер.
Program RELATION;
Type
S=string[3];
Var
A B : S; {A және В айнымалылары жол типті}
Begin
Writeln('жол типті 2 мәлімет енгізіңіз ‘);
Readln(A);
Readln(B);
Writeln(‘----------------‘);
Writeln('A және В айнымалылар мәндері’);
Writeln('A’,A:2O,'B',B:2O);
{ Экранға салыстыру амалының нәтижесі бер3ktl3};
If AB then writeln ('AB');
If A=B then writeln ('A=B');
IfA=B then writeln ('A=B');
If AB then writeln ('AB');
If AB then writeln ('AB');
If A=B then writeln ('A=B');
End.
Жол типті процедуралар мен функциялар. String типті мәлеметтерді
өндеуде келесі стандартты процедуралар мен функциялар қолданылады.
1.2 Функциялар және процедуралар
COPY(tz, m,n) -tz жолынан m позициясынан бастап n символ бөліп алады.
Егер m-нің мәні жолдың ұзындығынан артық болса, онда функцияның нәтижесі
бос символ болады, егер m255 болса, орындалу барысында қателік туады.
tz:='ABCDEFG' Copy(tz,2,3)- BCD
tz:='ABCDEFG' Copy (tz,4,10)- DEFG
CONCAT (tzl,tz2,...,tzN) -tzl, tz2, ..., tzN жолдарын көрсетілген
ретпен біріктіреді. Біріктірілген жолдың ұзындығы 255-тен аспауы керек.
Concat (‘АЛЬ', ‘ТАРАЗИ', ‘2') - АЛЫАРАЗИ2
Concat('IBM', ' PC’) - IBM PC
LENGTH (tz) -tz жолының ұзындығын анықтайды.
Нөтижесі - бүтін сан.
tz:=423456789' Length(tz) - 9
tz:='IBMPC’ Length(tz)- 6
POS(tzl,tz2) -tzl жолы tz2 жолында кездессе, қай позициядан
басталатынын көрсетеді. Нәтиже бүтін типті.tz2 жолында tzl тізбегі
кезеспесе, онда нәтиже нөлге тең.
tz:='abcdef’ Pos('de', tz)- 4
tz:='abcdef’ Pos (‘V’, tz)- 0
STR(F,tz) -F шамасының сандық мәнін tz символық жолға айналдыру. F-
тен кейін оның форматы көрсетілуі мүмкін, мысалы:
F=1250 STR(F:7,tz) -'__1250'
DELETE (tz,m,n)-tz жолының m позициясынан бастап n символы өшіріледі.
Егер m 255 болса, онда қателік туады.
Tz:='1-топ' delete(tz,3,3) ‘1-'
Tz:='1-класс’ delete(tz,1,3) 'ласс'
Тz:='1-топ' delete(tz,2,l) ‘1топ'
INSERT(tzl,tz2,m)-tzl жолын tz2 тізбегіне m позициясынан бастап
сыналап қосу.
Мысалы Var ...
Т1,T2,TЗ : string(ll);
Begin
Tl := 'АБДХ' ;
T2:='ВГЕ';
T3:= Insert(t2,tl,3);
Соңғы функцияның нәтижесінде t3 жолы ' АБВГЕДХ' жолына тең
болады.
VAL(tz,F,Code) — tz жолының мәнін бүтін немесе нақты типке айналдырып
нәтижені Ғ —те сақтайды. tz —нің басында немесе соңында мәнсіз бос орын
символдыры болмауы қажет. Code —бүтін типті айнымалы. Егер айналдыру
операциясы дұрыс аяқталса Code-нің мәні 0-ге тең, ал кері жағдайда бұл
айнымалыда қатеге әкелген символдың позициясы сақталады.
Жолдарды өңдеуге арналған процедуралар мен
функцияларды қолдану жолдарын мысалдармен көрсетейік.
2-мысал. Берілген жолдағы леп белгілерін нүктелермен алмастыратын программа
құру керек.
Program 2M;
Var
tz: string[30];
i, n: integer;
x: char;
Begin
Read(tz);
{ жолды енгізу}
N:=Length(tz);
{ жолдың үзындығын анықтау}
For i:=l to n do
Begin
x:=copy(tz, i, 1); {жолдың кезекті і-шы символын табу}
Ifx=',’then
Begin
Delete (tz, i, 1); {үтірді ошіру }
Insert (‘!’, tz, i); { леп белгісін қосу}
End;
End;
Write(tz);
End.
3-мысал. Берілген жолды қысқартатын (символдар қайталанбайтын жол
құратын) программа құру керек болсын.
Program 83M;
Type
s=string[30];
Var
tz:s;
i,j,k,n :integer;
Begin
Read(tz);
n:=Length(tz);
k:=0;
For i:=l to n-k do
Begin
While j (n-k) do
Begin
Iftz[i]=tz[j]then Begin
Delete(tz,j,i); k:=k+l;
End;
Else j:=j-fl;
If j:=n-k then delete (tz,j,l);
End;
End;
Writeln(tz);
End.
Жоғарыда келтірілген мәліметтерді іс жүзінде қолданып практикалық
маңызы бар бір мысал қарастырайық.
4-мысал. "Верификация" программасы. Берілген фамилиясы бойынша жеке адамның
белгілі бір топқа жататынын анықтайтын программаны түзу қажет болсын.
Программаның нәтижесі экранға осы адамға байланысты мәліметтерді беру
керек.
Бұл мәселені шешу үшін базалық элементтері String (жол) типті екі
массив керек болады. Біріншісі NN массив элементтері - талдауға түскен
объекттердің идентификаторлары (бүл мысалда — ол жеке адамдардың
фамилиялары). Екіншісі MM массив элементтері болып объекттердің текст
түрінде келтірілген мінездемелері. Енді мәселенің шешілуі келесі алгоритм
бойынша жүргізіледі:
• берілген фамилиясы бойынша бұл адам NN массивтегі топқа
кіретіндігі анықталады;
• егер де бүл адам массивтегі топқа жататын болса, MM массивінен
оған сәйкес мәліметтер беріледі.
5-мысал. "Команда" программасы. Баскетбол командасының құрамына
кіретін спортсмендерге таңдау жүргізетін программа Құру қажет болсын.
Таңдау критерийлері ретінде: спортсмен бойының ұзындығы, оның жылдамдығы
және тығыршыққа доп лақтыру дәлдігі алынады. Спортсмендердің мінездемесіне
фамилиясы, аты, бойының ұзындығы, салмағы, 100м жүгіру жылдамдығы, айыпты
лақтырудағы тигізу пайызы жөне темпераменті кіреді. Темпераментті
бағалайтын шама код ретінде енгізіледі.
Іс жүзінде пайдаланатын программада талапкерлер тізімі алдын ала
дискіде жазылған архивтен алынатын болу керек.
Бұл мысалды шығаратын алгоритм жоғарыда қарастырылғанымыздай.
Өзгешелігі болып әр объект (бізде — ол спортсмен) идентификаторымен
(фамилиясымен) және бірқатар оның спорттық мінездемелерімен анықталады.
Сонда берілген фамилия бойынша спортсменнің ... жалғасы
Кіріспе 2
1 Теориялық негізі және ақпаратпен жабдықталуы
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау 3
1.2 Функциялар және процедуралар
6
2 ЭЕМ-да есептерді шешу және
2.1 Қарапайым программаларды шешу
16
2.2 Мәтіндік массивті реттеуде программасын құру және оған талдау
жасау 17
Қорытынды 18
Пайдаланылған әдебиет тізімі 19
қосымшалар 20
Кіріспе
Менің курстық жұмысымның тақырыбы: Құрылымды типті мәліметтерді өңдеу
технологиялары. Мәліметтердің жол типін сипаттау.
Жұмыстың мақсаты: Паскаль тілінде жолдық стандартты функциялармен
танысу, оларды қарапайым есептер шығаруда қолдану.
Кез – келген программа мәліметтерді өңдеп, нәтиже береді. Программада
өңделетін мәліметтер белгілі нақты объектілердің мәндері ретінде
қарастырылады, олар тұрақты немесе айнымалы шама болып келеді.
Информатика ғылым ретінде ақпаратты өңдеу мен берудің заңдарын,
әдістерін және жинақталу тәсілін ең алдымен ЭЕМ арқылы оқытумен айналысады.
Қазіргі ғылыми техникалық програсс заманында компьютерді пайдаланбайтын
сала жоқ. Бірақ үлкен көлемді информацияның мазмұнын зерттеу, компьютер
арқылы оны өңдеуге мүмкіндік туғызатын үлгісін , өңдеу алгоритмі мен
бағдарламасын құру және оларды дұрыстау көп еңбекті қажет ететін күрделі
жұмыс.
Программаны түрлі тәсілдер бойынша құруға болады, бірақ оған қойылатын
негізгі талап – оның сапалы және пайдаланушыға түсінікті болуында. Әдетте
бұл үшін күрделі информация алдын ала тұжырымды бірнеше бөліктерге бөлініп
алынады да, олардың әр – қайсысына арналған жеке – жеке программа құрылады.
Одан соң олар көмекші программалар ретінде қарастырылып, жоғарыдан төмен не
басқа тәсіл бойынша бір программаға біріктіріледі. Жоғарыдан төмен тәсілі –
блоктардың біріншісінен бастап ретімен орындалуы. Дайындалған программаның
дұрыс жұмыс істеуі жеткіліксіз. Алдымен ол пайдаланушының оқуына түсінікті
түрде құрылуы қажет. Мұның бір тәсілі – программа аралықтарына түсініктеме
енгізіп қою.
Ақпараттық коммуникациялық технологиялардың қарқынмен дамып, күнделікті
тұрмысқа енуіне байланысты соңғы кездері программалауға деген
қызығушылықтың арта түскені белгілі. Қазіргі уақытта компьютерсіз қандай
да бір жұмыс істейтін адамға қандай да бір ұмтылысты тудыруы мүмкін.
Программалау іскерлігін үйрену үшін нақты есептер шығарып, программасын
жаза білу қажет. Ол үшін программалау тілі мен оны құру ортасын меңгеру
керек. Объектілі бағдарланған программалау жүйелерінде программалаудағы
негізгі ерекшелік алдымен программалау синтаксисі мен компоненттерді
пайдалануды үйренуде болып табылады.
1 Теориялық негізі және ақпаратпен жабдықталуы
1.1 Құрылымды типті мәліметтерді өңдеуде жолдық типті сипаттау
Жол тип, яғни STRІNG типі Турбо Паскаль тілінде мәтінді өңдеу
үшін қолданады. Бұл типпен көптеген операцияларды орындаймыз. Жолды
енгізу үшін READ және READLN процедураларын қолданамыз. Жолды
экранға шығару үшін WRІTE, WRІTELN процедураларын қолданамыз.
Бұл тип көп жағынан алғанда бір өлшемді ARRAY [0..N] of
CHAR массивіне өте ұқсас. Бірақ, [ 0] позицияда жол типті айнымылының
максималды ұзындығы сақталады. Жол типті айнымалыны жариялау;
Жолды типпен орындалатын операциялар.
Жолмен - меншіктеу, біріктіру, салыстыру орерациялар орындалады.
Турбо Паскаль тілінде STRІNG типті айнымалыны екі жол мен
қарастыруға болады: :
1) жолды 1-объект түрінде санап, өңдеуді бір бүтін элементпен
орындау. Мысалы: STR1=’БҰЛ ЖОЛ’
2) жолды CHAR типті элементтерден тұратын объект түрінде
қарастырып, әр элементті өзінше өңдеуге болады.
1).Функция LENGTH(STR) - ІNTEGER типті функция. Бұл функция
текстік жолдың ұзындығын анықтайды.
2).Функция POS(SUBST, ST) - ІNTEGER типті функция, жолдан
анықталған бір фрагментті іздеуге мүмкіндік береді.. Егер ізделінген
фрагмент табылса функция оның бірінші символы тұрған орнының
номерін қайтарады. Егер табылмаса нольді қайтарады.
3) Функция UPCASE - CHAR типті функция. Бұл функция жолды
айнымалының кіші әріптерді үлкен әріпке ауыстырады. Бұл функция орыс
әріптерін қабылдамайды. Егер басқа да символдар кездессе функция
оны өзгеріссіз қайтарады.
4) DELETE процедурасы бір жолдан (мысалы -SL) көрсетілген
позициядан(NUM) бірнеше (POS) символдарды жояды. Егер POS LENGTH
(SL) болса онда бұл процедура ешқандай өзгерті орындамайды.
5) ІNSERT процедурасы. Бұл процедура бір жолға көрсетілген
позициядан бастап басқа бір жолды енгізеді.
6) STR (x[:WІDTH [:DECІMALS]]ST) - процедурасы. Бұл процедура x -санын
(бүтін немесе нақты) символдық жолға айналдырады. Егер WІDTH және DECІMALS
параметрлері көрсетілсе олар айналдыру форматын көрсетеді.WІDTH -жалпы жол
ұзындығы. DECІMALS - бөлшек бөлігінің ұзындығы.
VAL процедура - cимволдық жолды x-бүтін немесе нақты типтің ішкі
көрінісіне айналдырады. Егер айналдыру ойдағыдай аяқталса, онда y=0. Басқа
жағдайда y қате символдың позиция нөмірін қайтарады. жолында бос орын тек
бас жағында болуы мүмкін. Программалау тілдерінде көптеген жағдайларда
символдар тізбектерін қолдану қажет болады. Ол үшін барлық жағдайларда char
типін пайдалану ыңғайлы бола бермейді. Сол себептен символдар тізбегін
тұтасымен қарастыру мүмкіндіктерін ойластырған жөн. Бұл жағдайда Паскаль
тілінде жолдық (String) тип пайдаланылады.
Жол-дербес компьютердің кодтық кестесінің белгілі бір символдарынан
құрылған тізбек. Өрнектерде қолданғанда жол екі жағынан апострофқа алынып,
жолдық тұрақты ретінде қарастырылады. Жолдың символдар саны (жолдың
ұзындығы) 0-ден 255-ке дейінгі аралықта жатады. Жолдық типті сипаттау үшін
string қызметші сөзі жазылып, тік жақша ішінде қарастырылып отырған жолдың
ең үлкен ұзындығы келтіріледі. Егер де бұл мән көрсетілмесе, онда жол
ұзындығы 255 байтқа тең деп алына береді. String типті айнымалыны тип
тарауында жариялау арқылы немесе бірден айнымалылар тарауында сипаттауға
болады. Жолдық типті шамалар программада тұрақтылар ретінде де
пайдаланылады. Жолдық типті сипаттау дегеніміз, оның ұзындығын немесе неше
символдан тұратынын анықтау болады, өйткені массивтердегідей оларға да
компьютер жадында орын резервтелінуі (алдын ала дайындалуы) керек.
Жазылуының жалпы түрі:
Type
типтің aTbi=string (жолдың ең үлкен үзындығы);
Var
айнымалылар: типтің аты;
Немесе:
Var
айнымалылар: string (жолдың ең үлкен үзындығы);
Мысалы,
Type
R=string[30]:
Var
Х,Ү : R
Strl : string[25];
Str2, Str3 : string;
Str4 : string[3OO]; {ұзындық қатесі,300255}
Жолдың байтпен есептелетін ұзындығын анықтау үшін, оның ең үлкен
ұзындығына 1-ді қосамыз. Бұл қосымша байт жолдың ең алғашқы (0-дік)
позициясына орналасады да, Ord функциясының көмегімен жолдың ұзындығын
табуда пайдаланылады (size:=ord(strl[0])). strl[O] жолдың ұзындығын
көрсететін 0-дік байт.
Жолдың ұзындығын анықтау үшін арнайы Length функциясы да
бар. Жоғарыда келтірілген мысалда компьютер жадында Х,Ү жолдарына
31 байт, strl жолына 26 байт, str2, str3 жолдарына 255 байттан орын қажет.
Символдық өрнектер. Операндтары (тұрақтылар, айнымалылар,
функциялар) жолдық және символдық типтіболатын өрнектер символдық өрнектер
деп аталады. Символдық өрнектерде біріктіру (+) және қатынас амалдар (=,
=, =, , , ) қолданылады.
Біріктіру амалы (+) бірнеше жолдарды біріктіріп нөтижесінде
түтас бір жол алуға пайдаланылады. Мысалы:
'Pen'+'ti'+'um'+'-‘+'3' ' Pentium-3'
‘1'+'-'+'топ'+'студенті' 1-топ студеңті'
Бұл амал нәтижесі жол болғандықтан, ұзындығы 255 символдан аспауы
керек.
Қатынас амалдары (==, , =, =, , ) екі жолды салыстырады және
біріктіру амалына қарағанда орындалу үстемдігі төмен, яғни алдымен барлық
біріктіру амалдары, сонан соң салыстыру амалы орындалады. Салыстыру солдан
оңға қарай жүргізіліп, символдардың бір біріне тура келетіндігі
тексеріледі. Салыстыру бір біріне үйлесімді болмайтын бірінші символ
табылғанға дейін жүргізіледі. Егер де бірінші жолдағы осы символдың коды
екінші жолдағы символдың кодынан үлкен болса, онда бірінші жол екіншісінен
үлкен болып саналады. Сонымен, салыстыру амалының нәтижесі жолдағы
символдардың кодтар кестесіне орналасуына байланысты анықталады да,
өрқашан бульдік (логикалық) тип болып True немесе False деген мәндерді
қабылдай алады. Мысалы:
'program r’='program2’ True
£program'‘program' True
'a''A' True
Егер де салыстырып отырған жолдардың ұзындығы әртүрлі болып, бірақ
жалпы жағының символдары бірдей болса, онда қысқа жол ұзын жолдан кіші
болып саналады, мысалы:
'Ахметов''Ахметова' True
Жолдық айнымалыға символдық өрнектің нәтижесін беру үшін (:=)
меншіктеу операторы пайдаланылады.
М ы с а л. Tzl:=' Бірінші курс';
Tz2:= tzl+' студенттері';
Меншіктеу операторындағы өрнектің нәтижесінің ұзындығы
меншіктеу айнымаласының ұзындығынан асып кетсе, артылған символдар
қабылданбайды.
А-ның сипатталуы Меншіктеу Нөтиже
A:string[6] A := '1-курс студенті' '1-курс'
A:string[12] A := 1-курс студенті' '1-курс студе'
A:string[2] A := '1-курс студенті' 1-к'
Символдық айнымалыға меншіктелетін жолдық типті тұрақты шаманың
ұзындығы бір символдан аспауы қажет. Олай болмаған жағдайда қателік туады
да, программаның орындалуы үзіледі.
Мысалы:
Var
сһ: char;
tzl: string[12];
tz2: string[6];
Begin
tzl:= 'тобы'; ;
tz2:= ch + tzl; { a тобы}
tzl:=’*';
ch:=tz1;
Соңғы меншіктеу операторы дұрыс жазылмаған себебі tzl- дің кезекті
мәні бір символдан тұрғанымен, ол String типті болғандықтан, ұзындығы 2
байт, ал char типті аинымалының ұзындығы 1 байт.
Жолдың симболын оның реті (индексі) арқылы да табуға болады. Индекс
бүтін типті өрнек немесе тұрақты түрінде жолдың идентификаторынан соң тік
жақшағаалынып жазылады. Мысал, tzl(2+2), tz2(7) жазылулары tzl жолындағы
төртінші символын, ал tz2 жолындағы жетінші стмволын көрсетеді. Ал tz2(0) -
жолдың ұзындығын көрсететш 0-дік байтқажолашады
1-мысал. "Салыстыру" программасы. Жол типті екі
айнымалыны салыстыратын программаны түзу керек болсын A мен В
айнымалыларына түрлі жол типті мәлшеттер енгізіп салыстыру операциясының
орындалуын тексеріңіздер.
Program RELATION;
Type
S=string[3];
Var
A B : S; {A және В айнымалылары жол типті}
Begin
Writeln('жол типті 2 мәлімет енгізіңіз ‘);
Readln(A);
Readln(B);
Writeln(‘----------------‘);
Writeln('A және В айнымалылар мәндері’);
Writeln('A’,A:2O,'B',B:2O);
{ Экранға салыстыру амалының нәтижесі бер3ktl3};
If AB then writeln ('AB');
If A=B then writeln ('A=B');
IfA=B then writeln ('A=B');
If AB then writeln ('AB');
If AB then writeln ('AB');
If A=B then writeln ('A=B');
End.
Жол типті процедуралар мен функциялар. String типті мәлеметтерді
өндеуде келесі стандартты процедуралар мен функциялар қолданылады.
1.2 Функциялар және процедуралар
COPY(tz, m,n) -tz жолынан m позициясынан бастап n символ бөліп алады.
Егер m-нің мәні жолдың ұзындығынан артық болса, онда функцияның нәтижесі
бос символ болады, егер m255 болса, орындалу барысында қателік туады.
tz:='ABCDEFG' Copy(tz,2,3)- BCD
tz:='ABCDEFG' Copy (tz,4,10)- DEFG
CONCAT (tzl,tz2,...,tzN) -tzl, tz2, ..., tzN жолдарын көрсетілген
ретпен біріктіреді. Біріктірілген жолдың ұзындығы 255-тен аспауы керек.
Concat (‘АЛЬ', ‘ТАРАЗИ', ‘2') - АЛЫАРАЗИ2
Concat('IBM', ' PC’) - IBM PC
LENGTH (tz) -tz жолының ұзындығын анықтайды.
Нөтижесі - бүтін сан.
tz:=423456789' Length(tz) - 9
tz:='IBMPC’ Length(tz)- 6
POS(tzl,tz2) -tzl жолы tz2 жолында кездессе, қай позициядан
басталатынын көрсетеді. Нәтиже бүтін типті.tz2 жолында tzl тізбегі
кезеспесе, онда нәтиже нөлге тең.
tz:='abcdef’ Pos('de', tz)- 4
tz:='abcdef’ Pos (‘V’, tz)- 0
STR(F,tz) -F шамасының сандық мәнін tz символық жолға айналдыру. F-
тен кейін оның форматы көрсетілуі мүмкін, мысалы:
F=1250 STR(F:7,tz) -'__1250'
DELETE (tz,m,n)-tz жолының m позициясынан бастап n символы өшіріледі.
Егер m 255 болса, онда қателік туады.
Tz:='1-топ' delete(tz,3,3) ‘1-'
Tz:='1-класс’ delete(tz,1,3) 'ласс'
Тz:='1-топ' delete(tz,2,l) ‘1топ'
INSERT(tzl,tz2,m)-tzl жолын tz2 тізбегіне m позициясынан бастап
сыналап қосу.
Мысалы Var ...
Т1,T2,TЗ : string(ll);
Begin
Tl := 'АБДХ' ;
T2:='ВГЕ';
T3:= Insert(t2,tl,3);
Соңғы функцияның нәтижесінде t3 жолы ' АБВГЕДХ' жолына тең
болады.
VAL(tz,F,Code) — tz жолының мәнін бүтін немесе нақты типке айналдырып
нәтижені Ғ —те сақтайды. tz —нің басында немесе соңында мәнсіз бос орын
символдыры болмауы қажет. Code —бүтін типті айнымалы. Егер айналдыру
операциясы дұрыс аяқталса Code-нің мәні 0-ге тең, ал кері жағдайда бұл
айнымалыда қатеге әкелген символдың позициясы сақталады.
Жолдарды өңдеуге арналған процедуралар мен
функцияларды қолдану жолдарын мысалдармен көрсетейік.
2-мысал. Берілген жолдағы леп белгілерін нүктелермен алмастыратын программа
құру керек.
Program 2M;
Var
tz: string[30];
i, n: integer;
x: char;
Begin
Read(tz);
{ жолды енгізу}
N:=Length(tz);
{ жолдың үзындығын анықтау}
For i:=l to n do
Begin
x:=copy(tz, i, 1); {жолдың кезекті і-шы символын табу}
Ifx=',’then
Begin
Delete (tz, i, 1); {үтірді ошіру }
Insert (‘!’, tz, i); { леп белгісін қосу}
End;
End;
Write(tz);
End.
3-мысал. Берілген жолды қысқартатын (символдар қайталанбайтын жол
құратын) программа құру керек болсын.
Program 83M;
Type
s=string[30];
Var
tz:s;
i,j,k,n :integer;
Begin
Read(tz);
n:=Length(tz);
k:=0;
For i:=l to n-k do
Begin
While j (n-k) do
Begin
Iftz[i]=tz[j]then Begin
Delete(tz,j,i); k:=k+l;
End;
Else j:=j-fl;
If j:=n-k then delete (tz,j,l);
End;
End;
Writeln(tz);
End.
Жоғарыда келтірілген мәліметтерді іс жүзінде қолданып практикалық
маңызы бар бір мысал қарастырайық.
4-мысал. "Верификация" программасы. Берілген фамилиясы бойынша жеке адамның
белгілі бір топқа жататынын анықтайтын программаны түзу қажет болсын.
Программаның нәтижесі экранға осы адамға байланысты мәліметтерді беру
керек.
Бұл мәселені шешу үшін базалық элементтері String (жол) типті екі
массив керек болады. Біріншісі NN массив элементтері - талдауға түскен
объекттердің идентификаторлары (бүл мысалда — ол жеке адамдардың
фамилиялары). Екіншісі MM массив элементтері болып объекттердің текст
түрінде келтірілген мінездемелері. Енді мәселенің шешілуі келесі алгоритм
бойынша жүргізіледі:
• берілген фамилиясы бойынша бұл адам NN массивтегі топқа
кіретіндігі анықталады;
• егер де бүл адам массивтегі топқа жататын болса, MM массивінен
оған сәйкес мәліметтер беріледі.
5-мысал. "Команда" программасы. Баскетбол командасының құрамына
кіретін спортсмендерге таңдау жүргізетін программа Құру қажет болсын.
Таңдау критерийлері ретінде: спортсмен бойының ұзындығы, оның жылдамдығы
және тығыршыққа доп лақтыру дәлдігі алынады. Спортсмендердің мінездемесіне
фамилиясы, аты, бойының ұзындығы, салмағы, 100м жүгіру жылдамдығы, айыпты
лақтырудағы тигізу пайызы жөне темпераменті кіреді. Темпераментті
бағалайтын шама код ретінде енгізіледі.
Іс жүзінде пайдаланатын программада талапкерлер тізімі алдын ала
дискіде жазылған архивтен алынатын болу керек.
Бұл мысалды шығаратын алгоритм жоғарыда қарастырылғанымыздай.
Өзгешелігі болып әр объект (бізде — ол спортсмен) идентификаторымен
(фамилиясымен) және бірқатар оның спорттық мінездемелерімен анықталады.
Сонда берілген фамилия бойынша спортсменнің ... жалғасы
Ұқсас жұмыстар
Пәндер
- Іс жүргізу
- Автоматтандыру, Техника
- Алғашқы әскери дайындық
- Астрономия
- Ауыл шаруашылығы
- Банк ісі
- Бизнесті бағалау
- Биология
- Бухгалтерлік іс
- Валеология
- Ветеринария
- География
- Геология, Геофизика, Геодезия
- Дін
- Ет, сүт, шарап өнімдері
- Жалпы тарих
- Жер кадастрі, Жылжымайтын мүлік
- Журналистика
- Информатика
- Кеден ісі
- Маркетинг
- Математика, Геометрия
- Медицина
- Мемлекеттік басқару
- Менеджмент
- Мұнай, Газ
- Мұрағат ісі
- Мәдениеттану
- ОБЖ (Основы безопасности жизнедеятельности)
- Педагогика
- Полиграфия
- Психология
- Салық
- Саясаттану
- Сақтандыру
- Сертификаттау, стандарттау
- Социология, Демография
- Спорт
- Статистика
- Тілтану, Филология
- Тарихи тұлғалар
- Тау-кен ісі
- Транспорт
- Туризм
- Физика
- Философия
- Халықаралық қатынастар
- Химия
- Экология, Қоршаған ортаны қорғау
- Экономика
- Экономикалық география
- Электротехника
- Қазақстан тарихы
- Қаржы
- Құрылыс
- Құқық, Криминалистика
- Әдебиет
- Өнер, музыка
- Өнеркәсіп, Өндіріс
Қазақ тілінде жазылған рефераттар, курстық жұмыстар, дипломдық жұмыстар бойынша біздің қор #1 болып табылады.
Ақпарат
Қосымша
Email: info@stud.kz