Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Bakit-pasсал-лек.doc
Скачиваний:
44
Добавлен:
01.05.2015
Размер:
665.6 Кб
Скачать

3. Паскаль бағдарламасының құрылымы

Бағдарлама құрылымы. Бағдарлама келесі бөлімдерден тұрады: бағдарлама тақырыбынан:

program < бағдарлама аты>;

сипаттамалық бөлімінен:

uses – кітапхана мен модулдерді қосу;

label – белгілерді хабарлау;

const – тұрақтыларды хабарлау;

type – типтерді сипаттау;

var – айнымалыларды хабарлау;

procedure – қолданушы процедурасын хабарлау;

function – қолданушы функциясын хабарлау

және есептеулер орындалатын бөлімнен тұрады.

begin

<жарлықтар бөлімі>

end.

Бағдарлама тақырыбының, сипаттамалық бөлімнің және т.б., яғни соңғы есептеулер бөлімінен басқаларының болуы міндетті емес. Бағдарлама құрылымдары (жарлықтары) арасын ажырату үшін «;» таңбасы қойылады. Ал бағдарламаның соңында әрқашан да нүкте қойылады.

Бағдарламаға атауды бағдарламашы береді. Қолданушы бағдарламасындағы, айнымалыларды атайтын атаулар мен қызметші сөздердегі үлкен және кіші әріптер бірдей нәтижеге ие болады. Мысалы, А және а атаулары (немесе ASAN және asan) бір объектіні білдіреді.

Бағдарламада түсініктеме беруге болады. Түсініктеме – фигуралы жақшаның {} *_* жұлдызшалардың арасына жазылады. Түсініктеме бағдарлама жұмысын түсіндіру үшін қолданылады және жарлықтардың (операторлардың) орындалуына әсер етпейді. Ол бағдарламаның кез-келген жеріне орналастырылады.

Бағдарламаға енетін шамалардың мәні бағдарлама орындалғанда өзгермейтін болса, онда олар тұрақтылар бөлімінде сипатталуы тиіс:

const = <1-тұрақты> = <1-мән>

….

<n-тұрақты> = <n-мән>;

Ал егер олардың мәні есептелінетін болса, айнымалылар бөлімінде сипатталады:

var <1-айнымалылар тізімі> : <1-айнымалылар типі>;

…..

<n-айнымалылар тізімі> : <n-айнымалылар типі>;

Тізімдегі элементтер үтір арқылы ажыратылып жазылады.

4. Бағдарламалау жүйесінің негізгі компоненттері. Парадигмалары. Классификациясы.

Паскаль тілін ХХ ғасырдың 60-70 жылдары Швейцарияның Н.Вирт деген профессоры құрды және оның бұлай аталуы әлемдегі ең алғашқы механикалық есептеу машинасын жасаған француз математигі және философы Блез Паскальдың (1623-1662 жж.) құрметіне берілген. Бұл тіл басқа бағдарламалау тілдерімен салыстырғанда мейлінше жетілдірілген болып табылады. Оны әртүрлі есептерді шешу үшін қолданады.

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

and – және mod – қалдық

array – массив nil – ноль

begin - басы not – емес

case - таңдау of – бастау

const – тұрақты or – немесе

div - қалдықсыз бөлу packed – жинақталаған

do - орындау procedure – процедура

downto – дейін төмен қарай program – бағдарлама

else - әйтпесе record – жазу

end - соңы repeat – қайталау

file - файл set – жиын

for - үшін then – онда

funсtion - функция to – дейін

goto - көшу (өту) type – түр

if - егер until – әзір

in - ену var – айнымалы

label - белгі while – әзір және т.б.

Қызметші сөздер мен қолданушы атауларының арасындағы аралық сөздердің үлкен жиынтығы – стандартты атаулар деп аталады.

Олар бірнеше топқа бөлінеді:

  1. Мәліметтердің стандартты типтерінің атаулары:

  • boolean (логикалық);

  • char (символдық);

  • integer (бүтін);

  • real (нақты);

  • text (мәтіндік файл) және т.б.

  1. стандартты тұрақтылардың атаулары:

false (жалған), true (ақиқат), maxint (ең үлкен бүтін), pi ( π саны) және т.б.

  1. стандартты функциялардың атаулары: abs, arctan, cos, exp, ln, sin

4) стандартты процедуралардың атаулары: read, readln, write, writeln, inc, dec және т.б.

