Есептерді шешуде программалау мүмкіндіктерін қолдану
Есептік-графикалық жұмыс №2.
Жұмыстың мақсаты - Есептерді шешуде программалау мүмкіндіктерін қолдану жүйесінің көмегімен үлкен ғылыми жобаларда, олимпиадалық күрделі есептерді және шешімі микрокалькуляторға сыймайтын есептерді есептеуге, тез әрі нақты жауап алуға мүмкіндік береді.
Есеп 1. Негізгі алгоритм түрлерін және бір санақ жүйесінен басқа санақ жүйесіне аудару әдістерді қолданып 2.1.1 тапсырма программасын құру керек. Программа құрғанда бастапқы мәндерді бірнеше рет енгізу мүмкіндігін қарастыру қажет (мысалы программа бір рет орындалғанда бірнеше санды аудару қажет).
Шешуі:
Берілген бағдарламаны жасау үшін маған берілген 3 тақырыптық файлдар қажет болды:
#include<iostream.h>
#include<math.h>
#include<conio.h>
Сонымен қатар бірөлшемді массив және цикл параметрлері (цикл for ) қажет болды.
Берілген санақ жүйесі: ондық санақ жүйесі
Ауыстырылатын санақ жүйесі: он алтылық санақ жүйесіне
Ауыстырылатын сан: 314521
басы |
K=’y’ |
K=’y’ |
енгізу а |
a>0 |
S=’0’+s |
a/16=0 |
a/16=15 |
l UIZUqM3w+XAwDAFWS8H8pXezZjHPpUEr4rUVfqFEuHnoZvRSsQBWccKme9sRIcFGLvTGGQHdkhz7 bDVnGEkOz8lbO3pS+YxQORDeWzt5vTvvn09H01HSSwan017SL4re81me9E5n8dmweFbkeRG/9+Tj JK0EY1x5/gepx8nfSWn/6HYiPYr92KjoMXroKJA9/AfSYfR+2jvdzDXbXBlfnVcBqDs471+ifz4P 98Hr1/di8hMAAP//AwBQSwMEFAAGAAgAAAAhAESYbiTaAAAAAwEAAA8AAABkcnMvZG93bnJldi54 bWxMj0FLAzEUhO+C/yE8wZvNtpSg674tahH3omAr4jHdPDfBTbJs0nbrr/d50uMww8w31WryvTjQ mFwMCPNZAYJCG40LHcLb9vHqGkTKOhjdx0AIJ0qwqs/PKl2aeAyvdNjkTnBJSKVGsDkPpZSpteR1 msWBAnufcfQ6sxw7aUZ95HLfy0VRKOm1C7xg9UAPltqvzd4j5PXHyar39v7GvWyfnpX7bppmjXh5 Md3dgsg05b8w/OIzOtTMtIv7YJLoEfhIRlgs5yDYZbVDWCoFsq7kf/b6BwAA//8DAFBLAQItABQA BgAIAAAAIQC2gziS/gAAAOEBAAATAAAAAAAAAAAAAAAAAAAAAABbQ29udGVudF9UeXBlc10ueG1s UEsBAi0AFAAGAAgAAAAhADj9If/WAAAAlAEAAAsAAAAAAAAAAAAAAAAALwEAAF9yZWxzLy5yZWxz UEsBAi0AFAAGAAgAAAAhAJigIThhAgAAdwQAAA4AAAAAAAAAAAAAAAAALgIAAGRycy9lMm9Eb2Mu eG1sUEsBAi0AFAAGAAgAAAAhAESYbiTaAAAAAwEAAA8AAAAAAAAAAAAAAAAAuwQAAGRycy9kb3du cmV2LnhtbFBLBQYAAAAABAAEAPMAAADCBQAAAAA= ">
S=’15’+s |
y i98e3R27KU2anI4GyOPvEN34/Qmilh77Xsk6p8ODE8uCao90EbvSM6l2e6Ss9F7GoNyuAn49X8fK jUKAoOrcFBvUFcyuzXEscVMZeENJgy2eU/d6yUBQop5orM0o7ffDTESjP3jYQwOOb+bHN0xzhMqp p2S3nfrdHC0tyEWFkdKohjbnWM9SRq3vWO3pYxvHEuxHLszJsR297n4Mkx8AAAD//wMAUEsDBBQA BgAIAAAAIQBXpBTO2wAAAAUBAAAPAAAAZHJzL2Rvd25yZXYueG1sTI/BTsMwEETvSPyDtUjcqE0r IEmzqRCoSBzb9MJtEy9JSmxHsdMGvh5zKsfRjGbe5JvZ9OLEo++cRbhfKBBsa6c72yAcyu1dAsIH spp6Zxnhmz1siuurnDLtznbHp31oRCyxPiOENoQhk9LXLRvyCzewjd6nGw2FKMdG6pHOsdz0cqnU ozTU2bjQ0sAvLddf+8kgVN3yQD+78k2ZdLsK73N5nD5eEW9v5uc1iMBzuIThDz+iQxGZKjdZ7UWP EI8EhFWSgohu+vQAokJIUgWyyOV/+uIXAAD//wMAUEsBAi0AFAAGAAgAAAAhALaDOJL+AAAA4QEA ABMAAAAAAAAAAAAAAAAAAAAAAFtDb250ZW50X1R5cGVzXS54bWxQSwECLQAUAAYACAAAACEAOP0h /9YAAACUAQAACwAAAAAAAAAAAAAAAAAvAQAAX3JlbHMvLnJlbHNQSwECLQAUAAYACAAAACEAA1+d pE0CAABgBAAADgAAAAAAAAAAAAAAAAAuAgAAZHJzL2Uyb0RvYy54bWxQSwECLQAUAAYACAAAACEA V6QUztsAAAAFAQAADwAAAAAAAAAAAAAAAACnBAAAZHJzL2Rvd25yZXYueG1sUEsFBgAAAAAEAAQA 8wAAAK8FAAAAAA== ">
a=a/16 |
Шығар s |
Шығар k |
соңы |
1-сурет
2-сурет
Есеп 2. Белгілі базалық алгоритмдік структураны қолданып, келесі жұмысты орында. Резервуар көлемі V, жұмысты көлемі Vr=90, сұйық көлемі Vg. Резервуар шеңберінін радиусы r толтыру биіктігі h. Сұйықтық көлемі резервуардың жұмыс көлемінен асса, келесі сөз «перекрыть клапан». Олай болмаса, «не требуется».
Шешуі:
Берілген бағдарламаны жасау үшін маған берілген 4 тақырыптық файлдар қажет болды:
#include<iostream.h>
#include<math.h>
#include<conio.h>
#define Pi 3.1415926
Сонымен қатар таңдау операторы if қажет боп тұр.
3-сурет
4-сурет
Блок схема:
басы |
Енгіз h |
V=a*b*h |
V>Vr |
' Perekryt klapan!' |
' Ne trebuetsya' |
соңы |
Есеп 3.f(x) функциясын [a; b] интервалында h қадаммен тап.
Берілгені:
1. f(x)=3 -1; (-2;3]; h=0.4; Орта арифметикалық мәні, минимал мәнін тап.
2. шығарғанда нұсқаңызға сәйкес цикл операторын қолданыңыздар.
3. Шешуі:
4. Берілген бағдарламаны жасау үшін маған берілген тақырыптық файлдар қажет болды:
5. #include<iostream.h>
6. #include<math.h>
7. #include<conio.h>
8. #include<stdio.h>
9. Сонымен қатар цикл (do while ) , таңдау операторы if пайдаланды.
5-сурет
6-сурет
7-сурет
Басы ( |
X=-3 r=1 m=y |
x=x+0.5 |
x<6 |
srednegeometricheskaia |
min |
соңы |
f(x)=3 -1; |
Есеп 4.l - гидравликалық кедергі коэффициентін анықтау үшін l(Re) тәуелділігі қолданылады. Г.2 кестесінде берілген мәндерді қолданып, Рейнольдс саны Re-нің h қадаммен өзгеру аралығында гидравликалық кедергі мәндерін есептеп, оларды экранға шығару керек. Re санының ең кіші және ең үлкен мәндеріне сәйкес гидравликалық кедергілердің айырмасының модулін табу керек;
Шешуі:
1. Шарт: K= 0.2; D=0.34; интервал [1600;4200].
басы |
K=0.2 |
D=0.34 |
K=0 |
sr:=0 |
λ=1600,4200 |
pt:=p-e*(t-293) |
Re |
k:=k+1 |
srednee znachenie |
соңы |
8-сурет
9-сурет
2.1.5 Есеп. 1.1.7 тапсырмасын орындау программасын құрыңыздар. Нәтижелерін экранға форматтап шығарыңыздар. Программаның негізгі меню ішінен 1.1.7 тапсырмасының а, б немесе в тармақтарын таңдау мүмкіндігі болсын.
a) Су құбырда ішкі диаметрі 610 мм ағып жатыр. Орташа жылдамдық 2.4 м/с. Көлденең құбырдың ауданын тап. Құбырдың минималды диаметрін тап, күніне 6000м³ су түседі.
b) Рейнольдс санын тауып, ағын типін анықтау
1. D=610; Сұйық түрі су; Ағын жылдамдығы = 6,2; Сұйық тығыздығы= 962; Абсолют = 4.2/10000.
Шешуі:
Берілген бағдарламаны жасау үшін маған берілген тақырыптық файлдар қажет болды:
#include<iostream.h>
#include<iomanip.h>
#include<math.h>
#include<conio.h>
Сонымен қатар таңдау операторы switch case және if пайдаланды.
басы |
p |
D=610 V=2.4 |
P=1 |
S=3.14/4*sqr(d) vv=v*s dd=sqrt(vv*4/(1.3*3.14)) |
s |
P=2 |
v3=6000/(24*3600) d3=sqrt(4*v3/(3.14*2.4)) |
P=3 |
po=980 m=9.61/10000 Re=d*v*po/m |
D |
v |
d |
R<=2100 |
Соңы |
v |
d |
D |
po=980 m=9.61/10000 Re=d*v*po/m |
Re |
R<10000 |
Re |
Re |
R>10000 |
(Турбулентный) |
Ламинарлы |
Турбулентті |
соңы |
10-сурет
11-сурет
12-сурет
13-сурет
14-сурет
15-сурет
2.1.6 Есеп. 1.1.8 тапсырмасын орындау программасын құрыңыздар. Нәтижелерін экранға форматтап шығарыңыздар.
а) Платиналы терморезистордың кедергісі берілген интервал температурасында (Т1;Т2) Нт қадаммен белгілі R0 кедергісінде;
b) терморезистор кедергісі R(T1;T2) Нr қадаммен,температураны тап.
№ вар. | R0 | (Т1; Т2) | hT | R(T1; T2) | hR |
(600;200) | (90;40) |
Шешуі:
Берілген бағдарламаны жасау үшін маған берілген тақырыптық файлдар қажет болды:
#include<iostream.h>
#include<iomanip.h>
#include<conio.h>
#include<math.h>
#define a 0.00385
Сонымен қатар таңдау операторы switch case және for циклдық параметрі пайдаланды.
Блок схема:
T1< >180 |
Rt=R0*(1+a*T1) |
Rt |
T1=T1+h1 |
R0=80 t:=600 |
басы |
R<=90 |
T=(R/R0-1)/a |
R |
R=R+h2 |
соңы |
16-сурет
17-сурет
18-сурет
19-сурет
2.1.7 Есеп.a және b векторлары берілген (Г.3 кестесі). Осы векторлардың ұзындықтарын, олардың скаляр көбейтіндісін, арасындағы бұрыштың косинусын табу керек. Мәндерді қолданушы енгізетіндей болсын және осы есептеулерде қолданылатын формулалар бойынша анықтама шығару керек.
№ 11 вар. | a=(x1,y1,z1); b=(x2,y2,z2) |
a(0,6,4); b(2,9,6); |
Шешуі:
Берілген бағдарламаны жасау үшін маған берілген тақырыптық файлдар қажет болды:
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<iomanip.h>
Сонымен қатар, негізінен сызықты түрлендіру қолданылдым.
басы |
соңы |
a1,a2,a3,b1,b2,b3 |
moda=sqrt(sqr(a1)+sqr(a2)+sqr(a3)) modb=sqrt(sqr(b1)+sqr(b2)+sqr(b3)) ab=a1*b1+a2*b2+a3*b3 ug=ab/(moda*modb) |
енгіз р |
p='Y' |
|a|=sqrt(sqr(a1)+sqr(a2)+sqr(a3)) |b|=sqrt(sqr(b1)+sqr(b2)+sqr(b3)) a*b=a1*b1+a2*b2+a3*b3 cos = a*b/(|a|*|b|) |
a,b,sp,cos |
moda modb ab ug |
20-сурет
2.1.8 Есеп. Сусымалы заттарды сақтауға астыңғы жағы конус болған цилиндрлік бункер қолданылады. (сурет 2.8).
h конуса |
h |
R |
rh |
j |
Сурет 2.8 – Сусымалы заттарды сақтауға арналған бункер
Егер құйылған заттың h биіктігі бункердің конустық бөлігінен hконус аспаса, онда оның көлемі формуласы бойынша есептеледі, мұнда rh – h биіктік болғандағы конустық бөліктің радиусы, тәуелділігімен анықталады. Егер де құйылған заттың h биіктігі бункердің конустық бөлігінен жоғары болса, онда конус көлеміне бункердің цилиндрлік бөлігінің көлемін қосамыз . Г.4 кестесіндегі мәліметтерді қолданып бункердегі заттың көлемін және j бұрышын табыңыз. Экранға құйылған заттың көлемінің [0,h] аралығында h биіктіккетәуелділігін шығарыңыз (қадам 0,25).
Есептік-графикалық жұмысты орындау үшін қолданатын программалау тілі мұғалім кеңесімен таңдалынады. Тапсырмаға түсініктеме дайындау қажет. Барлық тапсырмалар электроды түрде - дискте тапсырылсын. Түсініктеме нұсқа тапсырмасынан, блок-сұлбадан, программадан, шығарылған жауаптардан тұру керек.
№ вар. | Бункердің Параметрі (м) |
h конус=3, h=6, R=2 |
Шешуі:
Берілген бағдарламаны жасау үшін маған берілген тақырыптық файлдар қажет болды:
#include<iostream.h>
#include<math.h>
#include<conio.h>
#include<iomanip.h>
Сонымен қатар цикл параметрлері for және таңдау оператор if пайдаланды.
21-сурет
Блок схема
басы |
w=0.25 |
hkon=4 |
hw=0 |
hw<=h |
hw<=hkon |
v=3.14*sqr(hw*r/hkon)/3*hw |
v=3.14*sqr(hw*r/hkon)/3*hw+3.14*sqr(r)*(hw-hkon) |
V |
соңы |
hw=hw+w |
h=3 |
r=2 |
Қорытынды
Мен бұл есептеу-графикалық жұмыс арқылы Turbo C++ программасының мүмкіндіктерін оқып, оларды есептерді шешуде қолдандым.
Сандарды аудару әдістерін және Turbo C++ программасын қолданып берілген санды ондық санақ жүйесінен ұсынылған санақ жүйесіне (екілік, сегіздік, оналтылық) аудару программасын құрдым.
Turbo C++ программасын қолданып а және b санына ұсынылған арифметикалық операцияны қолдандым.Инженерные категориясынан түрлендіру функцияларын қолданып бір өлшем бірліктен басқа өлшем бірлікке ауыстыру программасын құрдым.
Функция программасын тұрғыздым. Көлемі V резервуар берілген. Оның жұмысшы көлемі Vr, Резервуардағы сұйықтық көлемі Vg. Резервуар негізінде радиусы r шеңбер немесе жақтары a және b төртбұрыш жатыр, толтыру биіктігі h. Сұйықтық көлемі резервуардың жұмыс көлемінен аса бере толтырушыға қажетті хабарлама жіберу керек. ЕСЛИ логикалық функциясын қолдандым. “Суды жабыңыз!” хабарламасы қызыл фонда шықты, ал толмаған жағдайда “қажет емес” хабарламасын көрсетім. Шартты форматтауды қолданып резервуар толуын көрсетім. Осылардың бәрінің программасын құрастырдым. Теңдеулер жүйесін кері матрица әдісімен және Крамер әдісімен шештім.
Қосымша кестенің мәліметтерін қолданып негізгі кестеде қажетті есептеулерді орындадым.
Әдебиеттер тізімі
1. Безручко В.Т. Практикум по курсу «Информатика». Работа в Windows, Word, Excel. - М.: Финансы и статистика, 2003.
2. С.Г.Хан, Н.В.Сябина, Г.А.Мастекбаева. Информатика. Методические указания к выполнению лабораторных работ (для студентов всех специальностей). – ч. 2. – Алматы: АИЭС, 2002
3. Маликова Л.В., Пылькин А.Н. Практический курс по электронным таблицам MS Excel. – М.: Горячая линия – Телеком, 2004.
4. Мюррей Катрин. Microsoft Office 2003. Новые горизонты. - М.: Питер, 2004.
5. Информатика. Базовый курс. Учебное пособие для вузов под ред. Симоновича С.В. - СПб: Питер, 2003.