ТОШКЕНТ АХБОРОТ ТЕХНОЛОГИЯЛАРИ УНИВЕРСИТЕТИ САМАРҚАНД ФИЛИАЛИ “ИНФОРМАТИКА ВА АХБОРОТ ТЕХНОЛОГИЯЛАРИ” кафедраси “С++ дастурлаш тили” амалий ва лаборатория машғулотларидан талабаларнинг мустақил иши учун услубий кўрсатма Самарқанд- 2007 ТАТУ Самарқанд филиали “Информатика ва ахборот технологиялари” кафедра мажлисининг ____________ март 2006 йил (баённома №____) қарори билан тасдиқланган. ТАТУ Самарқанд филиали “Информатика ва педагогик технологиялар” факултетининг ўқувуслубий кенгашида «___» ________ 2006 йил ____-сон мажлисининг қарори билан тасдиқланган. ТАТУ Самарқанд филиали ўқув-услубий кенгашининг _________ 2006 йил ____-сон мажлисининг қарори билан тасдиқланган. Тузувчилар: Қаршиев А.Б., Махмудов З.М., Сафарова Г.Т. Тақризчилар: Самарқанд иқтисодиёт ва сервис институти “Ахборот технологиялари” кафедраси мудири, доцент Алиқулов А.И. ТАТУ Самарқанд филиали “Касб таълим фанлари” кафедраси мудири, доцент Бекмуродов Қ. Сўз боши Мазкур услубий кўрсатмада талабанинг мустақил ишини ташкиллаштиришда қуйидаги мезонлар асос қилиб олинган: 1. Мустақил иш бевосита информатика фани бўйича аниқ топшириқлардан иборат бўлиши лозим; 2. Мустақил иш ўқитувчи томонидан доимий равишда назорат қилиниши шарт; Ушбу мезонларнинг бажарилишини таъминлаш мақсадида талабаларни қуйидаги шарт-шароитлар билан таъминлаш мақсадга мувофиқ ҳисобланади: Талаба томонидан бажариладиган мустақил ишнинг аниқ бир услубда бўлишини таъминлаш; Зарурий ахборот таъминотининг мавжудлиги, масалан, ўқув адабиётлари, электрон дарсликлар ва бошқалар; Зарурий услубий таъминотнинг мавжудлиги; Тест материалларининг мавжудлиги; Техник таъминотнинг мавжудлиги; Талабага мустақил ишни бажариши учун аниқ вақтларни белгилаш; Ўқитувчилар томонидан маслаҳатларни ташкиллаштириш; Мустақил ишларни долзарблигини таъминлаш; Талабалар ўртасида олинган натижалар бўйича конференциялар ташкиллаштириш; Олинган натижалар бўйича талабаларни рађбанлаштириш. Шулардан келиб чиққан ҳолда тaлaбaлaр информатика курсини ўрганиши мобайнида нафақат назарий ва амалий, балки мустақил ҳолда ҳам ишлашлари ҳам зарур бўлади, чунки ажратилган соатларнинг камлиги, бевосита мавжуд бўлган дастурий ва теxникавий воситaлaрни ўрганиш зарурияти ва ҳозирги кунда доимий янгиланиб турилаётган адабиётлар билан танишиб бориш мунтазам равишда шуђулланишни талаб қилади. Мустақил иш режаси № Мустақил иш топшириқлари Soat 1. С++ тилидаги адабиётлар билан ишлаш. 2 2. С++ тилида чизиқли жараёнлар билан ишлаш. 2 3. С++ тилида тармоқланувчи жараёнлар билан ишлаш. 2 4. С++ тилида танлов операторлари билан ишлаш. 2 5. 7. С++ тилида шарти олдин текширилувчи такрорланувчи 2 жараёнлар билан ишлаш. С++ тилида шарти кейин текширилувчи такрорланувчи 2 жараёнлар билан ишлаш. С++ тилида параметрли такрорланиш жараёнлари билан ишлаш. 2 8. С++ тилида массивлар билан ишлаш. 9. С++ тилида функциялар билан ишлаш. 6. 2 Жами 18 Маслаҳат ўтказилганлигини қайд қилиш учун ўқитувчи талабанинг дафтарига маслаҳат ўтказганлиги ҳақидаги маълумот, ўқитувчи имзоси ва маслаҳат ўтказганлиги санаси кўрсатилади. Мустақил ишларни бажариш учун топшириқлар ва тавсиялар 1-МАВЗУ. С++ ТИЛИДАГИ АДАБИЁТЛАР БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талаба бевосита ҳар бир мавзу бўйича адабиётлар билан ишлаб, ўз фикр-мулоҳазаларини ёрита олиши ва ҳар бир бажарган ишни мустақил равишда ўзлаштиришни ургатиш. Мустақил бажарган ишларини расмийлаштириш тартиби: Талаба мустақил бажарган ишларини дафтарга ёзади ва у ўқитувчи томонидан текширилиб баҳоланиб борилади. Мустақил ишни бажариш қуйидаги тартибда амалга оширилади. Аввало талаба услубий кўрсатмадаги келтирилган топшириқлар ва уларни ечиш тартибини урганиб чиқади. Ҳар бир мавзудаги топшириқни кўрсатмадаги каби мустақил дафтарига ёзиб боради. Кўрсатма: 1-топшириқ. Borland С++ Builder 6 дастурлаш муҳитининг Console Wizard ойнасини очиш ва унда ишлашни урганинг. Borland C++Builder 6 дастурлаш муҳитини ишалтиш учун аввал Windows ОТ да қуйидаги амални бажарамиз: Пуск Все программы Borland C++Builder 6 C++Builder 6. Бу амални бажаргандан сунг экранда мулоқот ойнаси пайдо бўлади. Бу 1 – расмда Borland C++Builder 6 муҳитининг асосий менюлари, шакллари ва лойиҳасининг кўриниши келтирилган. Меню сатри Лойиха номи Лойиха ойнасининг таркиби Инструментлар ойнаси Шакл Хоссалар ойнаси Кодлар ойнаси 1 - расм. Borland C++Builder 6 муҳитининг умумий кўриниши. Бу расмда ифода этилган ойна Borland C++Builder 6 муҳитидаги шакллар визуал дастурлаш имкониятини яратади. Албатта биз визуал дастурлашдан олдин С++ дастурлаш тилининг базавий Console шаклидаги дастурлашни ўрганишимиз зарур. 3 - расмда Borland C++Builder 6 мухитининг Console Wizard ойнасида дастурлаш усуллари кўрсатилган. Бу ойнани юклаш учун ёрлиғини “сичқонча” кўрсаткичи ёрдамида босамиз ва қуйидаги 2-расмдаги шаклни оламиз: 2-расм. Ҳар хил шаклларни танлаш ойнаси. 2 – расмда кўрсатилган Console Wizard ёрлиғини танлаймиз ва 3-расмда кўрсатилган ойнани ҳосил қиламиз. 3 – расм. Console Wizard бошланғич ойнасининг кўриниши. Шундан сунг ОК тугмачасини босиб қуйидаги 4-расмни оламиз: 4-расм. Console Wizard ойнасининг кўриниши. Бу ойнадаги автоматик равишда ҳосил бўлган дастур кодларидаги int main(int argc, char* argv[]) { return 0; } main функциясининг параметрлари ва у функциянинг ҳисобланган қиймати бутун сон эканлигини кўрсатаяпти. 5-расм. Console Wizard ойнасидаги кодлар ёзилиши. Бизнинг дастуримиз учун бу кодларни ишлатиш шарт эмас, шунинг ушбу кодларни ўзимизнинг дастур учун мослаб олишимиз зарур. Демак, кодларни 5– расмда кўрсатилганидек ўзгартирамиз ва бунга бизга берилган масала учун тузилиши керак бўлган дастур кодларини киритсак бўлади. Бу ойнага дастур кодларини киртиб бўлгач уни ишга тушириш учун ёрлиғи, Run менюсидаги Run бўйруғи ёки F9 тугмачаси орқали амалга ошириш мумкин. Мавзу бўйича қўлланилувчи дидактив ва техник воситалар: Компьютер, дискета ёки компакт-диск. Тавсия этилган адабиётлар: [1-21] ва Интернет манбалари. 2-МАВЗУ. С++ ТИЛИДА ЧИЗИҚЛИ ЖАРАЁНЛАР БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилининг чизиқли жараёнлари билан мустақил равишда ишлашни ўргатиш. Кўрсатма: 1 – топшириқ. Қуйидаги функцияни ҳисоблаш дастурини тузинг: z e x cos( y) | x 3 ax 2 b | Ечилиши: I. Дастурнинг блок схемаси: бошланиши Ўзгарувчилар ни киритиш z=(exp(x)-cos(y))/|x*x*x+ax*x+b| z- ни чиқариш Тамомлаш 6 – расм. Масаланинг блок схемаси. II. Топшириқнинг дастури: 1. #include <vcl.h> 2. #pragma hdrstop 3. #include <iostream.h> 4. #include <math.h> 5. #pragma argsused 6. void main( ) 7. { 8. float x,y,z,a,b,s; 9. cout<<"Қийматларни киритинг"; 10. cin>>x>>y>>a>>b; 11. z=(exp(x)-cos(y))/abs(x*x*x+a*x*x+b); 12. cout<<z; 13. cin>>s; 14. } III. Дастур учун тушунча. Бу ерда 1 – 5 қаторларда препроцессор директивалари ёзилиб улар дастури ишлашини таъминлайди. Булар кутубхона файллари бўлиб қандай вазифани бажаришини унинг номлари орқали аниқлаб олишимиз мумкин. iostream.h файлида киртиш ва чиқариш восталари жойлашган бўлиб, i-input - киритиш: o-output – чиқариш: stream – оқим: h (head) – сарлавҳани аниқлайди (Стандарт оқим клавиатурадан маълумотларни ўқиш учун хизмат қилади). math.h файли эса компиляторга математик функцияларни тушиниш имкониятини яратиб беради. 6 – қатор main номли функциянинг исми. (С++ дастурлаш тилида тузилган ихтиёрий дастурда битта ва фақат битта шу номли функцияни ишлата оламиз). С++ да дастурнинг бошланиши худди ана шу функцияни бажарилиши билан бошланади. main ни олдида хизматчи сўз void жойлашган. Бу махсус турни аниқлайди ва дастурда main функцияси ҳеч қандай ечимни ҳал этмайди, яъни буш функция ҳисобланади. main функция номидан сунгги ( ... ) – қавслар ичида функциянинг параметрлари рўйхати жойлаштирамиз. 7 – дастурлаш тилида ҳар қандай функциянинг танаси { } қавслар орасида жойлашган ёзувлар, аниқловчилар ва операторлар кетма-кетлигидан иборат бўлади. Ҳар қандай ёзувлар, аниқловчилар ва операторлар “ ; ” (нуқта вергул) билан тугалланиши шарт. Шуни айтиб утиш лозимки, С++ дастурлаш тилида ҳар қандай оператор, у неча қатор бўлишидан қатий назар “ ; ” дан “ ; ” гача битта оператор каби ҳисобланади. main( ) функциясини танасида аниқ ёзувлар ва аниқловчилар йўқ. 8 – қаторда ўзгарувчиларнинг ҳақиқий тури кўрсатилган. 9 – 10 – 12 – 13 қаторларда сout ва cin – оператори кўрсатилган бўлиб унга мос бўйруқлар iostream.h файлида жойлашган, бу оператор маълумотларни дисплей экранга чиқариш ва компютер хотирасига киритиш учун хизмат қилади. Ахборотлар cout ва cin объектига мос равишда ”<<” ва “>>” (жойлаштириш) амали орқали жўнатилади. ”<<” ва “>>”амали фақат уни чап томонида мос равишда cout ёки cin объекти бўлгандагина кучга эга. 2 – топшириқ. 1.625 sin 2 0.61. Функция қийматини ҳисоблаш дастурини тузинг. Ечилиши: I. Дастурнинг блок схемаси: Бошланиш alfa ни киритиш fi=1.625sin(alfa+0.61)* sin(alfa+0.61) z- ни чиқариш Тамомлаш 7 – расм. Масаланинг блок схемаси. II. Дастур матни 1. #include <iostream.h> 2. #include <math.h> 3. void main ( ) 4. { float alfa, fi; 5. cin>>alfa; 6. fi=1.625*sin(alfa+0.61)*sin(alfa+0.61); 7. cout <<fi; 8. } III. Дастур тавсифи. 1-2 қаторга олдинги мисолдаги каби препроцессор директеваларини ёзиб оламиз. 3-қаторга main ( ) функциясини ёзиб олинади. 4 – қаторда эса ўзгарувчиларнинг ҳақиқий тури курсатилади. 5 – қаторда ўзгарувчиларни клавиатура орқали компьютер хотирасига киритиш учун операторни ёзамиз. 6 – қаторда функциянинг қиймати ҳисобланади. 7 – қаторда ҳисобланган функциянинг қиймати экранга чиқарилади. 8 – қатор бош функциянинг тугалланишини билдиради. Мустақил бажариш учун топшириқлар. 1. y tgx ctg ( x ln x) 11. y x 2 y 2 sin 2 x x ax b 2 2. y 2 sin x ax by x y 2 12. y 0.98 2 x y2 3 xy 2 2 ln( x y 3. y arctg 4. y log sin x cos x 3 tgx ctg 2 x x2 y2 1 sin x sin y ln x 2 y 2 13. y arctg log 0.61xy 3 1 x 1 2 2 x y 14. y 8.1tg1..5 x log x 2 x 3 1 1 x ln 2 2 П 4 log (1 sin x 2 ) 5. y sin x 1 Пx 2 15. y e tg 2 x arccos cos 16. y 6. y e tg x cos( ax 2 b 1) 1 1 2x 2 arcctg 4.7 x x cos x 2 x sin x 2 7. y sin 0.7 x cos 5.1x 8. y 4.03 cos e Пx x 1 cos x x 2 2x 3 0.625 x x 1 17. y ln ln e2x 2x ln Пx 18. y tg3x sin x 2x x 2 2x 1 x 1 19. y sin 2 xy e x e3 1 x 2 2 arctgx 9. y 6.4tg 3 ln 4 x 3 1 4x 10. y arccos 3 20. y 1 32 x 2x sin cos 4.89 x 0.8 x 2 2 sin x y 1 21. Учбурчакнинг учта А, В, С томонлари берилган. Унинг бурчаги, юзи, медианаси, баландлигини ҳисоблаш дастури тузилсин. 22). Икки томони а, в ва бурчаги аниқ бўлган учбурчакнинг томони, юзаси, бурчаги, медианаси ва баландлигини аниқланг. 23. y=mx+n тўғри чизиқ y=ax2+bx+c параболани икки нуқтада кесиб ўтишини аниқланг. 24. А, В ва С бутун сонлар орасидан ҳеч бўлмаганда биттасини жуфтлигини аниқланг. 3-МАВЗУ. С++ ТИЛИДА ТАРМОҚЛАНУВЧИ ЖАРАЁНЛАР БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилининг тармоқланувчи жараёнлари билан ишлашни мустақил равишда ўргатиш. Кўрсатма: 1 - топшириқ. x нуқта [a,b] оралиқда ётишини аниқловчи дастурни тузинг. Ечилиши: I. Дастурнинг блок схемаси: Бошланиш a, b ни киритиш йўқ a<=x<=b ҳа “Ётади” Тамомлаш II. Топшириқнинг дастури: 1. # include <iostream.h> 2. void main ( ) 3. { float x,a,b; 4. cin>>x>>a>>b; 5. if (a<=x && x<=b) cout<<”\n Ётади”; 6. else 7. cout<<”\n Ётмайди”; 8. } III. Дастур учун тушинча. “Ётмайди” 1 – қаторда киритиш чиқариш оқимларининг файлини кўрсатамиз. 2 – қаторда бош функцияни ёзамиз. 3 – қаторда эса ўзгарувчиларнинг турини кўрсатамиз. 4 – қаторда ўзгарувчиларни киритамиз. 5 – қаторда тармоқланувчи шартли операторни киритамиз. Бу қатордаги && белгиси “ва” маъносидаги мантиқий амал бўлиб, шартда х ни [a,b] оралиқда ётишини текширади. Агар х [a,b] оралиқда ётса, у ҳолда экранга “Ётади” сўзи чиқади, акс ҳолда эса “Ётмайди” сўзи чиқади. 8 – қаторда функциянинг тугалланиши ифодаланади. 2 - топшириқ. Функциянинг қийматини ҳисоблаш дастурини тузинг. 4 x 2 1, x 2, 3 f ( x) 21.4 4 x 2 , 2 x 3 , sin 4 x 2 , x 3. Ечилиши: I. Дастурнинг блок схемаси: Бошланиш Ўзгарувчиларни киритиш ҳа fx=sqrt(4*x*x+1) x<2 йўқ ҳа 2≤x≤3 йўқ f=sin(4*x*x); f ни чиқариш Тамом f=exp((1/3)*log(21.4+4*x*x)); II. Дастур матни 1. # include <iostream.h> 2. # include <math.h> 3. void main ( ) 4. { float x,f; 5. cin>>x; 6. if (x<2) 7. { 8. f=sqrt(4*x*x+1); 9. } 10. else 11. { 12. if(x>3) f=sin(4*x*x); 13. else 14. f=exp((1/3)*log(21.4+4*x*x)); 15. } 16. cout<<f; 17. } III. Дастур тавсифи. Худди юқоридаги топшириқлардаги каби 1 – 5 қаторларни киритамиз. 6 – 15 қаторларда шартли операторни қўямиз, бу шартли операторлар ичма ич жойлашган шартли операторлар бўлиб, улар х нинг қайси оралиқга тушган қийматига қараб функциянинг мос қийматини f га беради ва ҳисоблайдию Натижани экранга 16 – қатордаги оператор беради. 17 – қатордаги белги дастур тамом бўлганлигини билдиради. 3 – топшириқ. ax2+bx+c=0 квадрат тенгламанинг ечимини топиш дастурини тузинг. Ечилиши: I. Дастурнинг блок схемаси: Бошланиш a,b,c,x1,x2 ни киритиш d=sqrt(b*b-4a*c); йўқ d>=0 ҳа x1=(-b+d)/(2*a); x2=(-b-d)/(2*a); x1, x2 ечимларни печатлаш Тамомлаш II. Топшириқнинг дастури: 1. # include <iostream.h> 2. # include <math.h> 3. void main( ) 4. { float a, b, c, x1,x2,d; 5. cin >>a>>b>>c; 6. d=sqrt(b*b-4*a*c); 7. if (d>=0) 8. { 9. x1=(-b+d)/(2*a); 10. x2=(-b-d)/(2*a); 11. cout<<x1<<"\n"<<x2; 12. } 13. else cout<<"Ечим йўқ"; Ечим йўқ 14. } III. Дастур учун тушинча. 1 – 5 қаторлар олдинги топшириқлардагидек ифодалаймиз. 6 – қаторда квадрат тенгламанинг дискриминанти d ни ҳисоблаймиз. 7 – қаторда квадрат тенгламанинг дискриминанти текширилади. Агар d>=0 Дастурнинг: 1 – қаторида киритиш, чиқаришнинг стандарт файли <iostream.h>дан фойдаланамиз. Бу файл идентификаторларни компютер хотирасига киритишнинг (cin>>) ва чиқаришнинг (cout<<) бўйруқларини таъминлайди; 2 – чи қаторда эса С++ тилининг стандарт функцияси main( ) дан фойдаланамиз. Фигурали қавслар ичида main( ) функциясининг танаси ҳисобланиб унда операторлар жойлашган; 3 – қаторда квадрат тенгламанинг ўзгарувчиларини аниқлаймиз; 4 – қаторда эса уларни киритамиз; 5 – 6 – 7 қаторларда эса дастур квадрат тенгламанинг қийматларини хисоблайди; 8 – 12 қаторларда квадрат тенгламанинг илдизлари ҳисобланиб экранда унинг натижаси экранга чиқади. 13 – қатор ечим йўқлигини кўрсатади. 14 – қатор дастур ишини тамомлайди. ТОПШИРИҚЛАР 1. Текисликда М1 ва М2, y=aх+b тўғри чизиқни кесиб ўтса, у ҳолда кесишувчи нуқта кординаталарини экранда чиқариш, акс ҳолда false экранда чиқариш дастурини тузинг. 2. x, y, z сонларни ўсиш тартибида экранга чиқариш дастурини тузинг. 3. Қўйидаги функциянинг қиймати ҳисоблаш дастури тузилсин: 0, x бутун сон учун f ( x) ctgпx x бутун булмаган сон учун 4. Туртбурчак а, в, с ва d сонлар билан ифодаланган кесмалардан ташкил топган. Агар туртбурчакга айлана чизиш мумкин бўлса true ва қарама-қарши томонларини, акс ҳолда false сўзларини экранга чиқариш дастури тузилсин. 5. y=kx+b ва x 2 y 2 r 2 ларнинг кесишиш нуқталари аниқлаш дастури тузилсин. 6.Функцияниг қийматини топиш дастурини тузинг: arcsin x, агар 1 x 1, f ( x) arctgx, колган холларда 7. Тенгламалар системани ечимини топиш дастури тузилсин: ax by c . dx ey f 8. Агар m сони n га қолдиқсиз бўлинса, у ҳолда экранда унинг натижаси чиқариш, акс ҳолда false чиқариш дастури тузилсин. 9. Агар N сон жуфт бўлса, экранда N/2, акс ҳолда (N+1)/2 чиқариш дастури тузилсин. 10. а, в, с сонлар орасидан энг кичигини топиш ва уларнинг энг каттаси билан алмаштириш дастури тузилсин. 11. М(х1,у1) ва М2(х2,у2) нуқталардан координаталар бошига энг яқинини экранга чиқариш дастури тузилсин. 12. Қуйидаги шартларда 2 x агар x 0 z x агар x 0 қийматини ҳисоблаш дастурини тузинг z 2 , агар z 1 F ( z) 1 z агар z 1 13. Агар а,в ва с узунликдаги кесмалар учбурчакни аниқласа унинг юзасини ҳисоблаш, акс ҳолда false ни экранга чиқариш дастурини тузинг. 14. Функциянинг қийматини ҳисоблаш дастурини тузинг агар x 1 4 x F ( x) arccos x агар 1 х 1 x агар x 1 4 15. R радиусли M массали ва зичликка эга бўлган шар. Шардан z масофа узоқликда жойлашган М массали натурал нуқтани тортиб турибди. Қуйидаги формула бўйича тортиш кучини ҳисоблашнинг дастурини тузинг: R 3 агар r R F r2 r агар r R 4 3 бу ерда fpm( -гравитацион ўзгармас). 16. а, в ва с ларни 1 max( a, b, c) min( a, b, c) лар билан алмаштириш дастури 2 тузилсин. 17. Агар а, в ва с сонлар орасида қарама-қарши сонлар мавжуд бўлса, у ҳолда учинчи сонни, акс ҳолда false ни экранга чиқариш дастури тузилсин. 18. а, в ва с сонлар берилган. Қуйидагиларни экранга чиқариш дастури тузилсин: 1) max(|a|,|b|), агар а<0, 2) max(|a|,|c|), агар а>0, 3) max(|b|,|c|), агар а=0. 19. Қўйидаги шартларда lg( x) агар x 0 U x , агар x 0 қийматини ҳисоблаш дастурини тузинг 2u 1, агар u 0 F (u ) . cos u, агар u 0 20). Агар y=ax+b ва y=cx+d тўғри чизиқлар кесишса у ҳолда уларнинг кесишиш нуқтасининг координаталари, акс ҳолда false экранга чиқариш дастурини тузинг. 21. Агар |ax|>1 бўлса, Т |ax|<1 бўлса, b 3 2ax 2 ln ax , ax h 3 a2 x2 ln a a2 x2 1 |ax|=0 бўлса, S 1 3 1 3 x a 3 2 ҳисоблаш дастурини тузинг. 4 – МАВЗУ. С++ ТИЛИДА ТАНЛОВ ОПЕРАТОРЛАРИ БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилининг танлов операторлари билан ишлашни ўргатиш. Кўрсатма: 1.Мисол. Šуйидаги йиђиндини, айирмани, кўпайтмани, бўлинмани топиш дастурини тузинг. I. Дастурнинг блок-схемаси: бошланиши y, z ни киритиш сase оператори '+': x = y + z '-': x = y - z '*': x = y * z '/': x = y / z тамом II. Топшириқнинг дастури: #pragma hdrstop # include <iostream.h> # include <math.h> #pragma argsused int main() { char ZNAC; int x,y,z; cin >> y; cin >> ZNAC; cin >> z; switch (ZNAC) { case '+': x = y + z; case '-': x = y - z; case '*': x = y * z; case '/': x = y / z; break; break; break; break; default : ; } cout<<x; } III. Дастур учун тушинча. 1 – қаторида киритиш, чиқаришнинг стандарт файли <iostream.h>дан фойдаланамиз. Бу файл идентификаторларни компьютер хотирасига киритишнинг (cin>>) ва чиқаришнинг (cout<<) бўйруқларини таъминлайди; 2 – чи қатордаги math.h файли эса компиляторга математик функцияларни тушиниш имкониятини яратиб беради 3- қатордаги С++ тилининг стандарт функцияси main( ) дан фойдаланамиз. Фигурали қавслар ичида main( ) функциясининг танаси ҳисобланиб унда операторлар жойлашган; 5, 6 – қаторда дастурдаги ўзгарувчиларни аниқлаймиз; 7 – қаторда эса уларни киритамиз; 8 - 11 қаторларда эса дастур танланган амал бўйича ишни бажаради. Яъни «+» белгиси танланса, иккита сон қўшилади, «*» танланса иккита сон кўпайтирилади ва ҳ.к. 14 – қаторда натижа чиқади ва дастур ишини тамомлайди. Топшириқлар. 1. Қуйидаги тошириқларда f(x) сифатида x2, ex ларни ишлатинг. 1. f ( x) y 2 f ( x) y , xy 0 a f ( x) y 2 f(x) y , xy 0 2. 2 xy 0. f ( x) y 1, ln f ( x) f ( x) 2 y 3 , x / y 0 ln f ( x) / y f ( x) y 3 , x / y 0 b f ( x) 2 y 3 , x0 0, y 0. 3. 5. 7. f ( x) 2 y 2 sin y , x y 0 c f ( x) y 2 cos y , x y 0 2 y f ( x) tg y , x y 0. i f ( x) , i ток булса, x 0 e i / 2 f ( x) , i жуфт булса, x 0 if ( x) , акс холда. e f ( x ) , 1 xb10 s f ( x) 4 * b , 12 xb 40 2 акс холда. bf ( x) , 2 f ( x ) 3 3 p 2 , x p 9. l 3 x p f ( x) p , 2 x p. f ( x) p , max f ( x), y, z 5. 11 m min f ( x ), y . 13 . p min f ( x), y max y, z 2 . 4. f ( x) y 3 arctg f ( x) , x y d y f ( x) 3 arctg f ( x) , y x 3 y x. y f ( x) 0.5, 6. e f ( x ) b , 0.5 xb10 g f ( x) b , 0.1 xb0.5 2 акс холда. 2 f ( x) , sin 5 f ( x) 3m f ( x) , 1 m x 8. j cos3 f ( x) 5m f ( x) , x m f ( x) m 2 , x m. ln f ( x) q , xq 10 f ( x) q 10. k , xq 10 e xq 10 f ( x) q, min f ( x) y, y z . 12. n max f ( x), y 14. q max f ( x) y z, xyz . min f ( x) y z, xyz 15. Ҳафта кунлари номерини киритинг ва шу куннинг номини ўзбек ва инглиз тилида чиқаринг. 16. Ойнинг номерини киритинг. Шу рақамга тўғри келадиган ойнинг номини кўрсатинг. 17. Ойнинг номерини киритинг. Бу рақам қайси фаслга тўғри келишини аниқлаб, экранга чиқаринг. 18. Соатни киритинг. Шунга асосан «Хайрли тонг», «Хайрли кун», «Хайрли кеч» ва «Хайрли тун» деган ёзувларни чиқаринг. 19. Клавиатурадан киритилган сонни даражага кўтариш дастури тузилсин. Даража 0 .. 9 оралиқда бўлиши керак. 20. Йўналиш тури-(Ғ,Ш,Ши,Ж); {ғарб, шарқ, шимол, жануб}, (олдинга, ўнгга, орқага, чапга); K1,K2- йўналиш; ПР-буйруқ. Буйруқ - Šуйидагига дастур тузинг: кема олдин K1 йўналиш бўйича сузаётган эди, кейин ПР буйруққа асосан унинг йўналиши ўзгарди. Кеманинг K2- янги йўналишини аниқланг. 21. ой номи - (январь, февраль, март, апрель, май, июнь, июль, август, сентябрь, октябрь, ноябрь, декабрь); кун - 1..31; d1,.d2 - кун; m1,m2 - ой; t Boolean. Šуйидагига дастур тузинг: t ўзгарувчи агар d1, m1 кун d2, m2 кундан олдин бўлса 1 ни, бошқа ҳолларда 0 ни таъминлаб олсин. 22. Тур нота-(до, ре, ми, фа, соль, ля, си); интервал-(секунд, терция, кварта, квинта, секста, септима); узгарувчилар n1,n2-нота; i-интервал; i- интервални аниқланг, n1 ва n2(n1n2) ноталардан ҳосил бўлган: агар секунд – бу иккита қўшни ноталарнинг интервали (масалан, ре ва ми, си ва до), агар терция –орада бир нота қолгандаги интервал (масалан, фа ва ля, си ва ре) и ҳ.к. 23. Тур ўлчов бир-(дециметр,километр,метр,миллиметр,сантиметр); узунлик-real; x-: узунлик; P - ўлчов бирлиги; x ўзгарувчининг p ўлчов бирлигидаги узунлиги қийматини метрга айлантиринг. 24. Тур фасл-(қиш, баҳор, ёз, куз); m-ой; S-фасл;m ойга мос келувчи S фаслни аниқланг. 5 – МАВЗУ. С++ ТИЛИДА ШАРТИ ОЛДИН ТЕКШИРИЛУВЧИ ТАКРОРЛАНУВЧИ ЖАРАЁНЛАР БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилининг шарти олдин текширилувчи такрорланувчи жараёнлар билан ишлашни ўргатиш. Кўрсатма: n 1.Мисол. S i 1 sin 2 (i 5a ) бу ерда а=3,56 e i 1 arctg (i 1) Ечилиши: 1. Дастурнинг блок схемаси: 2. Топшириқнинг дастури: 1. #include <math.h> 2. #pragma hdrstop 3. #pragma argsused 4. # include <iostream.h> 5. void main() 6. { int i, n; float S; 7. S=0; n=10;// Áèðëàì÷è êèéìàòíè ¢ çëàøòèðèø 8. float a=3.56; 9. while(i<n) // Öèêë øàðòèíè òåêøèðèø 10.{ 11.S+=sin(i+5*a)/(exp(i-1)*tan(i+1)); 12.i++; 13.} 14.cout<<"Javob S="<<S<<".\n"; 15.} 3. Дастур учун тушинча. ТОПШИРИҚЛАР Берилган формула бўйича қатор ҳадлари учун n-та ҳадни йиғиндисини ёки кўпайтмасини ҳисоблаш дастурини тузинг: n 1. S i 1 n i!(i 1)! 2i 1 3. S i i 0 20 5. S i 1 10 7. S i 1 (i 1)(i 3) 2i 3 2. n i 3 5(i 1)! i 1 ( i 1) 3 S n 4. S i 1 (i 2) i 1 2i 1 ( x i) 2i cosx . i 2i 2i 6. S (i 3)(i 2 x) . arccos(i 2 ) 8. S cos 2 ( x i)( sin x), x 0. n i 1 (1) i (i 1) i 1 i 3 n 9. S ln i 1 10 i 1 5 (i x), x 0 i 1 12 11. p 2i sin( i j ) m 13. S i 1 j 1 5 ij (2i j ) a sin(sin i ) i j 10 tg (i 3) i 1 i 8 i 0 13 14 19. S i 1 (i j )2i 2 j sin i sin j i 2 3i j 14. P j i 1 j 1 a sin i e n m n 16. S 1 i 1 2(i 1)!(2i)! 3(2i 2)!(i!) 2 18. S cos(i 1) 3 sin( i 1) 3 tg (2i 2) 4 20. S 17. P i 1 m i 1 j 1 15. P n n m 12. S i 1 j 1 n i 1 (i j ) 2 , x0 j 1 2i sin( j x ) n 10. p 5 i 1 e i 1 3i 2 i!tg (i 1) a(i 1)2 i 2(2i 1) ln( i!) i i (cos i ) 2 6 – МАВЗУ. С++ ТИЛИДА ШАРТИ КЕЙИН ТЕКШИРИЛУВЧИ ТАКРОРЛАНУВЧИ ЖАРАЁНЛАР БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилининг шарти кейин текширилувчи такрорланувчи жараёнлар билан ишлашни ўргатиш. Кўрсатма: n 1.Мисол. S 12 25i i 1 i 3 n=10 бўлганда мисолни ќисоблаш дастурини тузинг. Ечилиши: 1. Дастурнинг блок схемаси: 2. Топшириқнинг дастури: 3. Дастур матни. 1. # include <math.h> 2. # pragma hdrstop 3. # pragma argsused 4. # include <iostream.h> 5. void main() 6. {int i, n; float S; 7. S=0; n=10; i=1; 8. do 9. { 10.S+=(12+25*i)/sqrt(i*i*i); 11.i++; 12.} 13.while (i<=n); 14.cout <<S; 15.} ТОПШИРИҚЛАР Берилган формула бўйича қатор ҳадлари учун n-та ҳадни йиғиндисини ёки кўпайтмасини ҳисоблаш дастурини тузинг: n 1. S 1 3,6i i3 i 1 n 2. S xi i 1 i4 5i 3 3. S 3 i a (i 2) 3 (i 2) i 1 4. S 2i i 1 x 2i cosx i 5. S 2 . i 2i i 1 i i 3 6. S i 1 2i 1i 2 n i 1 20 10 7. S i 1 n 9. S n n i3 i 1 . (i 3)! 8. S 1 i i x 2i i , x 0 10. p 2 i i i 1 10 11. p i 1 n 13. p i 1 15 15. p i 1 8i 2 2i 3 cos 2 i 1 i 1 2i 1 20 n n i 1 , x 0. i 5(i 1)! i 1 i 1 12. 2 i 1 ln( i 2) e i 1 arctg (i i ) sin 3 i i cos i 2 14. p i i 1 ctgi sin 3 (i 1) i sin i cos i 16. P n 14 i 1 tg i 3i 4 2i 1 i 2 12 17. P i 1 23 19. S i 0 15 i sin i cos(i 2 ) 18. P sin i tg 3 (i 3) i 1 13 (5 2i 3 ) 2i (i 9) i 1 20. P 3 i 7i 3i 3i 2 i 1 3 7 – МАВЗУ. С++ ТИЛИДА ПАРАМЕТРЛИ ТАКРОРЛАНИШ ЖАРАЁНЛАРИ БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилининг параметрли такрорланиш жараёнлари билан ишлашни ўргатиш. Кўрсатма: 15 1.Мисол. S i i 1 i 1 i3 2i . ни ќисоблаш дастурини тузинг. Ечилиши: 1. Дастурнинг блок схемаси: 2. Топшириқнинг дастури: 1. # include <math.h> 2. # pragma hdrstop 3. # pragma argsused 4. # include <iostream.h> 5. void main() 6. {int i; float S; 7. S=0; 8. for(i=1;i<=15;i++) 9. { 10.S+=log((i+1)*i)*i*i*i/log(i*2); 11.} 12.cout <<S; 13.} 3. Дастур учун тушинча. Топшириқлар. Берилган формула бўйича қатор ҳадлари учун n-та ҳадни йиғиндисини ҳисоблаш дастурини тузинг: 20 1. S i i 1 i 1 12 3. S i i 1 i 1 2. S i i 1 x 2i 1 . i 1!2i 1 4. S i i x 2i . i 1 i 1i 2 12 i 1 i 1 i i 1 x 2i . 2i ! i 1 6. S i 1 x 2i sin x i . i2 22 1 . 3 i i 1 8. S i i i 1 x 2i 1 . 2i 1! x 2i 9. S i 2i ! i 1 10. S i i 1 i i 1 11. S 2i 1! i 1 12. S 14 23 i 1 x 1 13. S i 1 2i 1 x 1 18 15. S 45 i 1 2 i 1 , x 0. 21 2i 1 17. S i i 1 i 1 x 2i 1 2i 12i 1! i i 19. S i 1 i i 1i 2 21 14. S i 1 xi 2i 2!i 2i r 1 i 1! 12 i i x 2i 1, x 1 i 1 i 1 i 1 20 16 i3 . 2i 17 22 24 5. S 7. S 15 1 . 2i 12i 1 2 2i 2i ! x 2i 1 , x 1 2 i! 2i 1 i i 2i 16. S 2i ! i 1 23 12 18. S i i 1 i 1 x 20. S i 1 3 32 2i 1 2i 12 i 2 2i 1 1 2i 1!2 . 8 – МАВЗУ. С++ ТИЛИДА МАССИВЛАР БИЛАН ИШЛАШ Ҳажми: 2 соат Мақсади: Талабаларга С++ дастурлаш тилида массивлар билан ишлашни ўргатиш. Кўрсатма: 1. Мисол. Ќафта кунларини массивлардан фойдаланган ќолда экранга чиšариш дастурини тузинг (Dushanba, Seshanba, Chorshanba, Payshanba, Juma, Yakshanba). Ечилиши: 1. Дастурнинг блок схемаси: 2. Топшириқнинг дастури: 3. Дастур учун тушинча. ТОПШИРИҚЛАР 1. Бир ўлчамли сонли массивдан энг кичик элементни топиш дастурини тузинг. 2. A ai, j i, j 1,2,..., n матрицани X x1 , x2 ,..., xn векторга кўпайтириш дастурини тузинг. 3. Текисликда, ички радиуси r ва ташқи радиуси R бўлган халқа марказидан 1 , 2 ,..., n масофа узоқликда нуқталар жойлашган. Ҳалқа ичида жойлашган нуқталар сонини аниқлашнинг дастури тузилсин. 4. A ai, j i, j 1,2,..., n матрицани транспонирлаш дастурини тузинг. 5. A ai, j , i, j 1,2,..., n матрица элементларининг орасидан модул бўйича энг каттасини ва унинг индексини топиш дастури тузилсин. 6. a1 , a2 ,..., an сонлар массиви берилган, bi a1 a2 ... ai , (i 1,2,..., n) билан ифодаланган b1 , b2 ,...bn массивни экранга чиқариш дастурини тузинг. 7. A i, j , i 1,2,..., m; j 1,2,..., n матрицанинг хамма элементлари йигиндисини топиш дастури тузилсин. 8. x x1 , x2 ,...xn ваy y1 , y 2 ,... y n векторларнинг скаляр кўпайтмасини топиш дастури тузилсин.. 9. a1 , a2 ,...an массивни ўсиш тартибида жойлаштириш дастури тузилсин. 10. M 1 , M 2 ,..., M n текисликда координаталари билан берилган, барча нуқталар орасидаги масофани топиш датури тузилсин M i M j i j . 11.Йигиндини хисоблаш дастури тузилсин: 2 2k S xk . 2 k 1 k 1 n ва y1 , y 2 ,... y n сонлар тўплами берилган, қуйидаги ифоданинг 12. x1 , x2 ,...xm қийматини хисоблаш дастури тузилсин. m n Z xi y k . i 1 k 1 13. А5,5 матрицанинг кўрсатилган устунидаги мусбат сонларнинг йиғиндисини топинг. 14. А10,10 матрицанинг биринчи устун ўрта арифметигидан кичик элементларни уларнинг квадратлари билан алмаштирнг. 15. С5,5 ҳақиқий сонлардан иборат матрицанинг бош диагонал элементларининг суммасини топинг. 16. Икки ўлчамли массив берилган. Ўрта арифметиги катта бўлган сатрни чиқаринг. 17. Икки ўлчамли массив берилган. Топинг: а) сатрлар бўйича элементларнинг абсолют қийматларининг максимумлари йиғиндисини; б) қаторлар бўйича элементларнинг абсолют қийматларининг максимумлари йиғиндисини. 18. Массивнинг жуфт сатрларини ўсиш тартибида, тоқ сатрларини камайиш тартибида жойлаштиринг. 19. Массивнинг бош диагонали элементларини бир қаторга қуйидагичи экранга чиқаринг: а) чап юқорида турган элементдан: б) ўнг пастда турган элементдан. 20. a1, a2, … ,an бутун сонлар берилган. ai i шартни қаноатлантирадиган элементларни экранга чиқаринг.