Добавить материал и получить бесплатное свидетельство о публикации в СМИ
Эл. №ФС77-60625 от 20.01.2015
Свидетельство о публикации

Автоматическая выдача свидетельства о публикации в официальном СМИ сразу после добавления материала на сайт - Бесплатно

Добавить свой материал

За каждый опубликованный материал Вы получите бесплатное свидетельство о публикации от проекта «Инфоурок»

(Свидетельство о регистрации СМИ: Эл №ФС77-60625 от 20.01.2015)

Инфоурок / Информатика / Конспекты / 7-9 сыныптарға арналған сарамандық жұмыстар
ВНИМАНИЮ ВСЕХ УЧИТЕЛЕЙ: согласно Федеральному закону № 313-ФЗ все педагоги должны пройти обучение навыкам оказания первой помощи.

Дистанционный курс "Оказание первой помощи детям и взрослым" от проекта "Инфоурок" даёт Вам возможность привести свои знания в соответствие с требованиями закона и получить удостоверение о повышении квалификации установленного образца (180 часов). Начало обучения новой группы: 28 июня.

Подать заявку на курс
  • Информатика

7-9 сыныптарға арналған сарамандық жұмыстар

библиотека
материалов

hello_html_m2e89b866.gifhello_html_3a3560b2.gifhello_html_3a3560b2.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_50f95d74.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gifhello_html_m2a7690f7.gif












Информатика пәнінен 8-9- сыныптарға арналған

программалау тақырыбы бойыншасарамандық

жұмыстардың жинағы.








































Мазмұны



  1. Түсінік хат -----------------------------------------------------------------4 бет



  1. Бағдарламаның мақсаты-------------------------------------------------5 бет



  1. Алгоритм түсінігі---------------------------------------------------------6 бет


  1. Turbo Pascal тілінің сипаттамасы-------------------------------------7 бет



  1. 8-сыныптар үшін сарамандық жұмыстар----------------------------16 бет



  1. 9-сыныптар үшін сарамандық жұмыстар----------------------------22 бет




  1. Пайдаланылған әдебиеттер---------------------------------------------29бет




















Түсінік хат.


Қазақстан Республикасы Үкіметінің 2012 жылғы 23 тамыздағы №1080 қаулысыменбекітілген.Орта білім берудің мемлекеттік стандартын басшылыққа ала отырып жинақталған.

Информатика пәнінің міндеті – оқушыларға әрбір тақырып бойынша тиянақты білім бере отырып, әрбір сарамандық жұмыстар көмегімен білімдерін іс жүзінде қолдана білуге дағдыландыру.8-9-сыныптарда информатика пәнін оқытуда «программалаумен танысу» тарауының, оның ішінде «Паскаль программалау тілі» тақырыбының маңызы ерекше.Осы тақырыптарды өткен соң, сарамандық сабақтарда оқушылар компьютер көмегімен есептеулер жүргізу мүмкіндігіне ие болады.Паскаль тілін оқып үйренгенде оның алгоритмдік тілмен ұқсастығын әр уақытта баса көрсетіп, шешу жолдары алгоритмдік тілде қарастырылған есептерге осы тілде программа жазып, оны орындаған тиімді.

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

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

Компьютер программада көрсетілген іс-әрекеттерді орындайды. Программа қатесіз жасалу керек, белгілі ережелер сақталмаса, машина ондай программаны орындамайды.

Программа - арнайы мәтін арқылы компьютерге тапсырманың алгоритмін хабарлайды. Алгоритм – арнайы іс-әрекеттердің белгілі кезекте орналасқан тәртібі, алгоритм арқылы машина тапсырманы орындайды.Программа жасау үнемі өсу,өрлеу, жаңару үстінде. Олай дейтініміз алғашқы программалар машина кодтарына жасалады.Бұл өте қиын жұмыс еді. Себебі программалаушы үнемі кодтық операциялар, ақпараттар, адрестер және командалар арқылы жұмыс істеуге мәжбүр болды.Сондықтан программалаушылар өз жұмыстарын жеңілдету жолдарын іздестіруге кірісуде. Олар алгоритмдік тілдер мен символдық программалау тәсілдерін жасап шығарды.
















Бағдарламаның мақсаты


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

Оқушыларды программалау тілінде негізгі базалық алгоритмдік

құрылымдарды пайдалана білуді қалыптастыру.

Ақпараттарды өңдеу бойынша ақпараттық технологиялармен жұмыс істеуге дағдыландыруға бағыттау.

Алгоритмдік және операциялық ойлау қабілеттерін, ақпараттық-коммуникациялық технологиялар құралдары арқылы оқушылардың логикалық, математикалық, зияткерлік және шығармашылық қабілеттерін нығайту.

Қауіпсіздік техника ережелерін, ақпараттық этика және құқық нормаларын сақтау дағдыларын қалыптастыруға жетелеу.

Оқушыларды ақпараттық мәдениетке және техникаға ұқыпты болуға тәрбиелеуді дамыту.




















Алгоритм түсінігі


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

Алгоритмдік схеманың жәрдемімен ақпаратты өңдеудің егжей-тегжейлі процесі беріледі және орындалатын операциялар реті анықталады. Алгоритмдік схеманы жасау үшін арнайы шартты белгілер қолданады.

Ескерте кететін бір жәйт, бір есепті шешу үшін бір-біріне ұқсамайтын алгоритмді қолдануға болады. Түрлі алгоритмдерді бір-бірімен салыстырып, ішінен ең тиімдісін таңдап алу керек. Бір ғана тапсырманы орындау үшін пайдаланатын барлық жағынан тиімді алгоритм болмайды. Әдетте алгоритмді қадамдарының саны бойынша бағалайды. Компьютер белгілі бір уақытта көлемді тапсырмалар орындау үшін олардың алгоритмдері тиімді әрі қысқа қүрылуы керек. Бұл жағдайда программа мен алгоритм күрделіленеді.

Мысал келтірейік: у= 3х2 +4х-+ 2 функциясы берілген. у-тің мәнін табу керек. Бұл есептің қарапайым алгоритмін құрып шығару үшін:

х-тіх-қа көбейтіп, шыққан санды М1 деп белгілейміз;

3-тім М1-ге көбейтеміз де, шыққан санды М2 деп белгілейміз.

4-ті х-ке көбейтеміз де, шыққан санды М3 деп белгілейміз.

М2-ні М3–ке қосамыз, шыққан санды М4 деп белгілейміз.

2 –ге М4 –ті қосамыз, шыққан санды М5 деп белгілейміз

ү-ке М5 –тің мәнін меншіктейміз

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

Программаны орындау үшін машинаның оперативті есте сақтау құрылғысында 3, х, 4,2 мәндері болуы керек және машинаның жадында есаептеу барысында шығатын М1,М2, М3, М4, М5, у сандары орналастырылуы керек.

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



