Программа құрылымы

Автор работы: Пользователь скрыл имя, 24 Февраля 2013 в 14:04, курсовая работа

Описание

Паскаль тілінің шығу тарихына тоќталатын болсаќ. Алгоритмдік тіл АЛГОЛ 1950-60 жылдары шыќќан. Паскаль тілі осы АЛГОЛ-дың мұрагері болып табылады. Бұл тілді шығарған швейцардың ғалымы НИКЛАУС ВИРТ ол осы тілмен өз студенттерін үйреткісі келді.

Содержание

КІРІСПЕ
3
1.
ТУРБО ПАСКАЛЬ ТІЛІНДЕГІ ПРОГРАММА ҚҰРЫЛЫМ

4

Метка бөлімі
5

Тұрақтылар бөлімі
6

Айнымалылар бөлімі
6

Операторлар бөлімі.
7
2.
БАСҚАРУШЫ ОПЕРАТОРЛАР

14

2.1. Ќұрама операторлар
14

2.2. Тармақталу операторы
16

2.2.1. Шартсыз кµшу операторы
16

2.2.2. Шартты операторлар
16

2.2.3.Таңдау операторы
18

2.3. Қайталану операторлары.
2.3.1. Цикл әзір
20
20

2.3.2. Цикл дейін.
21

2.3.3. Параметрлік қайталау.
21

3.
АЛГЕБРАЛЫҚ ТЕҢДЕУЛЕР ЖҮЙЕСІН ГАУСС ӘДІСІМЕН ШЕШУ.

23


ҚОРЫТЫНДЫ

27


ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР

28


ҚОСЫМША

29

Работа состоит из  1 файл

Айзат.doc

— 186.00 Кб (Скачать документ)

ГАУСС ӘДІСІМЕН ШЕШУ.

Жалпы түрде берілген (3.1) теңдеулер жүйесін қараймыз. Кері матрица әдісі мен Крамер формуласын белгісіздер саны мен  белгісіздер саны өзара тең болғанда және жүйенің анықтаушы 0-ге болмаған жағдайда ғана қолдануға болады. Жалпы жағдайда көбінесе Гаусс әдісі қолданылады.

Гаусс әдісі деп белгісіздерді  біртіндеп табу әдісін айтады. Бұл  әдіс бойынша түрлендірулерді қолдану  арқылы теңдеулер жүйесі баспалдақ түріне келтіріледі. Сонан соң соңғы жолдан бастап белгісіздерді біртіндеп таба бастайды. Матрицада элементар түрлендірулерді теңдеулер жүйесіне емес, Матрица кеңейтілген матрицасына жүргізеді. (3.1) жүйенің келтірілген матрицасы деп

матрицасын айтады

Сонымен, элементар түрлендірулер  арқылы  матрицасын сатылы түрге келтіреміз. Егер элементар түрлендіруді қолдану барысында жатық  жолдың соңғы элементінен (бос мүшеден ) бас элементтері нөл санына тең болып шықса, онда берілген үйлесімсіз жүйе болады. Бұл жағдайда жүйенің шешімі дереу тоқтатамыз. Егер де элементар түрлендіру кезінде нөлдерден тұратын жатық жол щықса, ол жатық жөнінде элементар түрлендірудің анықтамасы бойынша матрица құрамынан алып тастаймыз. Кеңейтілген матрицаны сатылы түрге келтіргеннен кейін, ол арқылы теңдеулер жүйесін құрамы. Осы теңдеулер жүйесін соңғы теңдеуінен бастап бір-бірінен шешеміз. Егер соңғы теңдеуде бірнеше белгісіз болса, онда олардың біреуін басқалары арқылы шешеміз, яғни бір белгісіз басқасын белгілі деп жариялап, белгісіз айнымалыны белгілі айнымалылар арқылы өрнектейміз. Табылған белгісіздерді жоғарғы тұрған теңдеуге қойып, келесі белгісізді таба бастайды.

Осы процесті бірінші  теңдеуге дейін жеткізіп, барлық белгісіздерді  анықтаймыз. Енді осы Гаусс әдісін мысалдар көрсетелік.

Мысал:

теңдеулер жүйесін Гаусс әдісімен шешіңіз.

 

Шешуі. Жүйенің кеңейтілген матрицасын құрамыз;

 

 

Мұнда есептеуге ыңғайлы  болу үшін бос мүшенің бағанасы басқа  тік жолдарын түзу арқылы бөлініп  тұр. Бірінші тік жолдың   2-ші, 3-ші және 4-ші элементтерін нөл жасау үшін 1-ші жатық жолды -2-ге көбейтіп 2-інші жатық жолға, 3-ке көбейтіп 3-інші жатық жолға және 2-інші жатық жолды 4-нші жатық жолға қосамыз:

 

   ~ 

 

    Соңғы матрицада  екінші жатық жолға үшінші  жатық жолды, ал үшінші жатық  жолға 2-ге көбейтілген төртінші  жатық жолды қосамыз, сонан  соң төртінші жатық жолды 2-ге  бөлеміз:

