Аралас типтер. Иерархиялық жазбалар

Автор работы: Пользователь скрыл имя, 06 Марта 2013 в 15:40, курсовая работа

Краткое описание

Мәліметтердің айнымалы типтері стандартты типтерден өзгеше болып келеді. Мәліметтердің әртүрлі типтері үшін амалдар қолдануға болады. Мысалы, нақты сандар үшін + ,- ,* ,/ амалдарын орындағанымызбен, оларға DIV (бөлінді табу), MOD (бүтін санды бүтін санға бөлгендегі қалдыкты табу) амалдарын қолдану мүмкін емес. Мәліметтердің жаңа типін құру бір жағынан амалдарды орындау жолдарын жеңілдетсе, екінші жағынан қате жібермеуге мүмкіндік береді. Сонымен, мәліметтердің стандартты типтерінен өзге жаңа айнымалы типтерді құруға болады. Мәліметтердің бұл типтеріне саналатын және шектелген типтер жатады.

Содержание

I. Кіріспе 4
II. Мәліметтердің күрделі типтері 6
2.1 Жиымдар (массивтер) 6
2.2. Көп өлшемді жиымдар 12
2.3 Жиындар 14
2.4 Жазбалар 17
2.5 Жалғастыру операторы WITH 21
ІІІ. Қорытынды 22
IV. Пайдаланылған әдебиеттер 23
V. Қосымша 24

Вложенные файлы: 1 файл

курсовой.docx

— 122.77 Кб (Скачать файл)

э) Фамилиясы А-дан басталатын студенттер санын анықтайтын программа құру керек. Төмендегідей белгілеулер мен атаулар қабылдайық:

Ml - 5-ке окитын студенттер саны;

М2 - Фамилиясы А-дан басталатын студенттер саны, олардың типі - бүтін; FAM - Фамилия және аты - катталған 18 символдан (ең ұзын фамилия мен аты үшін) тұратын жиым.

В – баға.

program GAZ;

const m=5;

type

t=record

fam:-packed array [l..m] of char;

b: integer;

end;

var c;t;i,k,ml,m2,n:integer;

begin

ml:=0;m2:=0;

writeln (‘студенттер саны N-ді енгіз’); readln(n);

writeln(‘жaзбa элeмeнттepiн:фaм.,aты,бaғa-eнгiз’);

for i:=l to n do

begin

 

 

for k:=l to m do read(c.fam[k]);

read(c.b);

if c.b=5 then m1:=m1+1;

if c.fam[1]-‘A’ then m2:=m2+l

end ;

writeln (‘5-кe оқитындар саны ml=’,ml);

writeln(‘фaмилияcы А-дан басталатын студенттер саны m2=’,m2)

end.

Бұл программа орындала бастағанда экранға мынадай деректер шығады: Студенттер саны N-ді енгіз;

8 ENTER

Жазба элементтерін енгіз: фамилиясы, аты, баға

Асқаров Cepiк - 5

Гайдаров Алмас -5

………………….

5-ке оқитын студенттер саны Ml =6

Фамилиясы А-дан басталатын студенттер саны М2 = 3

Ескерту: Программада N тұрақтысына 18 деген мән берілген ceбeбi, тізімдегі студенттердің фамилиясы мен атының ең ұзыны 18 символдан (бос орынды қосқанда) тұрады.

Фамилия, аты, жөні және баға бip жолға жазылатын болғандықтан оларды еңгізгенде екі рет READ операторы пайдаланылды. Фамилия, аты, жөні символдар тізбегінен тұратыны белгілі, сондықтан мұнда символдарды еңгізу ерекшеліктерін ескеру керек. Яғни, символдарды енгізгенде басылған кез келген перненің мәні символ ретінде қабылданады. Мысалы, бос орын, бip режимнен (латыннан орыс әріпіне көшу) екінші режимге көшу, тіпті ENTER пернесі басылса, оныда символ ретінде қабылданады.

Студенттердің фамилиясы мен аты, жөнінен соң баға жазылады, ал баға сандық мәнін қабылдайтын болғандықтан оның алдындағы бос орындардың ролі жоқ, сондықтан бағаны 19-шы позициядан бастап кез келген позицияға

еңгізуге болады. Символдық мәндерді енгізгенде кездейсоқ қателер жібермеу үшін көбінесе қайталауды While not EOLN DO операторы арқылы орындайды.