Стандартты атауларды басқа объектілерді белгілеу үшін де қолдануға болады, онда олар өзінің негізгі қызметін жоғалтады. Бағдарламада, подпрограммада қолданушы шамаларға (тұрақтыларға, айнымалыларға) берілетін атаулар латын әріптерінен, цифралардан және "__" таңбасынан тұрады. Атауда цифр бірінші таңба болып жазылмайды. Мысалы: бағдарламаны былай атауға болады: murat_program_1.

Негізгі стандартты функциялар мен процедуралар

х-тің абсолют мәні; /х/ - abs (x)

argtan(x)- arctg x

cos (x) - cos x

sin (x) - sin x

exp (x) - ex

ln (x) - ln x, x > 0

sqrt (x) - , x ≥ 0 квадрат түбір

sqr (x) - x2

ard (x) - таңбаның ASCII коды

sacc (x) - х-ң келесі мәні

pred (x) - х-ң алдыңғы мәні

round (x) - х санын бүтінге дейін дөңгелектеу

trunc (x) - х санының бүтін бөлігі

int (x) - х санының бүтін бөлігі

frac (x) - х санының бөлшек бөлігі

odd (x) - х-ң жұптығын тексеру (true -тақ, false-жұп)

random (x) - [0.1] аралығындағы кездейсоқ сан

upcase (x) - латынның кіші әріптерін үлкенге алмастырады

Процедуралар

inc (x, y) - х-ті у-ке үлкейту

inc (x) - х-ті 1-ге үлкейту

dec (x,y) - х-ті у-ке кішірейту

dec (x) - х-ті 1-ге кішірейту

Процедуралардың орындалуы мен функциялардың мәніне мысалдар қарастырайық:

tound (3.1) = 3, int (3.1) = 3.0, x: = 1; inc (x,6); (x=7),

tound (7.8) = 7, int (7,8) = 7.0, x: = 'a'; inc (x); (x = 'b'),

trunc (3.1) = 3, frac (3.1) – 0.1, x: = 8; dec (x,2); (x=6),

trunc (7.8) = 7, frac (7.8) = 0.8, x: = 'd'; dec (x); (x = 'c').

Басқа математикалық функцияларды негізгі функциялар арқылы өрнектеп жазамыз:

tg(x) = sin (x)/ cos (x), arccos (x) = arctg (),

arcsin (x) = arctg (), xa = exp (a*ln (x)), x>0,

logba = ln (a)/ ln (b)

2-лекция. Сызықтық алгоритмдерді бағдарламалау

Қарапайым бағдарламалар. Сызықтық, қарапайым бағдарламаның операторлар (жарлықтар) бөлімі меншіктеу, мәліметтерді енгізу-шығару және процедураны шақыру жарлықтарынан құралады.

1.Меншіктеу операторы. Оның жалпы түрі мынадай:

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

Ереже. Өрнек есептелінеді және оның мәні айнымалыға меншіктеледі. Өрнек есептеу орындалатын формулаларды сипаттайды және оның құрамында сандар, айнымалылар, тұрақтылар, функциялар және амалдар болады. Мысалы,

y : = 2 cos (2x-1) +

осы өрнекті тілдің ережелері бойынша жазайық:

y : = 2* cos (2*x-1) + abs (sin (x*x)) / sqrt (x+1.7)

2.Мәліметтерді енгізу (read, readln) жарлығы. Айнымалыларға мәнді екі түрлі тәсілмен: меншіктеу операторының, мысалы, х:=6, немесе мәліметтерді пернетақтадан енгізу жарлығының көмегімен беруге болады. Екінші тәсіл бағдарламаны мейлінше әмбебап жасайды, себебі бір есепті айнымалылардың әртүрлі мәндері үшін шешу мүмкіндігін беред. read жарлығының жалпы түрі:

read (<1 айнымалы >, …, < айнымалы>);

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

Мәліметтерді шығару (write, writeln) жарлығы. Экранға хабарларды және бағдарламаның нәтижелерін шығару үшін write және writeln жарлықтарын қолданады. Оның жалпы түрі:

write (<1 өрнек>, …, <өрнек>);

Шығарылатын тізімде тұрақтылар, айнымалылар немесе өрнектер болуы мүмкін. Шығару терезесіне Alt + F5 пернелер комбинациясы арқылы өтуге болады.

Экранның жаңа жолына өту немесе жол тастап кету үшін writeln жарлығын параметрсіз қолданады.

write ('p=', p);

writeln ('Бағдарламаны құрған Асанов М.')

Бұл write және writeln жарлықтарының көмегімен мәліметтерді форматталған түрде шығаруға, яғни нәтижелерді қолданушыға қажетті түрде бейнелеуге болады.

Мысалы, writeln ('s=', s:6:2) жарлығындағы 6 s–ке бөлінген жалпы позицияның саны, ал 2 s–тің бөлшек бөлігіне берілген позицияның саны.