Turbo Pascal тілінің сипаттамасы


Символдық программалау тілі күрделі кодтар символдармен ауыстырылды. Символдық тілді пайдаланып программалаушы компьютер жадысының ұяшығындағы түрлі нұсқаулар мен ақпараттарды есептеп, тіркеп отырудан құтылды. Ал символ тілінде әрбір санның адресі идентификатормен, белгіленгендіктен мұндай талаптардың қажеті болмайды. Бұл программаны жасауда сандарды идентификатор арқылы адрестеуге мүмкіндік береді. Дегенмен, символдық тілді машина түсінуі үшін оған аудармашы керек. Ол машинаға ақпаратты өңдеу программасының кодын жасап береді. Мұндай аудармашы ролін арнайы аудармашы программа – транслятор атқарады, оны ассемблер деп атайды

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

Символдық тілде программалаудың кемшілігі- оны, негізінен, қарапайым болса да машина тілінде жасауда және бұл программаларды әрбір енгізілген өзгерістер кейін трансляциялап отыруда. Әйтсе де олар практикада кең түрде қолданып келеді. Әрбір компьютерде символдық тілдер- автокод, ассемблер, мнемокод т.б. қолданылады. Бұл тілдердегі бір операторға, әдетте, бір ғана командаға сәйкес келеді. Оларды машиналық бағытталған тілдер деп атайды. Фортран, Алгол, ПЛ/1, Qbasic, Паскаль т.б. тілдерінде әрбір оператор өзара байланысты нұсқау қатарын ауыстырады, ал бұл программалауды жеңілдетеді. Бұл тілдерді проблемалық – бағытталған жоғары деңгейлік тілдер деп атайды. Осы тілдерде жазылған программаны машина кодына аударуды арнайы транслятор атқарады.

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

Паскаль тілін 1968-1971 жылдары швейцариялық ғалым Никлаус Вирт оқып-үйренуге қолайлы программалау тілі ретінде ұсынған болатын. Қазіргі кезде бұл программалау тілі оқып-үйрету үшін ғана емес, басқа да салаларда кеңінен қолданыларды. Паскаль тілінің қазіргідей танымал болуына Турбо Паскаль (Turbo Pascal) пакетінің пайда болуы өз әсерін тигізді. Бұл программалау тілі алгоритмдерінің тиянақтылығымен, компиляторының жылдам әрекеттілігімен және программаларды құратын

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

Өрнектер

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

Арифметикалық амалдар.Төмендегі кестеде Турбо Паскальдің негізгі арифметикалық амалдары көрсетілген.


Белгілер

Операция атауы

Мысал

*

көбейту

2*3 (нәтиже: 6)

/

бөлу

30/2 (нәтиже: 1.5E+01)

+

қосу

2+3 (нәтиже: 5)

-

азайту

5-3 (нәтиже: 2)

div

бүтін бөлу

5 div 2 (нәтиже: 2)

mod

бүтін қалдық

5 mod 2 (нәтиже: 1)

Логикалық амалдар.Логикалық типтегі шамаларға мына амалдар қолданылады:

NOT – логикалық терістеу ("ЕМЕС")

AND – логикалық көбейту ("ЖӘНЕ")

OR – логикалық қосу ("НЕМЕСЕ")

XOR - логикалық "Аралас НЕМЕСЕ"

Типтері логикалық болып табылатын А және В айнымалыларымен орындалған осы амалдардың нәтижесі төмендегі ақиқат кестесінде бейнеленген:

A

B

notA

A and B

A or B

A xor B

ақиқат

ақиқат

жалған

ақиқат

ақиқат

жалған

ақиқат

жалған

жалған

жалған

ақиқат

ақиқат

жалған

ақиқат

ақиқат

жалған

ақиқат

ақиқат

жалған

жалған

ақиқат

жалған

жалған

жалған



 Қатынас амалдары.Қатынас амалдарына мынадай амал түрлерін жатқызуға болады: > - үлкен ,< - кіші, = - тең, <> - тең емес, >= - үлкен немесе тең,

<= - кіші немесе тең. Қатынас амалдарымен тек сандарды ғана емес, символдарды, жолдарды, жиымдарды және белгілерді салыстыруға болады.


Амалдарды орындау тәртібі.Алгоритмдік тілдерде (Паскаль, Бейсик, Си т.б.) арифметикалық амалдардың орындалу тәртібі олардың математикалық орындалу тәртібіне сәйкес келеді, яғни алдымен жақша ішіндегі амалдар, сонан соң көбейту, бөлу, қосу, азайту т.б. амалдар орындалады. Төмендегі кестеде әр түрлі амалдардың орындалу реті көрсетілген.


Реті

Амалдар түрі

Амалдар немесе оның элементі

1.

Жақша ішіндегі өрнектер

(     )

2.

Функция мәндері

Функциялар

3.

Көбейту, бөлу түріндегі амалдар

*, /, div, mod, and, shl, shr

4.

Қосу амалдары

+, -, or, xor

5.

Қатынас амалдары

=, <>, <, >, <=,  >=, in


 Амалдардың орындалу тәртібін өзгерту үшін жақшаларды пайдалануға болады. Мысалы 2*5+10 өрнегінде әуелі көбейту емес, қосуды орындау қажет болса, 5 пен 10 санының қосындысын жақшаға алып жазамыз. Сонда өрнектің нәтижесі 20 емес, 30-ға тең болады. 2*(5+10)=30.

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

   Турбо Паскальдің негізгі математикалық функцияларына мыналар жатады:

Abs(X)- X-тің абсолюттік шамасын

Cos(X), Sin(X) -Х санының  косинусын (синусын) береді, мұндағы Х – радиан бұрышы.

Тангенс және котангенс функциялары Турбо Паскаль тілінде жоқ. Оларды есептеу үшін sin(x)/cos(x) (немесе cos(x)/sin(x) – котангенс үшін) өрнегі қолданылады.

ArcTan(X) -Х санының арктангенcін береді.

Exp(X) -е-нің Х дәрежесін есептейді.  

Ln(x) - Х санының натурал логарифмін есептейді.

Pi-дің мәні, pi = 3.14159265  

Sqr(X)- X-тің квадратын есептейді .

Sqrt(X)-X-тің квадрат түбірін есептейді.  Trunc(X)Х нақты санының бүтін бөлігін береді. (Х санының бөлшек бөлігі алынып тасталып, функция нәтижесінің типі Longint болады)

Frac(X)- X санының бөлшек бөлігін береді. 

Int(X) -Х санының бүтін бөлігін береді. Бұл функцияның Trunc функциясынан айырмашылығы есептеу нәтижесінің типі real түрінде болады.

 Round(X)- Х нақты санын бүтін санға дөңгелектейді.

 Random(X) -0..Х диапазоны арасынан кездейсоқ бүтін санды анықтайды.   

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