Ескерту: енгізілетін символдар саны (көпмүшелік) әр есепте әр түрлі болады, яғни, алдын ала бізгe белгісіз.Сондықтан While not Е OLN DO - пайдаланды, мұнда қашан ENTER пернесі басылмағанша цикл орындала береді.Бұл оператордың алдында міндетті түрде READLN операторы жазылу керек.

 

 

 

 

 

2.5. Жалғастыру операторы WITH

 

Жоғарыда келтірілген мысалдардан жазбаның элементтерін енгізу, шығару және қажетті элементке оралу оның толық атының көмегімен орындалатыны байқалды.Яғни, онда жазба аты, одан соң нүкте арқылы өрістер аттары көрсетіледі.Егер жазба көп өрістерден құралса, онда оның элементтеріне оралу бір шама қолайсыздық келтіретіні белгілі.

Оны оңайлату үшін программада With (қосу, жалғастыру) операторын пайдалану қажет. Ол программада элементтерді олардың атаулары арқылы ғана өрнектеуге мүмкіндік береді.Яғни, оның параметрі ретінде жазба аты (тип аты) алынады да, оның денесіндегі операторларда тек өpic аттары пайдаланылады. Демек жазба атына өpic аттары жалғастырылады.

Оны пайдалану үдерісі (форматы) төмендегідей болады.

With < жазба аты > do

Begin


 

END;

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ІІІ. Қорытынды

 

Мен осы курстық жұмысымда мәліметтердің  күрделі және айнымалы типін,оның ішінде  Жазбаларды қарастырдым. Күрделі типтердің  түрлерін, ұқсастықтарын,орындалу барысындағы  өзгешеліктерін,сипатталуларын жан  – жақты зерттедім.

Паскаль тілінде мәліметтер қарапайым және күрделі типтерге жіктеледі. Қарапайым типтерге - стандартты, саналатын және шектелген типтегі мәліметтер, ал күрделі типтерге жиымдар (массивтер), жиындар (множества) жазбалар (записи) және файлдар жатады. Курделі типтің элементтерінің қарапайым немесе күрделі типте болуы мүмкін.

Әр түрлі типтегі элементтерден құралған күpдeлi типтегі объектілерді жазбалар дейді.

Жазбаны құрайтын элeмeнттepдi жазбаның өpici деп атайды.

Жазбаның элементтерін енгізу, шығару және қажетті элементке оралу  оның толық атының көмегімен орындалатыны байқалды.Яғни, онда жазба аты, одан соң нүкте арқылы өрістер аттары көрсетіледі.Егер жазба көп өрістерден құралса, онда оның элементтеріне оралу бір шама қолайсыздық келтіретіні белгілі.

Оны оңайлату үшін программада With (қосу, жалғастыру) операторын пайдалану қажет. Ол программада элементтерді олардың  атаулары арқылы ғана өрнектеуге мүмкіндік береді.Яғни, оның параметрі ретінде жазба аты (тип аты) алынады да, оның денесіндегі операторларда тек өpic аттары пайдаланылады. Жазбаның және оны құрайтын өрістердің жеке атаулары болады. Өрістің қажетті элементтерін оның атауы бойынша табады.

Жазба типі RECORD кызмет сөзі арқылы сипатталады.

Жазбаның жалпы түрде сипатталуы төмендегідей:

 тип аты=RECORD (өpic тiзiмi) END;

       Жазбаларды білу,көптеген есептер шығару кезінде тиімді әрі ұтымды  болғандықтан,әрбір қолданушы осы бағдарлама түрін білгені дұрыс деп ойлаймын.

 

 

 

 

 

