I. есептің берілуі. Крамер формулалары



Дата28.06.2016
өлшемі261.17 Kb.
#162838
МАЗМҰНЫ



КІРІСПЕ

3

I. ЕСЕПТІҢ БЕРІЛУІ. КРАМЕР ФОРМУЛАЛАРЫ

4

II. ЕСЕПТІ ШЕШУДЕГІ ҚОЛДАНЫЛҒАН ПРОГРАММАЛАУ

ОРТАСЫ. ТУРБО ПАСКАЛЬ ПРОГРАММАЛАУ ТІЛІ.



8




2.1.

Компьютерді Турбо Паскальда жұмыс істеуге даярлау

8




2.2.

Паскаль тілінің негізгі элементтері

9




2.3.

Бағыттаушы қызметші сөздер

10




2.4.

Сипаттаушы қызметші сөздер

11




2.5.

Стандартты функциялар

12




2.6.

Паскаль тілінде программалау. Программа құрылымы. Қарапайым программ

13




2.7

Берілгендерді сипаттау

16




2.8

Сызықтық алгоритм

17




2.9.

Шартты Оператор. Жай Шарт.

23




2.10

Құрама оператор

26




2.11

Құрама шарттар

27

ҚОРЫТЫНДЫ

30

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

31

ҚОСЫМША

32

КІРІСПЕ


Паскаль тілін 1973 жылы швейцар математигі Никлаус Вирт жасап шығарады да, атақты француз математигі, физигі, философы және алғашқы есептеу машинасы - арифмометрді /1641/ жасаған Блез Паскальдің құрметіне "Паскаль" деп ат қойды.

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

Паскаль тілі:

 алгоритм құрылымын сақтап құрылған;

 жоғары деңгейлі программалау тілдерінің жақсы қасиеттерін жинақтаған;

 қазіргі замандағы көптеген программалау тілдерінің негізі болып саналады;

Сондықтан бұл тілдің нақты ЭВМ - нің мүмкіндігіне байланысты бірнеше түрлері бар.

Курстық жұмысымның тақырыбы Крамер әдісімен теңдеулер шешуге программа құру.

І. ЕСЕПТІҢ БЕРІЛУІ. КРАМЕР ФОРМУЛАЛАРЫ

Бізге белгісізі бар сызықтық теңдеуден тұратын жүйе берілсін:



(1)

Мұндағы - белгісіздер, - белгісіздердің коэффиценттері; - бос мүшелер.

Анықтама. Белгісіздердің (1) жүйедегі теңдеулердің әрқайсысын тепе-теңдікке айналдыратын мәндерін жүйенің шешімі деп атайды. Шешімі бар жүйені үйлесімді, шешімі жоқ жүйені үйлесімсіз жүйе деп атайды.

Белгісіздердің коэффиценттерінен құралған анықтауышты



(2)

жүйенің (немесе жүйеге сәйкес) анықтауышы деп атайды.

Теорема. Егер (1) жүйеге сәйкес (2) анықтауыштың мәні нөлден өзгеше болса, онда (1) жүйе үйлесімді болады және оның жалғыз ғана шешімі болады.

Енді -дің мәнін табу үшін (1) жүйедегі бірінші теңдеудің -ге , екінші теңдеуді -ге тағы сол сияқты ең соңғы теңдеуді -ге көбейтіп, одан шығатын теңдеулерді мүшелеп қосамыз. Сонда мынау шығады:



Анықтауыштың анықтамасы бойынша, бұл теңдіктің -дің коэффиценті -ға тең болады, ал - дердің коэффиценттері нөлге айналады. Сондықтан



,

яғни болғандықтан,



болады.

Мұндағы


,

.

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



Жалпы үшін төменгі формула шығады:



сонымен (3)

Мұндағы ретті анықтауыш, оның - дан айырмашылығы тек к – тік жолдың элементтерінің орнына сәйкес бос мүшелерді қойсақ, шығады. Сөйтіп, (1) жүйедегі белгісіздердің мәні (3) формулаларымен анықталады. Олар (3) Крамер формуласы деп аталады.

1-мысал.