~

 

    Енді төртінші  жатық жолға екінші жатық жолды  қосып, сонан соң үшінші жатық  жол мен төртінші жатық жолдардың  орындарын ауыстырып жазамыз:

 

 

    Үшінші жатық  жолды 5-ке бөліп жазамыз, сонан  соң оны 13-ке көбейтіп, төртінші  жатық жолға қосамыз:

 

 

    Жүйенің кеңейтілген  матрицасын баспалдақ түрге келтірдік.  Енді осы матрица бойынша теңдеулер  жүйесін қалпына келтіреміз:

    Соңғы екі  теңдеуден  -пен -ті тауып, екінші теңдеуге қоямыз. сол сияқты...

Жауабы: (15;46;21;-20)

 

Мысал. Гаусс әдісімен

теңдеулер жүйесін шешіңіз.

    Шешуі. Элементар  түрлендіру арқылы кеңтілген  матрицаны баспалдақ түріне келтіреміз:

~
~

 

   Соңғы жатық  жол бойынша теңдеу құратын  болсақ, 0=-3 шығады. Сондықтан берілген  жүйе үйлесімсіз, яғни оның шешімі  жоқ.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ҚОРЫТЫНДЫ

 

Жоғарыда паскаль тілінің негізгі операторларын қарастырдық. Бұл операторладың көмегімен әртүрлі қиындықтағы алгоритмдік тілде көрсетуге болатын, кез - келген программаны жазуға болады. Ал алгоритмдік тілде әртүрлі қиындықтағы есептерді көрсете аламыз.

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

Гаус әдісімен теңдеулер  жүйесін шешу үшін де қолайлы Турбо  Паскаль ортасын таңдадым.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ҚОЛДАНЫЛҒАН ӘДЕБИЕТТЕР

 

  1. Г. Л. Семашко, А. И. Салтыков “Программирование на языке паскаль” - Москва “Наука”, 1988.
  2. О. Н. Перминов “Язык программирования паскаль” - Москва “Радио и связь”, 1989.
  3. Фаронов “Turbo Pascal 7.0”

1.Ғ.Ш.Тойкенов,    Паскаль тілінде программалау, Алматы “Дәнекер” 2001 жыл.

2.В.Э.Фигурнов,    IBM PC для пользователя.                   Москва “Инфра-М” 1996 год.

3.Е.А.Бурин,    Программирование на языке TURBO-PASCAL.      Алматы 2000 год.

4.А.И.Марченко, Л.А.Марченко, TURBO PASCAL.  Киев “Век+” 2000 год.

5.В.И.Грызлов, Т.П.Грызлова. TURBO PASCAL. Москва, ДМК, 1999 год.

6.Н.Б.Культин. “ Программирование в TURBO PASCAL 7.0 и Delphi.”                                                                                       Санкт-Петербург.1997 год.

7.Л.М.Климова. PASCAL 7.0.  Практическое программирование.      Москва. 2000 год.

 

  

 

 

 

 

 

 

 

 

 

ҚОСЫМША

uses crt;

var

i,j,k,l,m,n,h,g1,g2:integer;

s,x1,x2,x3,d:real;

a:array[1..9,1..10] of integer;

x:array[1..9] of real;

begin

clrscr;

l:=0;

h:=0;

writeln('*****Vvedite razmer massiva*****');

write('n= ');

readln(n);

write('m= ');

readln(m);

writeln('*****Vvedite massiv *****');

for i:=1 to n do

   for j:=1 to m do 

   begin

      write('a[',i,',',j,']= ');

      readln(a[i,j]);

    end;

clrscr;

writeln('*****Dano massiv*****');

for i:=1 to n do

begin

   for j:=1 to m do

       write(a[i,j]:4);

    writeln;

end;

writeln('**********************');

writeln;

for i:=1 to n-1 do

begin

  l:=l+1;

    h:=h+1;

    g1:=-a[l,h];

  for j:=h to n-1 do

  begin

    g2:=a[j+1,i];

    for k:=l to m do

      a[j+1,k]:=a[i,k]*g2+a[j+1,k]*g1;

  end;

end;

writeln;

writeln;

writeln;

x[m-1]:=a[n,m]/a[n,n];

for i:=n-1 downto 1 do

begin

  s:=0;

      for j:=i+1 to n do

     s:=s+a[i,j]*x[j];

  x[i]:=(a[i,m]-s)/a[i,i];

end;

for i:= 1 to n do

  writeln('x[',i,']= ',x[i]:4:2);

readln;

end.




Информация о работе Программа құрылымы