IV. Пайдаланылған  әдебиеттер

  1. Балапанов Е.,Бөрібаев Б.,Бекбаев А.,т.б. Информатика терминдерінің қазақша-ағылшынша-орысша, орысша-қазақша-ағылшынша, ағылшынша-орысша-қазақша сөздігі. –Алматы: Сөздік-Словарь, 1998. -176 б.
  2. Б. Бөрібаев: «Программалау тілдеріне кіріспе».2008 ж.
  3. Б. Бөрібаев, Р. Дүзбаева, А. Махметов: «Информатика және есептеуіш техника негіздері» Алматы, 2005 ж.
  4. Хэнкок Л.,Кригер М. Введение в программирование на языке СИ. М.:Радио и связь. 1986.
  5. Больски М. Н. Язык программирования СИ. М.:Радио и связь. 1988.
  6. Культин Н. Б. Turbo Paskal в задачах и примерах . –СПб.: БХВ-Петербург, 2002.-256 с.
  7. Фаронов В. В. Турбо Паскаль 7.0. Практика программирования: Учебное пособие. Изд. 7-ое.-М.: «Нолидж» 2001.
  8. Фьюэр А. Задачи по языку СИ. М.:Финансы и статистика. 1985 .
  9. З. Уингер. Язык Турбо СИ. М.:Мир. 1991 .
  10. Кнут Д. Искусство программирования для ЭВМ, в 3-х томах. –М.:Мир, 1978
  11. Вирт Н. Алгоритмы и структуры данных: Пер. С англ. –М.: Мир, 1989. – 360 с.
  12. Юлин В. А., Булатова И.Р. Приглашение к СИ.Мн.:Высш. Школа. 1990.
  13. В.В. Тимофеев. Программирование в среде С++. 2000 .
  14. Березин Б. И., Березин С. Б. Начальный курс С и С++ . –М.: Диалог-МРТИ, 1999.-288 с.
  15. Страусртуп Б. Язык программирования С++. 2-е изд.:В 2т. –Киев: Диа Софт, 1993 .
  16. http://fizmat.kaznpu.kz
  17. http://www.google.kz
  18. http://www.yandex.ru

 

 

 

 

 

 

 

V. Қосымша

1-мысал Бip студент жөнінде төмендегі мәліметтерді енгізіп, оны экранға қайта шығаруға программа құру керек.

108 Ахметов Айдар, ер, 1985 жылы  туған, ұлты қазақ

al (-1-өpic) (108 (студент шифры);

а2 (-2-өpic) (Ахметов Айдар (аты-жөні);

аЗ (-З-өpic) (ер (жынысы);

а4 (-4-өpic) ( 1985 (туған жылы);

а5 (-5-өpic) (қазақ (ұлты);

PROGRAM GAZU;

Туре

OKY = RECORD

al, а4: integer;

а2 : string [20];

аЗ : string [4];

а5 : string [6];

END;

VAR S: OKY;

Begin

With S do begin

Write (‘шифр-’); readln (al);

Write (‘аты-жөні-’); readln (a2);

Write (‘жынысы-’); readln (a3);

Write (‘туган жылы-’); readln (a4);

Write (‘улты-’); readln (a5);

Writeln (al : 6, a2 :20, a3 : 5, a4 : 8, a5 : 6);

END

END.

2-мысал. 4A+7B-3A+8A-2K+4P-5R-2B көпмүшелігі берілген. Олардың ішінен А айнымалысы бойынша ұқсас мүшелерін жинастыратын программа құру керек.

PROGRAM KOF;

Туре

E=RECORD;

C:INTEGER;

B:char;

END;

VAR M1,M2:E; S: INTEGER;

Begin

S :=0;

WRITELN (‘көпмүшелікті енгіз’); READLN;

While not EOLN DO

Begin

READ (Ml.C, M1.B);

IF M1.B= ‘A’ then S:= S + M1.C

END;

M2.C:= S;

M2.B:= ‘A’;

WRITELN (‘ұқсас мүше =’ M2.C:3, M2.B)

END.

Программа орындалуы кезінде экранға төмендегідей деректер шығады: Көпмүшелікті енгіз:

4A+7B-3A-8A-2K+4P-5R-2B;

 Ұқсас мүше -9А

3-мысал. Соңы нүктемен аяқталатын цифрлар мен латынның жазба әріпінен құралған мәтін берілген. Бұл мәтінде дауысты дыбыстар көппе жоқ  дауыссыз дыбыстар көппе? Соны анықтауға программа құру керек.

Шешyi.

PROGRAM KIN 14;

Const n=30;

VAR x:char; i, s, g:integer; m,

glas, sogl: set of char;

Begin

m:=l [‘a’… ‘z’];

glas:=[ ‘a’, ‘e’, ‘i’, ‘0’, ‘u’];

sogl:m-glas;

i:=1;s:=0;q:=0;

repeat

write (':');

readln (x);

if x in sogl then s:=s+l;

if x in glas then q:=q+l;

until x= ‘.’;

if s=q then writeln ('дауысты және дауыссыз дыбыстар тең');

else if s<q then writeln (‘дауысты дыбыс кеп’)

else writeln (‘дауыссыз дыбыстар кеп’) END.

 

 

 

 

 


Информация о работе Аралас типтер. Иерархиялық жазбалар