жүйенің шешімін табу керек.

Жүйенің анықтауышы



нөлге тең болмағандықтан, оның шешімі Крамер формулаларымен анықталады. Мұнда






сондықтан



болады.


Егер (1) жүйедегі барлық бос мүшелер болса, онда ондай жүйені біртектес жүйе деп атайды.

Біртектес жүйе



әрқашан үйлесімді болады, өйткені оның шешімі болады. Бұл шешімді нөлдік шешім дейді. Егер біртектес жүйенің анықтауышы болса, онда жүйенің нөлдік шешімінен басқа шешімі болмайды. Біртектес жүйе үшін Крамер формулалары мына түрге көшеді:



Осыдан біз біртектес жүйенің нөлдік шешімінен басқа шешімінің, тек болғанда ғана болуы мүмкін деген қорытындыға келеміз.

II. ЕСЕПТІ ШЕШУДЕГІ ҚОЛДАНЫЛҒАН ПРОГРАММАЛАУ ОРТАСЫ. ТУРБО ПАСКАЛЬ ПРОГРАММАЛАУ ТІЛІ.

2.1 Компьютерді Турбо Паскальда жұмыс істеуге даярлау


Турбо Паскальда жұмыс істеге дайындау жолы:

WINDOWS-тан проводникке шығу үшін:

(Пуск)Программыпроводник орындаймыз.

Егер компьютерде Borland Pascal 7.0 қондырылған болса, онда С:\ дискісінде BP каталогында BIN каталогын ашамыз, курсорды bp.exe атауына әкеліп, Enter басу. Borland Pascal 7.0 версиясына шығамыз.

Паскальда жұмыс жасау:


  • Жаңа документ ашу керек болса, онда file мәзірінен new пунктін таңдау;

  • Егер бұрынғы документте өзгеріс енгізу керек болса file мәзірінен open пунктін таңдап, керекті файлды ашамыз;

  • Терілген программаның дұрыстығын тексеру үшін; Alt +F9 пернелер комбинациясын басамыз, егер программада қате болса, курсор жіберілген жерді көрсетіп тұрады, қатені түзетеміз. Қате толық түзетілгенде ғана компиляциядан өтеді;

  • Программаны сақтап қою үшін File мәзірінен SAVE пунктін таңдау, файлдың атын жазу;

  • Программаны орындауға(компиляция) жіберу Ctrl + F9;

  • Нәтижені экранға шығару Alt + F5;

  • Файлды дискетаға жазып алу, SAVE пуктін таңдап, келесі команданы тереміз: А:\ файлдың атын жазу;

  • Дискетаны ашу келесі орындалады, OPEN пунктін таңдап, келесі команданы тереміз: А:\ файлдың атын жазу. Enter пернесін басамыз. Сонда дискет іші ашылады. Еректі файлды таңдап Enter пернесін басу керек;

2.2 Паскаль тілінің негізгі элементтері

Паскаль тілінің құрамы мына символдар тобынан тұрады. Олар - әріптер, цифрлар, логикалық мәндер, шектемелер , қызметші сөздер.

Әріптер: Паскаль тілінде негізінен латын алфавиті:

À B C D E G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z пайдаланылады.

Цифрлар: араб цифрлары 0,1,2,3,4,5,6,7,8,9 қолданылады.

Логикалық мәндер: true- ақиқат false- жалған. Бұл сөздердің әрқайсысы символ болып табылады.

Шектемелер. Шектемелер амалдарда қолданылатын шектемелер, ара қатынасты көрсететін шектемелер, шекаралық шектемелер болып бөлінеді.

1) Амалдарда қолданылатын шектемелер:

Қосу(+), азайту (-), көбейту(*), бөлу(/),

Div (а div b-а санын b санына бөлгендегі бүтін бөлігі),

mod (а mod b-a санын b санына бөлгендегі қалдық),

2) Ара қатынасты көрсететін шектемелер:

кіші(<), кіші немесе тең (<=), үлкен немесе тең(>=), тең(=), тең емес(< >).

3) Логикалық амалдардағы шектемелер:



and(логикалық көбейту- және ())

or (логикалық қосу - немесе())

not (логикалық терістеу - емес( -))

3) Шекаралық шектемелер. Шекаралық шектемелерге конструкциялық шектемелер мен жақшалар жатады.

Конструкциялық шектемелерге үтір(,) , нүкте(.), қос нүкте(:), нүктелі үтір (;), бағыттауыш(), меншіктеу таңбасы(:-), ашық орын жатады.

Жақшаларға дөңгелек жақша, квадрат жақша, тырнақша, түсініктеме жатады.

Жоғарыда айтылған символдардан басқа ,?,% символдары да қолданылуы мүмкін.

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


2.3 Бағыттаушы қызметші сөздер

Қызметші сөз

Орысша аудармасы

Қазақша аудармасы


begin

end


goto

if

then



else

for


do

until


while

to

downto



repeat

in

read



write

начало


конец

перейти к

если

то

иначе



для

выполнить

до

пока


увеличивая до...

уменьшая...

повторить

в

ввести



вывести

басы

соңы


көшу

егер


онда

әйтпесе


үшін

орындау


дейін

әзір


… дейін көбейту

дейін азайту

қайталау

ішінде


енгізу

қорытындылау



2.4 Сипаттаушы қызметші сөздер:




Қызметші сөз

Орысша аудармасы

Қазақша аудармасы


array

case


const

file


function

label


packet

procedure

program

set


record

type


var

Массив

Вариант


константа

файл


фукнция

метка


упакованный

процедура

программа

множество

запись

тип


переменная

массив

вариант


тұрақты, константа

файл


фукнция

белгі


ықшамдалған

процедура

программа

жиын


жазба

типі


айнымалы

2.5 Стандартты функциялар



функция

Функцияның жазылуы

Аргументтің типі

Функцияның мәнінің типі

1

х

ABS(x)

R,1

R,I

2

x2

SQR(x)

R,1

R,I

3

Sin x

SIN (x)

R,I

R

4

Cos x

COS (x)

R,I

R

5

ex

EXP (x)

R,I

R

6

ln x

LN (x)

R,I

R

7

x

SQRT (x)

R,I

R

8

arctg x

ARCTG (x)

R,I

R

9


Санның бүтін бөлігін бөлу

TRUNC (x)


R

I

10

Санды дөңгелектеу

ROUND (x)

R

I

11

Алдыңғы элементті табу

PRED (x)

I,C,B

I

12

Келесі элементті табу

SUCC (x)

I,C,B

I

13

Символдар жиынындағы х - ң реттік нөмерін анықтау

ORD (x)



C,B


I



14



Реттік нөмірі арқылы символдар жиынын символды табу

CHR (x)



I



C



15

Тақ санды анықтау

ODD (x)

I

B

I –Integer, R-real, C-char, B-boolean


2.6 Паскаль тілінде программалау.


Программа құрылымы. Қарапайым программа

Алгоритм сызықтық , тармақталу және циклді болып кездеседі. Оның жалпы жазылу түрі:



алг <атау> (айнымалылар сипаттамасы).

басы

<алгоритм денесі>

соңы,

Машинаға түсінікті тілдердің бірінде жазылған алгоритмді программа деп атайды.

Паскаль тілінде программаның структурасы
proqram <аты>;

таңбалар бөлімі (label);

тұрақтылар бөлімі (const);

типтер бөлімі (type);

айнымалылар бөлімі (var);

процедуралар және функциялар бөлімі (procedure,function);

операторлар бөлімі.
Input, output-стандартты атаулар. Input (ендіру)-программаға клавиатурадан ендіру операторы. Оutput (шығару)-экранға не қағазға басып шығару операторы енгізілген кезде жазылады. Оларды жақшалармен қоса программа тақырыбына енгізбей кету мүмкін, компьютер оларды тақырыпта бар деп автоматты түрде қабылдайды.. Программаға операторлар бөлімінен басқа бөлімдердің енгізілуі міндетті емес. Олар қажеттілігіне қарай енгізілуі тиіс.

Паскаль операторлары:

- меншіктеу операторы;

  • ендіру (read);

  • шығару операторы (write);

- құрама оператор ;

  • шартты оператор (if);

- таңдау операторы (case);

  • "әзірше" циклінің операторы (while);

  • "үшін" циклінің операторы (for);

  • "дейін" циклінің операторы (repeat);

  • көшу операторы (goto);

  • бос оператор т.б.

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

Операторлар бөлімі жай және құрылымды операторлардан тұруы мүмкін. Ол BEGIN- нен басталып, END -пен аяқталады да, олардың аралығы нүктелі үтір арқылы ажыратылып, орындалушы операторлар жазылады. END қызметші сөзінің соңына нүкте қойылуы тиіс, ол - программаның аяқталу белгісі. BEGIN

(басы), END (соңы)–ашу, жабу жақшаларының ролін орындайтын қызметші сөздер.Меншіктеу операторының жазылу үлгісі:



<айнымалы атауы>:= <өрнек >

Мысалы: x:=65,25; y: =x; u:=5/x +4*y; y=4-5*cos(x)+6*sin(z); Pi:=3,14;

Оперативті жадыдан мәндерді монитор экранына шығару WRITE операторы арқылы беріледі. Мысалы, х,у айнымалыларының мәндерін экранға шығару операторы – write(x, y), мұнда х,у айнымалыларын WRITE (жазу) операторының параметрі деп те атайды. Параметрлері үтір арқылы бөлініп, жай жақшалар ішінде жазылады.

WRITE операторының түрлі түрде жазылу мысалдары:

1) WRITE (x);

2) WRITE(x,‘ ‘, y); (‘ ‘) - бос орын белгісі

3) WRITE (3*x+5,’ ‘, y+2);

4) WRITE (x:n:m); WRITE(x/2:7:3)

5) WRITE (‘х-ті енгіз.);

Паскальда белгілі мақсатта пайдаланылатын жүйелік файлдар бар. Олардың стандартты атаулары:

INPUT- клавиатурадан ендіру файылының аталуы

OUTPUT-экранға шығару файылының аталуы

LST-принтерде басып шығару файылының аталуы т.б.

Паскаль тілінде құрылатын программада операторлар мүмкіндігінше нөмірленбейді(белгі қойылмайды); әр опрератордан соң нүктелі үтір таңбасы қойылады (ол операторларды ажырату белгісі ); бір жолға сыйғанша бірнеше операторды орналастыру мүмкін. Операторларды жол басынан бастап жазу, бір жолға бірнеше операторды орналастыру және ЕND қызметші сөзінің алдындағы оператор соңына нүктелі үтір таңбасын қою міндетті емес. Программаны оқуға ыңғайлы етіп орналастырса болғаны. Қызметші сөздер мен атауларды жазуға үлкен не кіші латын әріптерін пайдаланудың айырмашылығы жоқ.

2.7 Берілгендерді сипаттау



Бүтін типтер - жадыда 1 ден 4 байтқа дейін орын алатын мәнді айтады. Бұл мәндер кейбір арифметикалық операциялар орындай алады.


Тип

Диапазон

Жадыда керек орын

Byte

0..255

1

Shorint

-128..127

1

Integer

-32768..32767

2

Word

0..65535

2

longint

-2147483648..2147483647

4

Бүтін типтерге келесі арифметикалық операциялар орындайға болады:

+, -, /, *, div, mod және <><=>=стандартты функциялар: abs(x), odd(x), chr(x), sqr(x), sqrt(x) т.б.



Нақты типтер – жадыда 4-ден 6 байтқа дейін орын алатын мәнді айтады. Бұл мәндер арифметикалық операциялар орындайды.


Тип

Диапазон

Жадыда керек орын

Real

2.9*10E – 39..1.7*10E38

6

Single

1.5*10E – 45..3.4*10E38

4

double

5.0*10E – 324..1.7*10E308

8

Extended

1.9*10E – 4951..1.1*10E4932

10

comp

-2E+63+1..2E +63-1

8

Бүтін типтерге келесі арифметикалық операциялар орындайға болады:

+, -, /, *, div, mod және стандартты функциялар: abs(x), odd(x), chr(x), sqr(x), sqrt(x) т.б.

2.8 Сызықтық алгоритм

Сызықтық алгоритм негізінде құрылған программаны сызықтық деп, оның жай типті айнымалыларды пайдаланып құрылған түрін қарапайым деп те атайды.
1.1-мысал . 854 пен 456 сандарының қосындысын табу керек болсын.

Program kos; схемасы



var a, b, s: real;

begin


а:=6.5; b=3.9;


à:=854; b:=456;

s:=a + b
S:=a + b;

write’s:=’, s:7:5;

end.

Барлық меншіктеу операторларын пайдаланып, айнымалылардың түрлі мәндерімен жұмыс істеу ыңғайлы емес, себебі әр жолы , меншіктелінетін мәндерді алмастыру керек.



Программаны өзгертпей жұмыс істеу үшін READ (оқу) операторын пайдалану ыңғайлы. Оның жазылу түрі:

READ x1,х2,...,хк

Мұндағы хі і=1,2,3,...,к ендірілетін мәндерді сәйкес түрде қабылдайтын айнымалылар.

Енді мысалды READ операторын пайдаланып, программаны жалпы жағдайға лайықтап жазайық.


program kos;

var a, b, s :real;

begin



s:=a + b
write ’a, b=’;

readln a,b ;



S:= a+b;

write ’s:=,’s:9:4)

end.



Программаның орындалу барысында READ операторы кездессе, машина айнымалылар мәндерін ОЖ- ға ендіруді күтіп, тоқтап қалады. Мәндерді клавиатурадан аралықтарына бос орын қалдырып теріп, Enter пернесін басса, программаның орындалуы одан әрі жалғасады.

READ опреторының алдында мәндерді ОЖ ендірілуі тиіс айнымалыларды WRITE операторы арқылы экранда көрсетіп қойған жөн.

1.2 мысал. Қабырғалары берілген, үшбұрыштың ауданын табу керек.

program audan;

var


a, b, c, p, s: real;

begin


write ’a, b, c=?’;

read a, b, c;

P:=a+b+c/2;

S:=SQR p*p-a*p-b*p-c;

write ’p:=’,p:4:2,‘s:=’,s:4:2

end.
WRITE, READ- Паскальдың стандартты атаулары. Кейде олардың соңына LN жалғауын қосып, WRITELN, READLN түрінде жазу қажет. Мысалы:

readln a, b, h;

writeln x: 6: 2.

Мұндай оператор орындалған соң курсор экранда өзінің тұрған орнынан келесі жолдың басына ауыстырылады да, кезекті оператордың орындалуы экранда осы жерден бастап, көріне бастайды. Егер келесі жолды бос күйінде тастап кету қажет болса, программаға соңғы орындалатын LN жалғаулы операторлардан соң параметрсіз WRITELN операторын енгізсе болғаны.
1.3 - мысал. x, у үшін х2-sin(у) мәнін экранға шығару программасын құру керек.

program f;

uses crt;

var x, y, p: integer;

begin

clrscr;


write('x, y=');

readln (x, y);

p: =sqr(x) -sin( y);

writeln;


write('p:=',p)

end.
Программаның орындалуы экранда мынандай түрде болады.

{Ctrl+F9 (компиляцияға жібереміз)}

x, y=


45

45

{Alt+F5 (жауабын аламыз)}



p=57

Мұндағы clrscr (clear screen-экранды тазалау).

Uses crt, keupressed Турбо Паскальдағы тиісті жүйелік программалардың crt атаулы бөліміндегі экранның текстік режимін басқару құралдары.

Символдық шамаларды жолмен және бағана бойымен жазу.

program semia;

uses crt;

begin


clrscr;

writeln('Ernur,', 'Ainur,');

writeln('Adiljan,', 'Aisulu,');

writeln ('Marat,', ' Aknur');

writeln('Leila,', 'Timur,');

writeln;


end.