Мысал    .-10..10 диапазоны арасынан кездейсоқ 5 санды шығару.

var i: integer;

begin

   randomize;

   for i:=1 to 5 do writeln(random(21)-10);

end. 

Inc(X,Y) Х-тің мәнін Y-ке арттырады. Егер Y саны көрсетілмей кетсе, Х-тің мәні автоматты түрде 1-ге артады.  

Dec(X,Y) Х-тің мәнін Y-ке кемітеді. Егер Y саны көрсетілмей кетсе, X-тің мәні 1-ге кемиді.

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

Паскаль тілінде программа үш бөліктен: тақырыптан, сипаттау бөлімінен және операторлар бөлімінен тұрады.

Программаның тақырыбында программаның аты жазылады, мысалы:

ProgramESEP;

Сипаттау бөлімінде:-  кітапханалық модульдерді сипаттау бөлімі;

-      белгілерді сипаттау бөлімі;

-      тұрақтыларды сипаттау бөлімі;

-       типтерді сипаттау бөлімі;

-      айнымалыларды сипаттау бөлімі;

·    процедуралар мен функцияларды сипаттау бөлімдері                         

Кітапханалық модульдерді сипаттау бөлімі USES түйінді сөзімен басталып, сипаттау бөлімінде басқаларынан бұрын жазылуы керек. Программада қолданылатын модуль атауларының саны бірнеше болса, олардың арасы үтірмен ажыратылып жазылады:

uses CRT, Graph; Программадағы кез келген операторды белгімен белгілеп қоюға болады.Бұл белгі арқылы қажетті жағдайда программаның кез келген жолынан осы белгісі бар операторға көшіп, оны қайталап кезексіз орындауға болады. Белгі ретінде төрт цифрдан аспайтын кез келген санды немесе сөздерді қолдануға болады. Оператор тек бір белгімен ғана белгіленеді. Бір белгі бірнеше операторды белгілей алмайды. Белгілер операторлар бөлімінде сол оператордың алдына жазылып, арасы қос нүктемен ажыратылады. Сипаттау бөлімінде белгілер label түйінді сөзінен кейін жазылады. Мысалы:

label 3, 471, 29, Quit;

 Программадағы тұрақтылар өз мәнімен (мысалы, 5,14,13.5, т.б.) немесе оған қойылған атау арқылы берілуі мүмкін. Тұрақтылар өз атауы арқылы берілсе, онда оның атауын жаза отырып программаның кез келген жерінде пайдалануға болады, бірақ оның атауы мен мәні тұрақтыларды сипаттау бөлігінде төмендегідей түрде көрсетілуі тиіс. Мысалы:

const p=3.14;  e=2.7;  a=’bol’;  max=1000;   

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

 var P,Q,R: Integer;

    A,B:   Char;

    F1,F2: Boolean;

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

 Операторлар бөлімінде программа мазмұнына сәйкес бір немесе бірнеше оператордың болуы мүмкін. Операторлар бір-бірінен нүктелі үтір (;) арқылы бөлініп жазылады. Операторлар бөлімі begin түйінді сөзінен басталып, end сөзімен аяқталады. Begin мен end сөздерін операторлық жақшалар деп те атайды. Сәйкесінше begin – ашылатын, end – жабылатын жақшалар. Оператор дегеніміз - алгоритмді жүзеге асыру барысында орындалатын іс-әрекеттерді анықтайтын тілдің қарапайым сөйлемі. Операторлардың жалпы жазылу түрі төмендегідей болады:

BEGIN

       1-оператор;

       2-оператор;

       .................;

       n-1-оператор;

       n-оператор

END.

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

Program bastau;        {программа тақырыбы}

const pi=3.14159;       { π тұрақтысының мәнін беру}

var r, l :real;              {r, l мәндерінің нақты сан екенін сипаттау}

begin                        {Операторлар басы}

readln(r);                  { r мәнін енгізу}

l:=2*pi*r;                   {Шеңбер ұзындығын есептеу}

 

write(‘шеңбердің ұзындығы= ’, l);         {Нәтижені экранға шығару}

 

end.                                                         {Программа соңы}

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

1-мысал

program misal; {екі санның қосындысын есептеу}

var

   x,y,s: integer;

begin

  WriteLn('Бос орын арқылы екі сан енгіз ');

  ReadLn(x,y);

  s := x + y;

  WriteLn('Екі санның қосындысы ',s);

end. 

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

2-мысал

program misal; {екі санның қосындысын есептеу}

uses Crt; {экранды тазалауға және кідіруге қажетті процедураларды орындауға мүмкіндік   беретін модульді іске қосу}

var

  x,y,s: integer;

begin

  ClrScr; {экранды тазалау}

  WriteLn('Бос орын арқылы екі сан енгіз ');

  ReadLn(x,y);

  s := x + y;

  WriteLn('Екі санның қосындысы ',s);

  ReadKey; {перненің басылуын күту}

end.

Енгізу және шығару операторлары.

   Паскаль тілінде мәліметтерді енгізу және шығару үшін, яғни адам мен компьютер арасында мәлімет алмасу мақсатында алдын ала анықталған Input, Output файлдары қолданылады. Программа берілген мәндерді Input файлынан алады да, алынған нәтижені Output файлына орналастырады. Стандартты енгізу файлы болып пернетақта, ал шығару файлы болып дисплей экраны саналады. Ол үшін енгізу операторы пайдаланылады.

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

     READ(a1, a2, …, an);

      READLN(a1, a2, …, an);

      READLN;

 мұндағы a1, a2, …, an– айнымалы атаулары, оларды енгізу операторының параметрлері деп те атайды. Алғашқы оператор көрсетілген айнымалылардың мәндері пернелер арқылы араларына бір бос орын қалдыру арқылы енгізілген соң, курсорды келесі қатарға көшірмейді. Ал readln ( read line – «қатарды оқу» деген сөздің қысқартылуы) алдыңғы оператордағыдай пернелерден мәндер енгізілгеннен кейін курсорды келесі қатарға көшіріп жібереді. Соңғы қатарда жазылған параметрсіз оператор ешбір мән енгізбей, тек курсорды келесі қатарға көшіруді ғана атқарады.

   Енгізілетін айнымалылардың мәндері integer, real, char немесе string (сөз тіркесі) типтеріне жатуы мүмкін. Логикалық айнымалылардың мәндері енгізілмейді. Айнымалылар мәндері өз типтеріне сәйкес Паскаль тілінің ережесі бойынша енгізіледі. Егер ол шарт бұзылса (мысалы, а1 типі integer болса, ал енгізгенде char типтес мән терілсе), онда экранға енгізу-шығару қатесі шығады, оның пішімі мынадай болып келеді.

 I/O error XX,

 мұндағы XX – бүтін сан түріндегі қатенің сипатына сәйкес коды.

   READ операторы орындалғанда параметрлер өздеріне сәйкес мәндерді қабылдайды, бұл міндет INPUT енгізу файлы арқылы жүзеге асырылады. Параметрлер жаңа мән қабылдағанда, оларда бұрын орналасқан (жазылған) ескі мән өшіріліп, орнына жаңа мәндер жазылып отырылады да, программа параметрдің жаңа мәні бойынша жұмыс атқарады.

