- •1 Пәннің оқу бағдарламасы – syllabus
- •1.1 Оқытушылар туралы мәліметтер:
- •1.2 Пән туралы мәліметтер:
- •1.3 Алдыңғы реквизит
- •1.4 Соңғы реквизит
- •1.5 Пәннің қысқаша мазмұнында
- •1.7 Әдебиеттер тізімі
- •1.9 Курстың саясаты мен процедурасы
- •2. Негізгі таратылатын материалдар мазмұны
- •2.2 Дәрістік сабақ конспектілері
- •Бұл нұсқау көп жағдайда қайталаудың саны белгiсiз болған жағдайда, пайдаланады. Оның жалпы түрi:
- •Бүтiн типтегi мәлiметтермен келесi амалдар орындалады
- •Паскаль тiлiнде типтер қарапайым және күрделi болып бөлiнедi.
- •Қосымша әдебиет: 6 [73-80], 7 [227-265]
- •Типтелген файлдар
- •Типтелмеген файлдар
- •Модульдердi баяндау
- •Көрсеткіштер туралы қысқаша мағлұматтар
- •2.3 Лабораториялық жұмыстардың жоспары
- •2.5 Оқытушының жетекшілігімен орындалатын студенттердің өзіндік жұмыстары бойынша өткізілетін сабақтардың жоспары (соөж)
- •2 Бақылау мысалы.
- •2.6 Студенттердің өздік жұмыстары бойынша сабақ жоспары (сөж)
- •2.7 Өздік бақылау үшін тест тапсырмалары
- •2.8 Курс бойынша емтихан сұрақтары
- •Глоссарий
- •Алгоритмдер, деректер құрылымы және программалау
2 Бақылау мысалы.
Факториалді есептейтің функцияны сипаттау және есептеу үшін сол функцияны пайдалануы.
program primer8; var n,m: integer; f: real; function fact(n: integer): integer; var i,p : integer; begin p:=1; for i:=2 to n do p := p* i; fact:= p end; begin read(m,n); f:= fact(n) * fact(m) / fact(n+m); writeln(f) end.
Негізгі әдебиет:1 [161-181].
Қосымша әдебиет: 5 [16-19], 6 [104-116], 7 [187-211], 8 [121-134].
10– тақырып. Жазбалар.
СОӨЖ өткізу түрлері: есепті шешу.
Әдістемелік ұсыныс: Берілген структураға сәйкесті жазбалар массивті құру. Типтіқ файлдарды (жазбалар файлын) қолдана отырып жазбалардың енгізуін және өңдеуін жүзеге асыру. Программада кіріс деректерді, дереқ қордын файлдарын еңгізу-шығаруын өңдейтын сәйкесті процедуралар мен функциялары алдын ала қаралыстыруы қажет. Қолданушының әрекеттері бақылану және нақты хабарлармен қамдаулану керек. Нәтижесі (дерек қор) файлда сақталып келесі (көпреттік) өңдеуіне жеңіл алынатын болуы керек
Тапсырмалар варианттары:
1-6 варианттары:
Келесі кілттер арқылы: заңгерлік (юристтік) кеңесінің адресі, заңгерлік кеңесінің аты, адвокат немесе нотариустың аты-жөні бойынша, адвокат немесе нотариустың телефоны бойынша жазба массивтін элементтерінің өрісіне арналған мәндерін шығаруын ескеру
Сұраныстар:
1. Белгілі ауданда неше заңгерлік кеңесі барын анықтау
2. Ең көп адвокаттар қай заңгерлік кеңесінде істейтының анықтау.
3. . Ең аз нотариустер қай заңгерлік кеңесінде істейтының анықтау.
4. Белгілі заңгерлік кеңесінде неше адвокат пен нотариустер жұмыс істейтының анықтау.
5. Бір белгілі көшеде неше заңгерлік кеңесі орналасқанын анықтау.
6. Бір белгілі ауданда неше заңгерлік кеңесі орналасқанын анықтау.
7-13 варианттары:
Әдістемелік ұсыныс: Келесі кілттер арқылы: мерзімі (уақыты), соттық тексеріс затына, фирма- даугер аты бойынша, фирма-жауапшы бойынша жазба массивтін элементтерінің өрісіне арналған мәндерін шығаруын ескеру
Сұраныстар:
7. Қай жылы залымдыққа байланысты істердің саны ең жоғары болғынын анықтыу.
8. Қай жылы банкротқа ұшырауына байланысты істердің саны ең жоғары болғынын анықтау.
9. Қай жылы ажырасуға байланысты істердің саны ең жоғары болғанын анықтау.
10. Қай жылы дискриминацияға байланысты істердің саны ең жоғары болғанын анықтау.
11. Белгілі фирмаға қарсы қай жылы ең көп қылмыстық іс қозғалғанның анықтау .
12 Екі реттен астам қай фирма бойынша қылмыстық іс қозғалған.
13. Қай фирма өткен жылдар бойынша даугер рөлінде ең жиі шыққанын анықтау
14-24варианттары:
Әдістемелік ұсыныс:
Келесі кілттер арқылы: мердігер фирмасының аты (подрядчик) бойынша, құрылыстын бағасы (құны) бойынша, құрылыстын түрі бойынша, банкідегі салымның сомасы (көлемі) бойынша жазба массивтін элементтерінің өрісіне арналған мәндерін шығаруын ескеру
Сұраныстар:
14. Банкідегі салымнын сомасы құрылыстың бағасынан кем болған клиенттерді анықтау.
15. Құрылыстын бағасын толық толеген клиентті анықтау.
16. Клиенттер екіден кем емес рет тапсырған құрылыстын типін анықтау.
17. Банкідегі ең жоғары соманың есепшотына ие болған клиентті анықтау.
18. Максималдыбағасы бар құрылыстын түрін анықтау.
19. Минималды бағасы бар құрылыстын түрін анықтау.
20. Несиені ең жоғары пайызға алған клиентті анықтау.
21. Несиені ең төмен пайызға алған клиентті анықтау.
22. Барлық клиенттердің төленбеген сомасын анықтау.
23. Ең аз төленбеген сомасына ие болған клиентті анықтау.
24. Ең көп төленбеген сомасына ие болған клиентті анықтау.
25-30 варианттары:
Келесі кілттер арқылы: тауарлардың атына байланысты, келіп тұскен жылы бойынша, тауарды әкелген мемлекет бойынша, тауар әкелетін фирма бойынша жазба массивтін элементтерінің өрісіне арналған мәндерін шығаруын ескеру
Сұраныстар:
25. Қай фирманың тауары ең жиі /аз түскенін анықтау.
26. Барлық жылдар бойынша түскен тауарлардың көлемін анықтау.
27. Ең қымбат/арзан тауардын атын анықтау.
28. Барлық жылдар бойынша тауарлар алу үшін кеткен шығындарды есептеу.
29. Бәрінен жиі/аз тауарларға заказ берілген жабдықтауші-елді анықтау.
30. Қай айда ең жиі/аз тауарлар түскенін анықтау.
Негізгі әдебиет:1 [104-108].
Қосымша әдебиет: 5 [19-22], 6 [95-99], 7 [321-338].
11– тақырып. Файлдар.
СОӨЖ өткізу түрлері: тренинг.
Әдістемелік ұсыныс: Берілген структураға сәйкесті жазбалар массивті құру. Типтіқ файлдарды (жазбалар файлын) қолдана отырып жазбалардың енгізуін және өңдеуін жүзеге асыру. Программада кіріс деректерді, дереқ қордын файлдарын еңгізу-шығаруын өңдейтын сәйкесті процедуралар мен функциялары алдын ала қаралыстыруы қажет. Қолданушының әрекеттері бақылану және нақты хабарлармен қамдаулану керек. Нәтижесі (дерек қор) файлда сақталып келесі (көпреттік) өңдеуіне жеңіл алынатын болуы керек
Тапсырма:
Бақылау мысылы.
Студенттер жайлы мәліметтер берілінген: әті-жөні, туған жылы, туған жері және түратын адресі. Файлды құру керек. Құрылған файл алматылық студенттер жайлы мәліметтерді оқып және 18 жастан кіші студенттер жайлы мәліметтерді шығару керек.
program primer9;
uses crt;
type
mydata=record
fio:INTEGER;
year:integer;
place:string;
addr:string;
end;
myfile=file of mydata;
var
fin,fout:myfile;
trec:mydata;
n,i,k:integer;
procedure inputdata;
begin
write('Kolichestvo = ');
readln(n);
for i:=1 to n do
begin
with trec do
begin
write('Surname: '); read(fio);
write('Year: '); readLN(year);
write('Place: '); readln(place);
write('Address: '); readln(addr);
end;
write(fin,trec);
end;
end;
procedure select;
begin
reset(fin);
for i:=1 to n do
begin
read(fin,trec);
if (abs(trec.year-2004)<=18) and (pos('Almaty',trec.place)<>0) then
begin
write(fout,trec);
k:=k+1;
end;
end;
end;
procedure outdata;
begin
reset(fout);
if k=0 then writeln('<<<<Svedenii net>>>>')
else
for i:=1 to k do
begin
writeln('*********************');
read(fout,trec);
with trec do
begin
writeln(fio);
writeln(year);
writeln(place);
write(addr);
readln;
end;
end;
end;
begin
clrscr;
assign(fin,'data.txt');
assign(fout,'outdata.txt');
rewrite(fin);
rewrite(fout);
k:=0;
inputdata;
select;
outdata;
close(fin);
close(fout);
end.
Негізгі әдебиет:1 [104-108].
Қосымша әдебиет: 5 [19-22], 6 [95-99], 7 [321-338].
12– тақырып. Мәтіндік файлдар.
СОӨЖ өткізу түрлері: есепті шешу.
Әдістемелік ұсыныс: Кез келген символдан құралған тізбектерін өңдеуін және оның мәтіндік файлдан енгізуін жүзеге асыру. Программада өз вариантына байланысты кіріс мәліметтерін нақты өңдейтын сәйкесті процедуралар мен функциялары қарастыруі керек.
Тапсырмалар варианттары:
1. Мәтіндік файл берілген.Оның символдар және жолдардың санын шығару.
2. S жолы және мәтіндік файл берілген. Файлдың басы мен соңына S жолын қойып шығу.
3. Мәтіндік файлдар берілген. Оның бірінші және соңғы жолдарын алып тастау.
4. Name1 және Name2 мәтіндік файлдар берілген. Name1 және Name2 мәтіндік файлдарды біріктіріп жаңа Name3 файылын құру.
5. Name1 және Name2 мәтіндік файлдар бар. Name2 файлді Name1файлдың соңына қосу.
6. Үш жолдан кем емес жолдардан түратын мәтіндік файл берілген. Берілген файлдың 3 соңғы жолдарын алып тастау.
7. . k (< 10) сан және k жолынан көп жолдардан түратын мәтіндік файл берілген. Берілген файлдың k –соңғы жолдарын алып тастау.
8. k (< 10) сан және k жолынан көп жолдардан түратын мәтіндік файл берілген. Берілген файлдың k –соңғы жолынан түратын жаңа файлды құру.
9. Мәтіндік файл және k саны берілген. k нөмірлі жолды файлдан алып тастау (жолдар 0-ден бастап нөмірленеді). Егер сол нөмірлі жол табылмаса, онда файлды өзгертпеу.
10. Мәтіндік файл және k саны берілген. Бос жолды k нөмірлі жолдың алдына және артына қойып шығу (жолдар 0-ден бастап нөмірленеді). Егер сол нөмірлі жол табылмаса, онда файлды өзгертпеу.
11. Мәтіндік файл берілген. Одан барлық бос жолдарын алып тастау.
12. S жолы және мәтіндік файл берілген. Файлдағы барлық бос жолдарды Sжолына ауыстыру.
13. Мәтіндік файл берілген. Қатарынан бірнеше түрған пробелдерді бір пробелге ауыстыру.
14. Мәтіндік файл берілген, ішіндегі мәтіннің сол жағы тегістілген. Бос емес жолдің басына керекті пробелдердің санын қойып отырып мәтінді оң жағы және центр бойынша тегістеу (мәтіннің ені 50 символға тең болсын).
15. Мәтіндік файл берілген, ішіндегі мәтіннің сол жағы тегістілген. Абзацтары бір бірінен бір бос жол арқылы бөлінген. Әр бос емес жолдің бірінші пробелінен бастап сөздердің арасындағы пробелдердің санын көбейте отырып мәтінді ені бойынша тегістеу (мәтіннің ені 50 символға тең болсын).
16. Мәтіндік файл берілген. Егер әр абзац бір бірінен бір немесе бірнеше бос жолдар арқылы бөлінсе, сол абзацтардың санын табу.
17. Мәтіндік файл берілген. Егер әр абзац 5 пробелі бар азат жолдан басталса, сол абзацтардың санын табу. Абзацтың арасындағы бос жолдарды есептемеу.
18. Мәтіндік файл берілген. Абзацтары 5 пробелі бар азат жолдан басталады, бос жол жоқ. Әр абзацтың арасына бір бос жолды қойып шығу.
19. Мәтіндік файл берілген. Мәтіндегі кездескен тыныс белгілерінен түратын символдық файлды құру.
20. Мәтіндік файл берілген. Ең үлкен ұзындығы бар бірінші сөзді және минимальді ұзындығымен соңғы сөзді шығару (сөздердің алдында және соңында түрған тыныс белгілерін есептей отырып).
21. N саны және мәтіндік файл берілген. Берілген файлдан N ұзындығы бар барлық сөздерден түратын (сөздердің алдында және соңында түрған тыныс белгілерін есептемеу) жолдық файлды құру. Егер берілген файлда N ұзындығы бар сөздер табылмаса, онда жаңа файлды бос қалтыру.
22. C-символ (бас әріп) және мәтіндік файл берілген. Сол әріпке аяқталатын берілген файлдың сөздерінен түратын жолдық файлды құру. Сөздердің алдында және соңында түрған тыныс белгілерін есептемеу. Егер берілген файлда керекті сөз табылмаса, онда жаңа файлды бос қалтыру.
23. N саны және мәтіндік файл берілген. Файлдан N нөмірлі абзацті алып тастау (абзацтар бір бірінен бір немесе бірнеше бос жолдар арқылы бөлінеді және 1 ден бастап нөмірленеді). Абзацтардың алдында және соңында түрған бос жолдарды алмау керек. Егер берілген нөмірлі абзац болмаса – файлды өзгертпей қалтыру.
24. N саны және мәтіндік файл берілген. Файлдан N нөмірлі абзацті алып тастау (абзацтар 5 пробелден түратын азат жолдан басталады және 1 ден бастап нөмірленеді). Абзацтардың арасындағы бос жолдарды есептемеу. Егер берілген нөмірлі абзац болмаса – файлды өзгертпей қалтыру.
25. Мәтіндік файл берілген, оның әр жолында бүтін саны бар (бір бірінен бірнеше пробелмен бөлінген). Сандардың қосындысын және көлемін табу.
26. Мәтіндік файл берілген, оның әр жолында бүтін немесе нақты саны бар (бір бірінен бірнеше пробелмен бөлінген). Сандардың бүтін және нақты бөліктерінің қосындысын табу.
27. Мәтіндік файл берілген, оның әр жолында бірнеше сандардың бейнелеуі бар (бір бірінен пробелмен бөлінген). Сандарды сол ретімен орналастырып нақты сандар файлын құру.
28. Name1 және Name2 екі текстілік файл берілген. Name1 файлдың әр жолының басына Name2 файлдың сәйкесті жолын қосу. Егер Name2 файлы Name1 файлдан қысқа болса, онда қалған Name1 файлдың жолдарын өзгертпей қалтыру.
29. NameT атты мәтіндік файл және бүтінсандық файл NameN берілген. NameT файлдың әр жолының соңына NameN файлдың сәйкесті санын қосу. Егер NameN файлы NameT файлдан қысқа болса, онда қалған NameT файлдың жолдарын өзгертпей қалтыру.
30. NameT атты мәтіндік файл берілген. Оның әр жолында бірінші 60 позиция текстке берілген, ал қалған орын – нақты сандарға. Екі файлді құру: NameS атына ие жолдық файл (ол берілген файлдың мәтіндік бөлімінен құралады) және NameR атына ие нақты сандар файлы (ол берілген файлдың сандарынан құралған).
Бақылау мысалы.
Мәтіндік файл берілген. Файлдың көшірмесін алу.
program primer10; var f,g: text; s: string; begin {файлдық айнымалары мен файлдың аттарын арасына байланыс қондыру } assign(f, ‘data1.txt’); assign(g, ‘data2.txt’); { файлдарды жазу және оқу үшін ашу } reset(f); rewrite(g); while not(eof(f)) do begin readln(f,s); {қатарға файлдан оқу } writeln(g,s) {қатардан файлға жазу } end; { файлді жабу} close(f); close(g) end.
Негізгі әдебиет:1 [104-108].
Қосымша әдебиет:5 [19-22], 6 [95-99], 7 [321-338].
13-тақырып. Көрсеткіштер.
СОӨЖ өткізу түрлері: тренинг.
Әдістемелік ұсыныс: Тапсырманы орындау барысында типтелген көрсеткіштерді қолдану.
Тапсырмалар варианттары:
n натурал саны мен a1, ..., a3n..бүтін сандары берілген. Барлық a2n+1, ..., a3n үшін a2n+1, ..., a3n арасындағы теңдерін анықтау.
n натурал саны мен a1, ..., an бүтін сандары берілген. Келесі тізбекті алу керек: x1, y1, x2, y2, …, xk, yk, мұнда x1, ..., xm – тізбектің жұп мүшелері, a1, ..., an, а y1, ..., yl – тақ мүшелері, k = min(m, l).
n натурал саны мен a1, ..., a2n нақты сандары берілген. i = l, ..., n үшін a2n-i+1 < ai < a2n-I орындалатыны дұріс екенін анықтау.
n натурал саны мен a1, ..., an бүтін сандары берілген. Алдымен - теріс, сосын оң мүшелерін орналастыра отырып a1, ..., a2n –тізбегін өзгерту (теріс сандар мен оң сандардың реті сақталады).
n натурал саны мен a1, ..., an бүтін сандары берілген. Алдымен - теріс, сосын оң мүшелерін орналастыра отырып a1, ..., a2n –тізбегін өзгерту (теріс сандардың реті кері қарай ауысады, оң сандардың реті сақталады).
n натурал саны мен a1, ..., an бүтін сандары берілген. Алдымен - теріс, сосын оң мүшелерін орналастыра отырып a1, ..., a2n –тізбегін өзгерту (оң сандардың реті кері қарай ауысады, теріс сандардың реті сақталады).
n натурал саны мен a1, ..., an бүтін сандары берілген. Алдымен - теріс, сосын оң мүшелерін орналастыра отырып a1, ..., a2n –тізбегін өзгерту (теріс сандардың мен оң сандардың реті кері қарай ауысады).
n натурал саны мен a1, ..., an бүтін сандары берілген. Егер a1, ..., an –тізбегінде 3-тен кем тіпті бір мүшесі болса да, онда барлық теріс мүшелерін олардың квадраттарына ауыстыру (басқа мүшелерді өзгеріссіз қалтыру); кері жағдайда – барлық мүшелерді 0.1-ге көбейту.
n натурал саны мен s1, ..., sn символдар берілген. Осы тізбекке бір рет енгізілген s1, ..., sn –тізбегіне жататын символдарын алу.
k, m, n натурал сандары мен s1, ..., sk, t1, ..., tm, u1, ..., un символдары берілген. Барлық үш тізбегіне кіретін символдарын 1 реттен алу.
Негізгі әдебиет:1 [140-156].
Қосымша әдебиет: 5 [28-32], 6 [125-146], 8[161-174].
14- тақырып. Функция графигін тұрғызу.
СОӨЖ өткізу түрлері: тренинг.
Әдістемелік ұсыныс: F(x) нақты функцияны белгілеп, дисплейдің символдық экранында оның графигін құру және ешқандай сандық әдістерін пайдаланбай барлық есептерін графикалық түрде табу. Программаны іске асыру кезінде келесі ескертулер бар: функцияның түрі және интервалы кез келген болуы мүмкін (берілген функцияның графигінің дұрыс тұрғызылуын тексеру нақты варианттарда тестік интервал және осы интервалдағы түбірлердің мәндері берілген).
Тапсырмалар варианттары:
F(x) = 3*sin + 0.35*x - 3.8.[2,3] аралығындағы жауап: x=2.2985.
F(x) = + - 2. [-1,0] аралығындағы жауап: x= - 0.2877.
F(x) = - cos.[0,1] аралығындағы жауап: x=0.4538.
F(x) = 0.4 + arctg - x. [1,2] аралығындағы жауап: x=1.2388.
F(x) = tg - ctg+ x .[1,2] аралығындағы жауап: x=1.0769.
F(x) = 0.6*- 2.3*x - 3.[2,3] аралығындағы жауап: x=2.42.
F(x) = cos - 2*sin+.[1,2] аралығындағы жауап: x=1.8756.
F(x) = -arcsinx .[0,1] аралығындағы жауап: x=0.7672.
F(x) = 0.1* - x*ln x.[1,2] аралығындағы жауап: x=1.1183.
F(x) = tg x - *+*-.[0,0.8] аралығындағы жауап: x=0.333.
F(x) =+ ln x - 10*x. [3,4] аралығындағы жауап: x= 3.5265.
F(x) = x*tg x - . [0.2,1] аралығындағы жауап: x=0.5472.
F(x) = 3*+ 6*ln x - 5. [1,3] аралығындағы жауап: x=1.8832.
F(x) = x*x - ln (1+x) - 3. [2,3] аралығындағы жауап: x=2.0267.
F(x) = 2*x*sin x - cos x. [0.4,1] аралығындағы жауап: x=0.6533.
F(x) = ln x - x + 1.8. [2,3] аралығындағы жауап: x=2.8459.
F(x) = cos x - + x - 1. На интервале [1,2] ответ: x= 1.0804.
F(x) = 1 - x + sin x - ln (1+x). [0,1.5] аралығындағы жауап: x=1.1474.
F(x) = 3*x - 14 + - . [1,3] аралығындағы жауап: x= 2.0692.
F(x) = x + cos (2+). [0.5,1] аралығындағы жауап: x=0.9892.
F(x) = x*x - ln (5 + x). [1,2] аралығындағы жауап: x=1.36016.
F(x) = 0.5*x + sin (1+x). [-1,0] аралығындағы жауап:x=-0.66242.
F(x) = arcsin (2*x +1) - x*x . [- 0.5,0] аралығындағы жауап: x= - 0.4145.
F(x) = x - + - 4. [2,3] аралығындағы жауап: x=2.25078.
F(x) = x - sin x - 0.5. [1,2] аралығындағы жауап: x=1.496.
Бақылау мысалы.
[1,2] аралығында.
program primer11;
{ y=f(x) кез келген функциядан графикті құру}
uses crt;
const h=79; {дисплей экранындағы бағаналардың максимальды саны }
type position=1..h;
arraya=array [position] of char;
func=function (x:real):real;
var y0, m : integer;
k, n, j : position;
ymin, ymax, a, b,
dx, x, y, my : real;
ar : arraya; {экранға шығарылатын символдардың массиві }
ch : char;
{ k символдарды экранға шығару}
procedure grafic (a : arraya; k : position);
var i : position;
begin
for i:=1 to k do
write(a[i]);
writeln;
end;
{$i funct} { funct.pas басқа файлдан нақты функцияны енгізу}
{ f функцияның [a, b] аралықтағы ymin минимумын және ymax максимумын табу],
сонымен бірге барлық x0 түбірлерін экранға шығару }
procedure minmax (f : func; dx, a, b : real; var ymin, ymax : real);
var fx,f1x:real;
begin
x:=a;
ymin:=f(x);
ymax:=ymin;
f1x:=ymin;
while x<=b do
begin
x:=x+dx;
fx:=f(x);
{ f функцияның түбірін табу варианттары:
fx - функцияның келесі мәні
f1x- функцияның алдынғы мәні}
if fx*f1x<0 then {функция белгісін өзгертті, x0 түбірін аламыз}
writeln('x0=',x-dx/2);
f1x:=fx;
if fx>ymax then ymax:=fx;
if fx<ymin then ymin:=fx;
end
end; {minmax}
{басты программа}
begin
repeat
for j:=1 to h do ar[j]:=' '; {ar массивін тазалау}
clrscr;
write('нүктелердің санын еңгзіңіз ==========>');
readln(m);
write( [a..b] аралығын енгізіңіз=====>');
readln(a,b);
dx:=(b-a)/(m-1);
writeln('аралықтағы түбірлердің тізімі);
minmax(f,dx,a,b,ymin,ymax);
writeln('--------- enter басыңыз --------- ');
readln;
my:=75/(ymax-ymin); {y осінің масштабы}
y0:=trunc(2-my*ymin); {Дисплейдің экранындағы y0 жайы}
{графиктің өзі}
x:=a;
while x<=b do
begin
y:=f(x);
if y0 in [1..h] then ar[y0]:='|'; {x осьтің символы}
n:=round(my*y)+y0;
if n<y0 then k:=y0
else k:=n;
if x=0 then
begin { осьті аламыз ------------------------->y}
for j:=1 to h-3 do ar[j]:='-';
ar[h-2]:='>';
ar[h-1]:='y';
k:=h;
end;
ar[n]:='@'; {графиктағы нүктенің символы}
grafic(ar,k);
for j:=1 to h do ar[j]:=' '; {ar массивін тазалау}
x:=x+dx
end;
if y0 in [1..h-1] then {x осінің соңы}
begin
ar[y0]:='v';
ar[y0+1]:='x';
grafic(ar,y0+1);
end;
writeln('қайталайықпа? (y/n)');
ch:=readkey;
until (ch='n') or (ch='n');
end.
funct.pas ішкі файлдің листингісі
нақты функция (шынайы сандарының барлық аралығында анықталған):
{$f+} {бұл директива pentium және одан жоғары ПЭЕМ-дерге қажет}
function f(x : real) : real;
begin
f:=exp(-x)*sin(2*pi*x)
end;
Негізгі әдебиет:1 [276-336].
Қосымша әдебиет:5 [26-27], 10 [164-207], 12 [150-160].
15- тақырып. Қозғалмалы бейнелерді тұрғызу.
СОӨЖ өткізу түрлері: есепті шешу.
Әдістемелік ұсыныс: GRAPH модулінің константаларын, процедураларын және функцияларын пайдалана отырып келесі визуальді әсерлерін жүзеге асыру.
Тапсырмалар варианттары:
Жарық көзіне байланысты әр түрлі геометриялық фигураларының көлеңкелерінің қозғалыстары.
Түрлі түсті «фейерверктің от алуы».
Планетаның (планеталардың) күнді айнала қозғалысы.
Ракетаны ғарышқа ұшыру.
Ұшып бара жатқан самолет.
Арқасында алма мен саңырауқұлақтары бар кірпінің жүгіруі.
Бумерангтің тастамы.
Гимнастика жасап жатқан адамның фигурасы (фигуралары).
Экранда ұшып және оның қырларынан шағылатын шар.
Ұшатын жазу.
Жолдың айқасқан жеріндегі светофор.
Аспандағы кемпірқосақ.
Түн және жылтылдаған жұлдыздар(шоқжұлдыздар).
Әр түсті ақпа кубиктер.
Негізгі әдебиет:1 [276-336].
Қосымша әдебиет:5 [26-27], 6 [164-207], 8 [150-160].