1-есеп. Қабырғалары а=7, в=4.6, с=5.2 болатын үшбұрыштың р периметрі мен S ауданын есептейтін бағдарлама құрыңдар. Есепті шешу үшін Герон формуласын қолданамыз.

program mis_1;

uses crt;

const a=7; b=4.6; c=5.2;

var p, s : real;

begin

clrscr; {нәтижелерді шығару алдында экранды тазалау}

p: = a+b+c; writeln ('p = ', p:5:2);

p : = p/2;

S: = sqrt (p * (p-a) * (p-b) * (p-c));

writeln ('s = ', s:5:2);

writeln ('Бағдарламаны құрған – Асанов Мурат');

end.

Бағдарлама орындалғанда экранға мынадай жауап (нәтиже) шығарылады:

p = 16.80;

s = 11.95.

Бағдарламаны құрған – Асанов Мурат.

2-есеп. Валюта айырбастау пунктінде доллардың курсы төмендегідей:

Алу

Сату

1 USD

131,5 т

132,5 т

Қанша долларды теңгеге айырбастайтындығын анықтап, кассирден алатын теңгенің мөлшерін анықтайтын бағдарлама құрыңдар.

program mis_2;

uses crt;

var d, t : real;

begin

writeln ('Кассаға ұсынатын доллардың мөлшерін енгіз = ');

read (d);

t: = d * 131.5

writeln (' кассадан ' , t, 'теңге алыңыз!');

end.

3-есеп. Үшбұрыштың үш төбесінің координаталары А(1; 1), В(2; 2) және С(-1; 2) берілген. Үшбұрыштың mb медианасын және сырттай сызылған шеңбердің радиусын есептеңдер.

program mis_3

uses Crt;

var x1, y1, x2, y2, x3, y3, a,b,c, mb, r, x,y, p, s: real;

begin

clrscr;

writeln ('Kоординаталардың мәндерін енгізіңдер:')

readln (x1, y1, x2, y2, x3, y3);

a: = sqrt (sqr (x3-x2) + sqr (y3-y2)); {үшбұрыштың}

b: = sqrt (sqr (x1-x3) + sqr (y1-y3)); {қабырғаларының ұзындығы}

c: = sqrt (sqr (x1-x2) + sqr (y1-y2)); {есептейміз}

x: = (x1 + x3)/2; {в қабырғасының ортасының}

y: = (y1 +y3)/2; {координатасын есептейміз}

mb: = sqrt (sqr(x-x2) + sqr(y-y2));

p: = (a+b+c)/2;

S: = sqrt (p*(p-a)*(p-b)*(p-c));

r: = a*b*c / (4*s); {радиусты есептейміз}

writeln ('mb = ', mb:6:2);

writeln ('r = ', r:6:2);

readln

end.

Кейбір шамаларды есептеу формулалары:

(x1, y1), (x2, y2) нүктелерінің ара қашықтығы:

d = ;

кесінді ортасының координаталары:

x = (x1 + x2)/2 , y = (y1 + y2)/2;

үшбұрыштың биіктіктері:

ha = 2s/a, hb = 2s/b, hc = 2s/c;

үшбұрыш биссектрисалары: Wα = ,

Wβ = , Wγ = ;

үшбұрышқа, сырттай сызылған шеңбердің радиусы: r = abc/(4s) ; мұндағы а,b,с – үшбұрыштың қабырғалары, s-ауданы.

үшбұрышқа іштей сызылған шеңбердің радиусы: r = s/p, мұндағы s– үшбұрыштың ауданы, p-периметрі.

4-есеп. Параллелограмның ауданын есептейтін бағдарлама жазыңдар. Бағдарлама орындалған кездегі экранның көрінісін ұсынамыз (қолданушы енгізетін мәліметтер қарайтылып көрсетілген):

Параллелограмның ауданын есептеу

Қажетті мәліметтерді енгізіңдер:

¦зындығы (см) = 9

Ені (см) = 7,5

Параллелограмның ауданы: 67.50 см.кв.

program misal_4;

uses crt;

var y, e : real; {Параллелограмның ұзындығы және ені}

s : real; {Параллелограмның ауданы}

begin clrscr;

writeln ('Параллелограмның ауданын есептеу');

writeln ('Қажетті мәліметтерді енгізіңдер:');

write ('Ұындығы (см)=');

readln (y);

write ('Ені (см)=');

readln (e);

s := y*e;

writeln (Параллелограмның ауданы :', s : 6 : 2, ' cм.кв.’);

readln;

end.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]