Мысал.

 var

I: real;

J: integer;

K: char;

begin

Read (I, J, K);

      Программаға мынадай бастапқы мәндер енгізіледі делік: 212.5    38    ‘п’

   Осыдан кейінгі келесі мәндер енгізілсін:   ‘л’    121.35    25

Алғашқы нұсқасында мәлімет енгізу дұрыс орындалады, өйткені енгізілетін мәндер өз ретімен орналасқан айнымалылар типтеріне (I, J, K) сәйкес келіп тұр. Екінші нұсқа коды 10 болып келетін қате бар екенін айтады, себебі real типтес I айнымалысы үшін char типіндегі мән енгізіліп отыр.

Егер енгізілу пернетақта арқылы емес, дискіден немесе файлдан жүзеге асырылса, онда жақша ішіне алдымен файл аты жазылады.

    READ(FN, a1, a2, …, an); 

  READLN(FN, a1, a2, …, an);

   READLN(FN); мұндағы FN – енгізілетін мәндер жазылған дискідегі файлдың аты; аi   - айнымалылар идентификаторлары, файлдарда да мәндер бір қатардан немесе келесі қатардан оқыла береді, сол себепті мұнда да жоғарыда көрсетілген операторлардың үш түрі қолданылады. Файлдағы мәліметтер де бір-бірінен «бос орын» не «енгізу» пернесін басу арқылы бөлінуі тиіс, яғни файлға әрбір мән енгізілгеннен кейін «_», ал енгізу соңында «Enter» пернесі басылады. Файлдардан мәлімет енгізу мысалдарын кейінірек қарастыратын боламыз.

   READ операторы кез келген сандармен, символдармен және сөз тіркестерімен жұмыс атқара алады.      

   Сонымен, параметрлердің сандық мәндері бір-бірінен бос орын арқылы ажыратылып жазылады. Мәндерді беріп болдық дегенді білдіру үшін Enter (енгізу) пернесі басылады. Мысалы, енгізу операторы READ(A,B,C); түрінде берілсе, параметрлерге мәндер былай беріледі. 5_6.2_4.5 Enter. Бұл жағдайда A=5, B=6.2, C=4.5 мәндер қабылдайды. Осы мәндер арқылы программа орындалып болған соң, басқа мәндер үшін программаны қайталау қажет болса, онда программаны басынан бастап қайта орындау қажет.Бүтін айнымалыларға бүтін, нақты айнымалыларға нақты мәндер берілуі қажет.Айнымалы сипатталғанда нақты ретінде көрсетілсе, оған нақты да, бүтін де мән беруге болады, себебі нақты сан құрамына бүтін сан енеді. Ал машина «өзі» бүтін санды нақты сан түріне келтіріп алады. Мысалы:   VAR        A, B: REAL;   BEGIN        READ (A,B);                   END.

түрінде беріліп A, B айнымалылары үшін 4 5  Enter орындалса, онда машина оларды А = 4.0, B = 5.0 түрінде қабылдайды.    Сандар арасына бір немесе бірнеше бос орын қалдыруға болады, себебі сан енгізілгенде бос орын есепке алынбайды.   Мәндерді енгізгенде мән енгізілген жолдан келесі жаңа жолға өту үшін параметрсіз немесе параметрге сәйкес READLN; READLN(a1, a2, …, an); операторларын пайдалану қажет. Сонымен READ(a1, a2, …, an); READLN; операторларының орнына бір ғана READLN(a1, a2, …, an) операторын пайдалануға болады.  Шығару операторы. Паскаль тілінде нәтижені экранға шығару үшін WRITE (жазу) операторы (процедурасы деп айтылады) қолданылады:    WRITE (a1, a2, …, an); мұндағы жақша ішінде жай айнымалылар немесе апострофтармен қоршалған символдар тобы болуы мүмкін. Мысалы, егер B =17.15 болып, мына команда орындалғанда:   WRITE (‘B мәні = ’,B);экранда В мәні = 1.715E+01деген сөз тіркесі көрінеді.   Шығарылатын мәндердің түрі айнымалылардың типі арқылы анықталады, олар integer, real, boolean (true, false), char, string сияқты типтер түрінде беріле береді.    Шығарылатын параметрлер бір-бірімен үтір арқылы ажыратылып, WRITE түйінді сөзінен соң жай жақша ішіне жазылады.  Шығару операторында жақша ішінде қағазға не экранға шығарылатын мәннің пішімін – оның алатын орнын , яғни енін толық көрсетуге болады. Бүтін санды оның енін көрсете отырып экранға шығаруға болады, мысалы: b айнымалысының бүтін түрдегі мәнін көрсету   WRITE (b:n) немесе WRITE (b:5) операторы арқылы жүзеге асырылады. Мұндағы b - айнымалының атауы; n – мәні бүтін сан болып келетін тұрақты түрінде берілген орын саны, оны бірден бүтін санмен де жазуға болады. Егер b:5 пішімі беріліп, ал b = 56 (екі не үш разрядты сан) болса, онда беске дейінгі толтырылмаған орындарға сол жақ шетте бос орын қалдырылады. b = 56 мәні үшін WRITE (b :5) операторы экранға   «56»тіркесін шығарады.   Нақты сандар үшін оның жалпы енін, сонан соң бөлшегі алатын орынды көрсету қажет, сол себепті аралас сандарды бейнелеуде оның ені қос нүктемен бөлінген екі бүтін сан арқылы жазылады. Сонымен, нақты сан үшін пішім екі саннан тұрады:   I – санға берілетін барлық орын.    II – үтірден кейін алынатын бөлшек цифрлар саны.Мынадай оператор берілсін делік:   WRITE (Y : 5: 2)Мұндағы 5 – нәтижеге берілген барлық орын, 2 – үтірден соңғы бөлшек бөлігіне берілетін орындар саны. Мысалы, C = -145.7865 болғанда WRITE(C:8:3) операторы экранға -145.786 мәнін шығарады, мұндағы жалпы орындар саны – 8, ал бөлшек үш санмен бейнеленетіндіктен соңғы бір цифр жазылмай қалып отыр. C айнымалысының берілген мәнін толық бейнелеу үшін WRITE(C:9:4) операторын жазу керек еді. Жалпы нақты санды экранда бейнелеу операторының жазылу түрі:   WRITE(C : n : m);мұндағы nC мәнінің барлығына берілген орын саны; m - C мәнінің бөлшек бөлігіне белгіленген орын саны. n-нің мәні таңбаны, бүтін мен бөлшекті бөлетін нүктені және бүтін сандар орнын бөлшекке қосып көрсететіндіктен, ол n>m+3 болуы тиіс. Экранға шығаратын сандардың арасында қалдырылатын бос орын санын да осы жолмен көрсетуге болады. Ол үшін екі апостроф жазып, одан кейін қос нүктемен бөлінген бүтін сан арқылы қалдырылатын бос орындар санын өрнектейміз, мысалы:   WRITE (b:8:3, ‘ ‘: 4, c:12:4);Мұндағы 4 – b мен c сандарының арасындағы бос орын саны.    Егер нақты сан үшін: WRITE (‘Y =’, Y:8:3) пішімі берілсе, ал оның мәні Y = 1.76 болса, экраннан Y = 1.760 тіркесі көрінеді.    Егер операторда пішім көрсетілмесе, онда нәтижеде сол сан экспоненциальды түрде экранға шығады.    Паскаль тілінде параметрсіз шығару операторы WRITELNжаңа жолға өту үшін қолданылады.    Егер WRITELN(a1, a2, …, an); операторы қолданылса, онда a1, a2, …, an  мәндерін экранға шығарған соң курсор келесі жолға көшеді.    WRITE операторын түсініктеме беруге қолдануға болады. Мысалы:    WRITE(‘A,B,C мәндерін енгізіңдер:’);        READ(A,B,C);Мұндайда экранға:   A,B,C мәндерін енгізіңдер:Түсініктеме сөзі шығады, сонан кейін үш сандық мән енгізілуі тиіс. Мысалы,   WRITE(‘T= ’, N:3, ‘ ’:4, ‘M =’, M : 4 : 2 )болса, онда T-ның үшорынды мәнінен соң 4 бос орын қалады да, одан соң M-нің нақты мәні жазылады.    Айталық, X = 7, Y = 15, Z = 11, ал R = 450,08 болсын, оларды экранға шығарудың әртүрлі тәсілдерін төмендегі кестеде көрсетейік: 