Түсініп оқуға жеңіл болу үшін күрделі программның әр жеріне түсініктемелер жазылады. Олар { } не (*) символдарының аралықтарына орналастырылады, мысалы: {Аудан}, {*Периметрдің жартысы*}. Компьютер түсініктемені оқымай тастап кетеді, ол тек программаны оқуды оңайлату үшін ғана қажет.


1.4 - мысал. Write операторын пайдаланып , өрнектер , тақырыптар орнаменттер салу процедурасы
PROGRAM х ;

BEGIN


WRITELN (' х ' );

WRITELN (' x x ' );

WRITELN (' x x ' );

WRITELN (' x х х х х x ' );

END .

Баспасы х



x x

x x


x х х х х x болады.

1.5- мысал. А,В сандарының арифметикалық және геометриялық ортасын анықтайтын программа жазыңдар, а, в санының арифметикалық ортасы (а+в)/2­; в, а санының геометриялық ортасы:


PROGRAM Esep;

VAR


A,B,P,S :REAL;

BEGIN


READ ( A,B );

P=SQR(A*B);

S;=(A+B)/2;

WRITELN (' P= ',P);

WRITELN (' S= ',S);

END.


1.6- мысал. Тік бұрышты үшбұрыштың катеттері берілген. Оның гипотенузасын және ауданын табатын программа құр. A2+B2=C2; C=
PROGRAM Esep-1;

VAR


A,B,С,S:REAL; { айнымалыларды сипаттаймыз}

BEGIN


READ (A,B ); {айнымалыларды енгізу}

C:=SQRT(SQR(A)+SQR(B)); {есептеу}

S:=A*B/2;

WRITELN(‘S=’, S);

WRITELN ('C=',C); {Жауабын шығару}

END.


1.7- мысал. х және y нақты сандары берілген. есептейтін программа құр.

PROGRAM Esep-2;

VAR

X,Y,Z :REAL; { айнымалыларды сипаттаймыз}



BEGIN

WRITELN(‘X=’);

READ (X ); {X-ті енгіземіз}

WRITELN(‘Y=’);

READ (Y ); {Y-ті енгіземіз}

Z:=(ABS(X)-ABS(Y))/(1+ABS(X*Y));

WRITELN (' Z= ',Z);

END.


2.9 Шартты Оператор. Жай Шарт.


Шартты көшу операторы.

Шартты көшу операторы, белгілі бір шарттардың орындалуына байланысты, операторлардың орындалу тәртібін өзгертіп отырады. Бұл операторларды екі түрде жазуға болады;


Толық түрі Толық түрі Паскаль тілінде

Егер шарт IF-THEN-ELSE


онда 1 -серия if A then B else

әйтпесе 2-серия жазылу үлгілері

бітті IF (шарт) THEN(оператор1 )ELSE(оператор 2)
Екі серияның біреуі ғана орындалады. Егер шарт сақаталатын болса, онда 1 - серияны, ал шарт орындалмаса, 2 - серияны орындау керек.


Қысқаша түрі Паскальда

егер шарт

онда серия

бітті

IF-THEN(қысқартылған түрі)

Жазылу үлгісі

IF(шарт) THEN(оператор)

Бұл жағдайда шарт сақталса, онда серия орындалады, ал қарсы жағдайда серияны аттап өтеді.




Мұндағы IF (егер), THEN (онда), ELSE (әйтпесе) - қызметші сөздер
ELSE сөзінің алдындағы оператордың соңына нүктелі үтір қойылмайды.

Толық түрде берілген IF опрераторының орындалуында шарттың мәні ақиқат болса, басқару бірінші операторға, жалған болса, екінші операторға өтеді. Қысқартылған түрде берілген IF опрераторының орындалуында шарттың мәні ақиқат болса, басқару операторға, жалған болса, оны аттап өтеді.


2.1 мысал. Функцияның мәнін есептеу керек.

х2+3, x<1

y=

sinx +4, x>=1

Программа:

program man;

(*функцияның мәнін есептеу*)

var x, y: real;

begin write(‘x=?’);

readln(x);

if x<1 then y:=sqr(x)+3

else y:=sin(x)+4;

write(‘ y’,y:6:3)