Оператордың жазылуы

Экрандағы нәтижесі

 

Write (X, Y);

Write (X, ’_,_’, Y);

Write (X =, X);

Write (X, ’ ’:3,Z );

Write (’X+Y  =’, X+Y);

Write (Z, ’-соңы’);

Write (бітті); 

 

7 15

 7_,_15

 X=7

7   11

X+Y = 22

11-cоңы

бітті













1-мысал. Радиусы R болатын шеңбер ұзындығын есептеу программасын құру қажет.

Шығарылуы: 

program B1;

const pi=3.14159;

var

      R:real; (*R – шеңбер радиусы*)

      L:real; (*шеңбер ұзындығы*)

begin

         writeln(‘R мәнін енгізіңдер:’);

         read(R);

        L:=2*pi*R;

        writeln;  

        writeln;

        writeln(‘нәтиже:’);

        writeln(‘шеңбер ұзындығы L =’, L:8:3);

end.

Экранда төмендегідей нәтиже көрінеді: R мәнін енгізіңдер: 0.2нәтиже: шеңбер ұзындығы L =1.257




8 сыныптар үшін сарамандық жұмыстар

Сызықтық операторлар.

Сарамандық жұмыс №1

Берілгені: Мына өрнекті программалау тілінде жазыңыз.

y=cos5x+hello_html_m766e2eb.gif

Шешімі:

program Esep_1;

var x,y:real;

begin

readln(x);

y:=cos(5*x)+exp(1/7*ln(pi+abs(2-x)));

write('y=',y);

end.

Жауабы: X1=3 Y1=4.6539862853E-01

X2=5 Y2=2.2872224210E+00

X3=8 Y3=7.0485574540E-01

Сарамандық жұмыс №2

Берілгені: Мына өрнекті программалау тілінде жазыңыз.

y=ln(5x+3)+cosПx2+tgx3

Шешімі:

program Esep_2;

var x,y:real;

begin

readln(x);

y:=ln((5*x)+3)+cos(pi*sqr(x))+sin(x)/cos(exp(3*ln(x)));

write('y=',y);

end.

Жауабы: X1=7 Y1=1.8590133764E+00

X2=9 Y2=3.2880315239E+00

X3=4 Y3=2.2041722008E+00

Сарамандық жұмыс №3

Берілгені: Мына өрнекті программалау тілінде жазыңыз.

y=ln5x+x5sinx3+tgxx

Шешімі:

program togzhan_3;

var x,y:real;

begin

readln(x);

y:=ln(5*x)+exp(5*ln(x)*sin(exp(3*ln(x))))+sin(exp(x*ln(x)))/cos(exp(x*ln(x)));

write('y=',y);

end.

Жауабы: X1=8 Y1=4.7318530807E+00

X2=6 Y2=5.1434471867E+02

X3=9 Y3=8.0738233627E+00

Сарамандықжұмыс4

Берілген екі таңбалы санның орындарын ауыстыру программасы.

Program _9;

Var a,b,c:integer;

Begin

Write('сан енгіз а ');

Readln(a);

b:= a div 10; {87 div 10 =8}

c:=a mod 10; {87 mod 10 =7}

a:=c*10+b; {7*10+8 = 78}

Writeln(a);

ReadlnEnd. Жауабы сан енгіз 87 шығады 78

Сарамандық жұмыс №5

Тармақталуды ұйымдастыру. Шартты оператор.

Берілгені:

hello_html_m38b44e2.gif, егер -5<x<0

5x3+cosx, егер 0<=x<2 программа құрыңыз.


Шешімі:

Program esepteu;

Var x,y:real;

Begin

Writeln(‘x енгіз’);

Read(x);