end.
2.2. мысал. Экранға екі санның үлкенін шығару керек.

program Esep–1;

var x, y: Integer;

begin


Writeln ('екі санды енгіз');

{ бос орын тастап екі бүтін сан енгіземіз}

readln (x,y);

If x>y then writeln (x)

{ егер х, у-тен үлкен болса, онда х-ті шығарамыз }

else writeln (y)

{ әйтпесе y – ті шығарамыз}

readln; end.

2.3-мысал. Клавиатурадан енгізілген сандар (0;5) интервалына жататындығын не жатпайтыныдығын анықтайтын программа жазайық.

program Esep–2;

var x: integer;

begin


writeln (‘x санын енгіз ‘);

readln (x);

if (x>0 and x <5)

then writeln (x, ’(0,5) – ге жатады ‘)

else writeln (x, ‘ (0,5) – ге жатады’)

end.
2.4-мысал. a*b-(a-b)*a/b өрнегінің мәнін 0.01 дәлдікпен студенттің есептегенін дұрыстығын тексеру керек.


program urnek;

a,b,c,t,z:real;

begin

writeln(‘ а мен b енгіз ’)



readln(a);

readln(b);

c:=a*b-(a-b)*a/b;

t:=round(c*100)/100;

write (‘0.01 дәлдікпен есептелген мән, студенттің есептегені=?’);

readln(z);

if z=t then write(‘жарайсың дұрыс!’);

else write (‘дұрыс емес!’);

end.
Мұндағы t - өрнек мәні 0.01 - ге дейінгі дәлдікпен меншіктелінетін айнымалы (мәнді есептеу мен дәлдіктеуді машина орындайды);

Z-студенттің 0.01 дәлдікпен дайындаған жауабы.


2.10 Құрама оператор

Кейде then, else қызметші сөздерінен соң бірнеше операторлар енгізілуі мүмкін. Паскальда осы сияқты бір серияда орындалатын операторлар тізбегі бір оператор түрінде қарастырылады да, оны құрама оператор деп атайды. Құрама оператор да Begin, END операторлық жақшаларына алынып жазылады және END -тен соң нүкте қойылады.



Мысалы:

begin x:=5.2; y:=3*x+7

write(‘y=”;y’)

end.


2.5-мысал ах2+вх +с=0 теңдеуінің нақты облыстан алынған түбірлерін табу керек.

Программа:

program kvi :

uses crt;

var a,в,с,d,х1,х2: real;

begin clrscr: write (‘а,в,с=’);

readen (а,в,с); d:=в*в-4*а*c

if d<0 then write (‘нақты облыста түбір жоқ’)

else begin

x1:= (-в+sqr(d))/(2*а);

x2:= (-в-sqr (d))/(2*a);

write (‘х1=’,х1:5:3,’ x2=’, x2:5:3)

end.


Программа then - нен соң екі оператор енгізілгендіктен, олар begin-end операторлық жақшаларына алынады.
2.11 Құрама шарттар

2.6 мысал. I облыста М(х,у) нүктесі радиусы 5-ке тең дөңгелекте жататынын анықтайтын тексері керек.



Программа:

Program D1 ;

uses crt ;

var x, y: real;

begin clrscr;

writeln (‘x, y=?’); readln(x,y);

if (x*x+y*y =25) and (x=0)

and (y=0) then write (‘ true’)

else write (‘false’)

end.
2.7 мысал. Функцияның мәндерін есептеу алгоритмін жазыңдар.



õ2 ,óõ2

y= ó4, õ3, ó3

õ3, ó2õ-1
program мән uses crt;

var x,y: real;

begin clrscr;

read(x);


if x<2.0

then y:=x*x

else if x<3.0

then y:=4.0

else y:=2*(x-1);

write (y=,y)

end .

2.8 мысал. Қайсыбір айнымалы литерлік шама латын алфавитінің әрпі екендігін анықтайтын программа жазыңдар.



Программа:

program латын;

var sim: char;

begin


read(sim); (*Char типі реттелгендіктен, шарт былай жазылады*)

if (Sim >=A) and (Sim<=Z)

then