If(x>-5) and (x<0) then y:sqrt(sqr(x+abs(x)) else if(x>=0) and (x<2) then

y:=5*sqr(x)*x+cos(x);

Writeln(‘нәтижесі’);

Writeln(‘y=’,y);

End.

Мән береміз. 1Нәтижесі : 1 y=5.5403023059E+00

-2-2 y=2.4494897428E+00

00 y=9.9999999999E+00

Сарамандық жұмыс №6

Берілгені:. xtgx-sinx, егер -1<=x<=1

Y= x3tgx , егер 1<=x<=2,5

3x3+5 , егер x>2,5

Шешімі:

Program esepteu_6;

Var x,y:real;

begin

writeln('енгіз x');

read(x);

If (x>=-1) and (x<=1) then y:=x*sin(x)/cos(x)-sin(x)

else

if (x>=1) and (x<=2.5) then y:=exp(3*ln(x))*sin(x)/cos(x)

else

if (x>2.5) then y:=3*exp(3*ln(x))+5;

writeln('нәтижесі');

writeln('y=', y);end.

Жауабы:X1=8 Y1=1.5410000000E+03

X2=45 Y2=2.7338000000E+05

X3=21 Y3=2.7788000000E+04

Сарамандық жұмыс 7

Ұжымдық мекемеде дипломы бар азаматқа жұмыс ұсыну процесі жүруде. Оған мамандарды ретімен қабылдайды. Программасын құрыңыз?

Program ds;

Var x, y, z, m: real;

Begin read(x, y, z);

If x>0 then writeln (‘m=’, жұмысқа қабылдау);

Else Writeln(‘y=’, жұмысқа қабылдамау);

Ify>3.5 thenwriteln (‘m:=’, инженер конструктор);

ElseWriteln(‘m:=’, ғылыми қызметкер);

Ifz>2 thenwriteln (‘m:=’, инженер қызметін ұсыну);

ElseWriteln(‘m:=’, жұмысқа қабылдамау);

End.

Сарамандық жұмыс 8

Берілген сандардың ішінде оң сандарды екі есе арттыру.

Program _8;

Var a:integer;

Begin

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

Readln(a);

If a>0 then a:=a*2;

Writeln(a);

Readln;

End. Жауабы: а санын енгіз 12 24

а санын енгіз -12 -12

Сарамандық жұмыс 9

Берілген сан тақ па ,жұп па анықтау программасын құру.

Program _9;

var a,b:integer;

Begin

writeln ('сан енгіз');

readln (b);

if a mod 2 =0 then writeln ('сан - жұп') else writeln ('сан-тақ');

Readln;

end. Жауабы: сан енгіз 2 сан-жұп , сан енгіз 7 сан-тақ

Сарамандық жұмыс 10

Бүтін сан берілген егер оң сан болса онда 1-ді қос,

егер теріс сан болса онда 2-ні алып таста, егер ноль болса 10 шығу керек.Программа құрыңыз.

Program _10;

Var a:integer;

Begin

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

Readln(a);

If a>0 then a:=a+1 else

If a<0 then a:=a-2 else a:=10;

Writeln('алынған сан ',a); Жауабы: сан енгіз 4 алынған сан 5

Readln; сан енгіз -2 алынған сан -4

End. сан енгіз 0 алынған сан 10

Сарамандық жұмыс 11

Берілген сан 7-ден аяқтала ма, жоқ па анықтау программасы.

Program _11;

var b:integer;

Begin

writeln ('сан енгіз');

readln (b);

If b mod 10 =7 then writeln ('сан  7 ден аяқталады')

else writeln ('сан 7 ден аяқталмайды');

Readln; Жауабы:сан енгіз 47 шығады сан 7 ден аяқталады

end. сан енгіз 52 шығады сан 7 ден аяқталмайды


Сарамандық жұмыс 12

Циклдардыұйымдастыру

Берілгені: hello_html_8e2b67a.gif программа құрыңыз.

Шешімі:

Program esep_12;

var x,S,AK:real; n:integer;

begin

writeln('x pen n engiz');

read(x,n);

S:=0; n:=1;

repeat

AK:=x+cos(n*x)/exp(n*ln(2));

S:=S+AK;

n:=n+1;

Until abs(AK)

Writeln('S=', S:7:3, 'AK=', AK:6:3);end.

Жауабы: X1=7 n1=5 S1=42.248 AK1=6.994.

X2=12n2=54 S2=144.423 AK2=12.000.

X3=4n3=10 S3=15.682 AK3=3.940.

Сарамандық жұмыс№13

1-ден 15-ке дейінгі барлық полиндром сандардың тізімін басып шығаратын программа құр (полиндром сан деп кері оқығанда да сол санға тең сан, яғни берілген есеп үшін бірінші және үшінші цифрлары тең сандар).

Программасы:

Program Polindrom;

Var a, b, c, P1: integer;

Begin

For a:=1 to 15 do

For c:=0 to 15 do

For b:=1 to 15 do

Begin

P1:=a*100+b*10+c;

If a=c then write (P1:5);

End. Жауабы:121...............

Сарамандық жұмыс 14

Берілгені: AK:=exp(k*ln(x))/sqr(k)+sqr(1) программа құрыңыз.

Шешімі:

Program sum;

Var x,S,AK,e:real; k:integer;

Begin

Writeln(‘x,e engiz’);

Read(x,e);

S:=0; k:=1;

Repeat

Ak:=exp(k*ln(x))/sqr(k)+sqr(1);

S:=S+AK;

k:=k+1;

Until abs(AK)

Writeln(‘S=’,S:4:3,’AK=’,AK:3:1);End.

Жауабы:X1=2;3; S=5.000 AK=2.0

X2=1;1; S=183.639 AK=1.0

X3=1;2; S=3.250 AK=1.3

Сарамандық жұмыс 15

Бер: AK:sqrt(abs(exp(3*ln(x))))/exp(3*ln(k)) программа құрыңыз.

Шешімі:

Program prsum;

Var x,S,AK,e:real; k:integer;

Begin

Writeln(‘x,e engiz’);

Read(x,e);

S:=0; k:=1;

Repeat

AK:=sqrt(abs(exp(3*ln(x))))/exp(3*ln(k));

S:=S+AK;

K:=k+1;

Until abs(AK)

Writeln(‘S=’,S:4:2,’AK=’,AK:6:3);

End.

Жауабы:X1=4;2; S=9.00 AK=1.000

X2=3;2; S=5.85 AK=0.650

X3=4;1; S=9.00 AK=1.000.

Сарамандықжұмыс №16

А және В екі саны берілген(А<В). А дан В ға дейінгі сандар қосындысын табу программасын құрыңыз.

Program _13;

Var a,b,i,s:integer;

Begin

Writeln('сан енгіз A');

Readln(a);

Writeln(‘cан енгіз B');

Readln(b);

For i:=A to B do

begin

s:=s+i;

end;

Writeln('сан қосындысы= ',s);

Readln;

End. Жауабы: сан енгіз 4

сан енгіз 6 шығады 15

Сарамандықжұмыс17

Факториал n!

Program _14;

VAR n, i: INTEGER; p: LONGINT;

BEGIN

WRITE (‘сан енгіз n: ‘ );

READLN (n);

p:=1;

REPEAT

p:=p*n; n:=n-1;

UNTIL n=0;

WRITELN (‘n! = ’, p);

END. Жауабы: сан енгіз 6 шығады 720

Сарамандықжұмыс18

1 ден 10 ға дейінгі барлық сандар қосындысын есептеу программасы.

program _15;

Var a,s,n:integer;

begin

s:=0; n:=1;

while n<11 do begin

Writeln(‘енгіз ’,n,’ число’);

readln(a);

s:=s+a;

n:=n+1;

end;

writeln(‘s=‘,s); readln;

end.Жауабы:11 14 17 18 15 12 25 28 29 26 s=195

Сарамандықжұмыс19

Барлық сандардың бөлінгішін табу программасы.

Program _16;

Var n,i:longint;

BEGIN

Write('сан енгіз...');

Readln(n);

Write('сан бөлінгіштері ',n,' : ');

i:=1;

whilei<=n do

begin

if n mod i = 0

then Write(i,' ');

Inc(i);

end;readln;end. Жауабы: сан енгіз 6 шығады 1 2 3 6

Сарамандықжұмыс20

11 ден 5 дейінгі сандардың кубын шығару программасы.

Program _20;

var N: integer;

begin

for N:=11 downto 5 do

write(N*N*N:5);

writeln;

readln

end. Жауабы:1331 1000 729 512 343 216 125


9-сыныптар үшін сарамандық жұмыстар

Сарамандықжұмыс1

Бір өлшемді массивтер.

A(15) массив элементтерін өсу реті бойынша сұрыптау программасын құру.

Program massib_1;

varK,I,S,P:integer;

X:array[1..15] of integer;

begin for k:=1 to 15 do read(x[K]); writeln;

for K:=1 to 14 do

for I:=K+1 to 15 do

if X[I]

P:=X[K]; X[k]:=X[I]; X[I]:=P end;

writeln; for K:=1 to 15 do write (X[K]:5);

readln; readln end.

Жауабы:енгізу A[1]10A[2]24A[3]31A[4]12A[5]47A[6]72A[7]58A[8]66A[9]74A[10]65A[11]23A[12]15A[13]8A[14]33A[15]85

Нәтижесі: 8 10 12 15 23 24 31 33 47 58 65 66 72 74 85

Сарамандықжұмыс2

А(10) сандық массивінің 0-дік емес элементтерінің көбейтіндісін есептеу керек.

Program massib_2;

const N=10;

var A:array[1..n] of real;

S:real;K:integer;

begin

for k:=1 to N do

begin

write('A[',K,']=');

read(A[k]);

end;

begin S:=1;

for k:=1 to N do

if (k<>0) then

S:=S*A[k];writeln('S=',S);end;end.

Жауабы:

À[1]=6A[2]=9A[3]=12A[4]=25A[5]=36A[6]=48A[7]=28A[8]=44A[9]=65A[10]=78

Нәтижесі: S=1.7485474406 E+14

Сарамандықжұмыс3

А (20) массиві берілген. Массив мүшелерінің арифметикалық ортасын табу керек.


Program massib_3;

Const N=20;

Var A:Array [1..N] of real;

S:real; k:integer;

begin

For k:=1 to N do

begin

write('A[', k, ']=');

readln(A[k]);

end;

begin

S:=0;

For k:=1 to N do

S:=(S+A[k])/N;

Writeln('S=', S);

end;end.

Жауабы:A[1]=15 A[6]=25 A[11]=34 A[16]=14

A[2]=45 A[7]=96 A[12]=8 A[17]=91

A[3]=47 A[8]=31 A[13]=23 A[18]=69

A[4]=56 A[9]=63 A[14]=22 A[19]=89

A[5]=82 A[10]=20 A[15]=64 A[20]=90

Нәтижесі: S=4.7316991431E+00

Сарамандықжұмыс4

Екі өлшемді массив

Матрицаның ең кіші элементін табу

program massib_4;

const N=3;M=4;

var A:array[1..N,1..M] of integer;

K,I,Min:integer;

begin for K:=1 to N do for I:=1 to M do read(A[K,I]);

Min:=A[1,1];

for K:=1 to N do

for I:=1 to M do if A[K,I]

writeln('MIN=',Min);

readln; readln end.

Жауабы:5 6 8

13 17 65

24 36 87

9 43 68 Нәтижесі: Min=5

Сарамандықжұмыс5

А[3,3] массиві берілген. Кері диагональдан жоғары орналасқан элементтердің арасынан ең үлкенін табу керек.

Program massiv_5;

Const n=3;

Const m=3;

Var A:array[1..n,1..m] of integer;

max:integer; i,j:integer;

begin

write('элемент енгіз');

for i:=1 to n do;

for j:=1 to m do

begin read(A[i,j]);

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

end;

begin

for i:=1 to n-1 do

for j:=1 to m-1 do

begin

a[1,1]:=max;

if a[i,j]>max then

max:=a[i,j];

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

writeln;end;end;end.

Жауабы:12 85 95

74 57 21 Нәтижесі: A[1,2]=85 74 57

64 52 13

Сарамандықжұмыс6

4х5 матрица берілген. Матрицаның әрбір жолын өсу реті бойынша сұрыптаңыз. 

program suriptau6;

const n=4; m=5;

 var a:array[1..n,1..m] of integer;

i,j,s,k:integer;

 begin

for i:=1 to n do

  for j:=1 to m do

  read(a[i,j]);

  for i:=1 to n do begin

  for j:=1 to n do  begin

  for s:=1 to n do

  if a[i,s]>a[i,s+1] then    begin

  k:=a[i,s];      a[i,s]:=a[i,s+1];        a[i,s+1]:=k;           end;         end;      end;

 for i:=1 to n do begin

 for j:=1 to m do

 write(a[i,j],' ');        writeln;        end;      end.

Сарамандықжұмыс7

Жолдық берілгендер

Символдар қатары берілген. Қатардағы мына әріптердің ену санын табу программасын құру керек.

Program simbol_7;

Var d:string [20];

k,P:integer;

begin P:=0;

writeln ('Textengiz');

readln (d);

For k:=1 to length (d) do

begin

P:=pos('abc',d);

if P<>0 then P:=P+1;

writeln('P=', P);

readln;end;end.

Жауабы:мәтін енгіз Abcoluteabc нәтижесі:P=2

Сарамандықжұмыс8

Символдар қатарында «+» және «*» символдары қанша рет кездесетінін анықтау программасын құру керек.

Program simbol_8;

Var d:string [10];

k,n:integer;

begin n:=0;

writeln('Мәтін енгіз');

readln(d);

For k:=1 to length (d) do

begin

If (d[k]='+') or (d[k]='*') then n:=n+1;

end;

writeln ('+,* sany-',n);

readln;end.

Жауабы: Мәтін енгіз58*78+96*85-63/58

Нәтижесі: +,* sany-3

Сарамандықжұмыс9

Картотекадан қан тобы бірдей болатын 10 сынып оқушыларының тізімін шығару программасы

Program simbol_9;

typedosye=RECORD

A,C:String;

B,E:integer;

D:Char;

end;

Var X:array[1..10] of Dosye;

K,N:Byte; G:Char;

begin

For K:=1 to 3 do With X[K] do begin

Write('фамилиасы:'); Readln(A);

Write('аты:'); Readln(C);

Write('туған жылы:'); Readln(B);

Write('сыныбы:'); Readln(E);

Write ('кантобы:'); Readln(D);

end; Writeln;

Write('қандай қан тобы керек:'); Readln(G);

N:=0; Writeln('осы топқа жататын оқушылар тізімі:');

For K:=1 to 3 do With X[k] do begin

If (D=G) and (E=10) then Writeln(A:10, C:10)

Else N:=N+1; If N=3 Then writeln ('ондай оқушы жоқ') end;

readln; end.

Жауабы:

Алдабергенов Сарсенбаева Кодасов

Aсет Maя Aлмат

1991 1989 1992

10 11 10

2 3 2

Қандай қан тобы керек: 2

Осы топқа жататын оқушылар тізімі: Алдабергенов АсетКодасов Алмат

Сарамандықжұмыс10

Символдар қатарында қанша бос орын бар екенін анықтау программасын құру керек.

programsimbol_10;

var a:string [10];

k,n:integer;

begin n:=0;

writeln('мәтіненгіз');

readln(a);

for k:=1 to length(a) do

begin

if a[k]=' 'then n:=n+1; end;

writeln('n=',n);

end.

Жауабы:Мәтін енгіз Erty uio po шығады n=4


Сарамандықжұмыс11

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

Берілгені Z=7(3x+4y-1)5(3x+4y-1)-2sinx+10

Program baian_11;

Var x,y,z:real;

Function fn(t,P:real):real;

begin

fn:=3*t+4*P-1;

end;

begin

writeln('x,y');

readln(x,y);

z:=7*fn(x,y)+5/fn(x,y)-2*sin(x)+10;

writeln('z=',z:4:2);

end.

Жауабы:X1=52 Y1=65 нәтижесі Z=2913.04

Сарамандықжұмыс12

Стандартты модульдерді пайдалану

Турникке тартылып тұрған адам бейнесін салу.

Program Turnik_12;

Uses GraphABC;

Var d1,d2:integer;

begin

line(10,20,70,20);

line(20,20,40,40);

line(60,20,40,40);

line(40,40,40,70);

line(40,70,20,90);

line(40,70,60,90);

circle(40,30,5);

Readln;

end.










Сарамандықжұмыс13

hello_html_746e3918.png

uses graphABC,crt;

var a,h:real;

begin

readln(h);

readln(a);

LINE (320 + round(a / 2), 240 - round(h / 2),320 + round(a/2), 240 + round(h/ 2));

LINE (320 + round(a / 2), 240 - round(h / 2),320 - round(a / 2), 240 - round(h / 2));

LINE (320 - round(a / 4), 240 + round(h / 2),320 + round(a / 2), 240 + round(h / 2));

LINE (320 - round(a / 4), 240 + round(h / 2),320 - round(a / 2), 240 - round(h / 2));

LINE (320, 240 - round(h / 2),320, 240 - round(h * 2));

LINE (320, 240 - round(h * 2),320 + round(a / 5), round(240 - h));

LINE (320, 240 - round(h),320 + round(a / 5),round( 240 - h));

end.

Сарамандықжұмыс14

Айды салу программасы.

uses crt,graphABC;

var choice:integer;

label 1,2,3;

begin;

clrscr;

writeln('1.толық ай, 2.жарты ай, 3.жаңа ай');

readln(choice);

IF choice = 1 THEN GOTO 1;

IF choice = 2 THEN GOTO 2;

IF choice = 3 THEN GOTO 3;

halt;

1:CIRCLE (320, 240, 100);

floodfill(320,240,15);

repeat;

untilkeypressed;

halt;

2 :arc(320, 240, 90, 270, 100);

LINE (320, 140,320, 340);

floodfill(300,240,15);

repeat;

untilkeypressed;

halt;

3 :arc(320, 240, 90, 270, 100);

arc(490, 240, 150, 210, 200);

floodfill(285,240,15);

end.

Сарамандықжұмыс15hello_html_m7a891720.png

Бұлт суретін салу программасы.

uses graphABC,crt;

begin

CIRCLE (320, 240, 100);

floodfill (320, 240, 10);

CIRCLE (220, 240, 80);

floodfill (200, 240, 10);

CIRCLE (420, 240, 80);

floodfill (440, 240, 10);end.





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


  1. Ван Тассел Д. Стиль, «Разработка, эффективность, отладка и испытание программ»- Москва «Мир», 1981


  1. Информатика. Задачник-практикум в 2 т. / Под ред. И.Г. Семакина, Е.К. Хеннера: Том 2. — Москва. Лаборатория Базовых Знаний, 1999г


  1. С.А.Абрамова, Е.В.Зима. «Началапрограммированиянаязыке

Паскаль»-Москва «Наука»,1987


  1. Б.Қ.Сапарғалиев, Н.Е.Масалимова «Информатика» Алматы

«Арман-ПВ»,2013


  1. Окулов. С.М., Основы программирования. – 3-е изд. – Mосква: БИНОМ. Лаборатория знаний, 2006






29



Подайте заявку сейчас на любой интересующий Вас курс переподготовки, чтобы получить диплом со скидкой 50% уже осенью 2017 года.


Выберите специальность, которую Вы хотите получить:

Обучение проходит дистанционно на сайте проекта "Инфоурок".
По итогам обучения слушателям выдаются печатные дипломы установленного образца.

ПЕРЕЙТИ В КАТАЛОГ КУРСОВ

Краткое описание документа:

Қазақстан Республикасы Үкіметінің 2012 жылғы 23 тамыздағы №1080 қаулысыменбекітілген.Орта білім берудің мемлекеттік стандартын басшылыққа ала отырып жинақталған.

       Информатика пәнінің міндеті – оқушыларға   әрбір тақырып бойынша  тиянақты білім бере отырып, әрбір сарамандық жұмыстар көмегімен білімдерін іс жүзінде қолдана білуге дағдыландыру.8-9-сыныптарда информатика пәнін оқытуда  «программалаумен танысу» тарауының, оның ішінде «Паскаль программалау тілі» тақырыбының маңызы ерекше.Осы тақырыптарды өткен соң, сарамандық сабақтарда оқушылар компьютер көмегімен есептеулер жүргізу мүмкіндігіне ие болады.Паскаль тілін оқып үйренгенде оның алгоритмдік тілмен ұқсастығын әр уақытта баса көрсетіп, шешу жолдары алгоритмдік тілде қарастырылған есептерге осы тілде программа жазып, оны орындаған тиімді.

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

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

 

       Компьютер программада көрсетілген іс-әрекеттерді орындайды. Программа қатесіз жасалу керек, белгілі ережелер сақталмаса, машина ондай программаны орындамайды. 

Автор
Дата добавления 28.04.2015
Раздел Информатика
Подраздел Конспекты
Просмотров1191
Номер материала 500613
Получить свидетельство о публикации
Похожие материалы

Включите уведомления прямо сейчас и мы сразу сообщим Вам о важных новостях. Не волнуйтесь, мы будем отправлять только самое главное.
Специальное предложение
Вверх