write (‘Sim’,Sim,’латын алфавитінің әрпі’ )



else write (символ латын алфатиінің әрпі емес)

end.


Есептер шығару барысында екі емес, көптеген варианттарды қарастыруға тура келеді. Мұны бірнеше шартты операторды пайдалану арқылы іске асырылады. Мұндай жағдайда then және else қызметші сөздерінен кейін жаңа шартты оператор жазылады.
2.9- мысал. а, в,с бүтін сандары берілген. Егер авс болса, онда барлық сандарды олардың квадраттарымен, егер а>в>с болса, онда олардың әрқайсысының ішіндегі үлкенімен алмастырыңдар, қарсы жағдайда әрқайсысының таңбасын өзертіңіз.

Шешуі:

Есептердің шартын төмендегідей етіп жазып көрейік:

егер авс болса а:= а2, в:=в2, с:=с2,

егер а>в>с болса, онда а:=с, в:=с;

басқа жағдайда а:=-а, в:= в, с:= -с

program Esep;

var а,в,с: integer;

begin


writeln (‘а,в, с сандарын енгіз);

readln (a,в,с);

if (aв) and (вс)

then begin

a:= sqr (a); в: = sqr (в); c: = sqr (c)

end.


else if (а>в) and (в>c)

then begin a: =c; в:=c end;

else begin a:=-a; в:=- в; c:=-c end;

writeln ( a:3; в:3; c:3) ;

readln

end.


Ескерту. Бірінің ішінде бірі орналастырылған операторлар қысқартылған шартты оператор болса ( біздің қарастырылған мысалдағыдай), онда шартты операторлардың арасындағы шекара туралы түсінбестік тууы мүмкін. Мұндай жағдайда қызметші сөз ең else жақын if -ке тиісті деп есептеу керек.

ҚОРЫТЫНДЫ


Паскаль тілінде программа жазғанда мынадай мәселелерді ескеру керек:

1. Басқа тілдердегідей Паскаль тілінде де, "қызметші" сөздер бар. Мысалы: begin, end т.б. Олардың атын басқа мақсаттарға пайдалануға болмайды. Оларды басқа символдарды

Паскаль тілінде программа жазғанда мынадай мәселелерді ескеру керек:


  1. Басқа тілдердегідей Паскаль тілінде де "қызметші сөздер " бар. Мысалы: begin, end т.б. Олардың атын басқа мақсаттарға пайдалануға болмайды. Оларды басқа символдардан ажырату үшін ерекше әріптермен жазады, ал жазбаша программа құрған кезде олардың астын сызып отырады.

  2. Паскальдың кейбір варианттарында бас әріптер мен кіші әріптер өзара ажыратылмайды. Мысалы: А, а әріптері бірдей таңба болып есептеледі.

  3. Программаның көпшілігінде айнымалылар, константалар, процедуралар бір-бірімен бірінші алты немесе сегіз символ арқылы ажыратылады. Сондықтан ұзындығы 6-8 символдан көп айнымалылардың, константалардың, процедуралардың қажеті шамалы.

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




  1. Лапчик М.М. «Вычисления. Алгоритмизация. Программирование» Москва «Просвещение» 1988г.

  2. Гусева А.Н. « Учимся информатике: задачи и методы их решения» Диалог - МИФИ 1988 г.

  3. И.А. Бабушкин, Н.А. Бушмелева, С.М. Окулов, С.Ю. Черных «Практикум по Турбо Паскалю» Выпуск 1,2,3 № 44,46,48 1997 г.

  4. Н. Культин «Турбо Паскаль для начинающих» БХВ – Петербург 2000 г.

  5. С.А. Абрамов, Г.Г. Гнездилова, Е.Н. Капустина, М.И. Селюн «Задачи по программированию» Москва «Наука» 1988 г.

  6. Н. Культин «С++ в примерах и задачах » БХВ – Петербург 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('****************Kramer****************');

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;


{for i:=1 to n do begin

for j:=1 to m do

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

writeln;


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.

Достарыңызбен бөлісу:




©dereksiz.org 2024
әкімшілігінің қараңыз

    Басты бет