СДЖ- ге арналған тапсырмалары
1. Select Case операторын қолданып есепті шығару.
2. Есеп шартына байланысты енгізу айнымалыларының шектеу диапозонын алдын-
ала анықтау.
3. Жалған мәліметтер енгізуге болмайтынын (әріп, үлкен сандар, түбір астындағы
өрнектің теріс болуы және т.б.) алдын-ала ескеру
4. Программаға қалқымалы жауаптар қосу.
Бақылау сұрақтары
1. Мәлімет түрі нені анықтайды?
2. «Константа» дегеніміз не? Сіз оларды қолдандыңызба?
3. BYTE тәрізді айнымалылар қабылдай алатын мәнді көрсетіңіз.
4. Егер X және Y айнымалылары бүтін айнымалылар болса, онда төмендегі
өрнектердің қайсысының мәні бүтін емес, соны көрсетіңіз:
X mod Y + 2*73
X mod Y + 5div3
X*Y-X +Y
(X=Y) or (X=0)
(X+Y)-2*X
5. Егер х-затты типті айнымалы болса,
і-бүтін, с-симводы түр болса келесі
операторлардың қайсысының иеленуі дұрыс:
x =i div 2 + 3.15*x;
i = (2+i*4)*ln(i);
c =x + i;
i =(x=0) or (i>x).
6. Шартты оператордың мүмкін емес құрылымын көрсетіңіз:
- IF <проверка условия> THEN ELSE оператор 2
- IF <проверка условия> THEN оператор 1 ELSE оператор 2
- IF <проверка условия> GOTO N1
- IF <проверка условия> THEN оператор 1 ELSE IF <условие> THEN оператор 2
- IF <проверка условия> THEN оператор 1
7. Келесі мысалдардың қайсысында қате кеткенін көрсетіңіз:
- if 1<х<2 then x=x+l: y=0 else x=0;
- if х <> 0 and у <> 0 then a=x else a=x+y;
- if a=0 then b=a else b= c or a;
- if x>0 then x= sin(x); y=cos(x); else x= sin(abs(x)); y=cos(abs(x));
- if x<>1 then x=l else x=10;
8. (а=1, b=0, c=3, d=4) операторды орындағаннан кейін А және С айнымалылары
қандай мәнге ие болады?
if a>b and c
9. (х=1,у=-1) z=0; операторды орындағаннан кейін Z айнымалысы қандай мәнге ие
болады?
if x>0 and y>0 then z=l else z=2;
10. (х=-1, у=-1) z=0; операторды орындағаннан кейін Z айнымалысы қандай мәнге ие
болады?
if x>0 or y>0 then z=1 else z=2;
11. (х=1 ,у=-1) z=0; операторды орындағаннан кейін Z айнымалысы қандай мәнге ие
болады?
if x>0 and ABS(y)>0 then z=1 else z=2;
12. Шартты операторларды орындаудағы әрекеттерді санап шығу.
№ 1 Зертханалық жұмысты орындауға мысал
ПК мына функция мәнін есептеу
⎩
⎨
⎧
=
x
x
y
cos
sin
Енгізілген бастапқы мәліметтер мәнін (Х) және Y функциясының есептелген
нәтижесін, нәтижесін айнымалылар атымен жүргізу арқылы, шығару.
Есептеу алгоритмі
1.
Клавиатурадан х айнымалысының мәнін енгіземіз.
2.
Келесі шарттарға байланысты у функциясының мәнін есептейміз:
⎩
⎨
⎧
=
x
x
y
cos
sin
5
5
≤
>
x
x
3.
Экранға у функциясының мәнін және есептеу формуласын шығарамыз.
Осы алгоритмді графикалық түрде көрсетеміз:
басы
1
Ввод Х
3
2
X >5
1.1-сурет Есепті шешу алгоритмі
1.2-суретте есептің орындалу режиміндегі форма түрі көрсетілген.
1.2-сурет Visual Basic ортасындағы есеп формасы
Қорытын-
ды
6
соңы
X <= 5
4
5
Жоқ
У=sin(X)
У=cos(X)
Жоқ
Объект мәнінің қасиеттері
Объект аты
Қасиеті
Мәні
Name Form1
Caption
Х айнымалысының мәніне байланысты Y функциясының
мәнін есептеу
Form1
WindowStat
e
2-Maximized
Label1 Caption Х айнымалысының 2 ден 5дейінгі мәнін енгізіңіз
Label2 Caption Y
функциясының алынған мәні
Label3 Caption Егер x <= 5 онда y = Cos(x)
Label4 Caption Егер x > 5 онда y = Sin(x)
Label5 Caption Есептеу формуласы
Text1 Text Empty
(тазарту немесе)
Text2 Text Empty
(тазарту немесе)
Name Command1
Command1
Caption
Функция мәнін алу
Name Command2
Command2
Caption
Шығу
Программа листингі
Option Explicit
'айнымалыларды көрсету
Dim x As Single, у As Single, str As String
'Функция мәнін есептеу үшін батырманы басу, оқиғаны өңдеу процедурасы
Private Sub Command1_Click()
x = Text1.Text' 1 енгізу аумағындағы х айнымалысының мәнін иемденеміз
'Аргументмәніне байланысты функция мәнін есептейміз
If x >5 Then y = Sin(x): str = "y = sin(x)"
If x <= 5 Then
y = Cos(x)
str = "y=cos(x)"
End If
Text2.Text = Str(y)
Label3.Caption = "Есептеу формуласы: " + str
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text1.Text = Empty
Text2.Text = Empty
Text2.Enabled = False
End Sub
Ұсынылған әдебиет
1.
Карасев Н.И., Калинин А.А. "Конструирование Windows-приложений в среде
программирования Visual Basic. Информатика для энергетиков": Учебное пособие.
Караганда: КарГТУ, 2002.
2.
Жумагулова Д.К., Калинин А.А., Карасев Н.И., Телбаева Ш.З. Методические
указания к лабораторным работам по дисциплине "Технология программирования".
Караганда: КарГТУ, 2006.
3.
Электронный учебник «Информатика» для дистанционного обучения. Сертификат
№ 109 КарГТУ, 2004
4.
Гарнаев А.Ю. Visual Basic 6.0: разработка приложений. СПб.: BHV-Санкт-
Петербург, 2000.
5.
Гетц К., Гилберт М. Программирование на Visual Basic 6.0 и VBA. Руководство
разработчика: Пер. с англ. К.: Издательская группа BHV, 2001.
№2 Зертханалық жұмысқа әдістемелік нұсқау
Циклдік құрылымды алгоритмдерді программалау
Жұмыс мақсаты – Циклдік құрылымды есептеу процесін программалау және
өңдеуден тәжірибе жүзінде жаңа білім алу, программаны тестілеу мен іске қосуды қатаң
түрде игеру.
Өздік жұмысқа арналған сұрақтар
1.
Программалау тілінің мүмкіндіктерін игеру:
–
Цикл денесінің белгілі қайталану саны мен циклдік құрылым процесін есептелуін;
–
Функцияны табуляциялау кезінде бір аргументтен программалауды алу (берілген
диапозонда ∆х қадамымен аргумент мәнінің өзгеруінде функция мәнін есептеу).
Есептің қойылымы
1.
№1 зертханалық жұмыста жасалған программаны функцияның мәні берілген
диапозонда, берілген қадаммен, аргументтің өзгеруіне байланысты функция мәні көбірет
есептелуін модификациялау (вариантқа сәйкес 1 кестедегі 4 бағанаға қараңыз).
2.
Аргумент мәнімен функцияның есептелген мәнінің қорытындысын кесте түрінде
көрсетіңіз.
СДЖ- ге арналған тапсырмалары
1.
№1 зертханалық жұмыста анықталған белгілі арақашықта және функция
қадамымен (1 кесте) табуляциялау алгоритмін өңдеу керек.
2.
Функцияны табуляциялау программасын құру керек.
3.
ПК модификацияланған программаны орындау керек.
СДЖ- ге арналған тапсырмалары
1.
Шартты циклдарды қолдана отырып есептің орындалуын жүзеге асыру.
2.
Есептің шартына байланысты енгізілетін айнымалыларды шектеу диапозонын
алдын-ала ескеру.
3.
Жалған мәліметтер енгізуге болмайтынын (әріп, үлкен сандар, түбір астындағы
өрнектің теріс болуы және т.б.) алдын-ала ескеру
4.
Программаға қалқымалы жауаптар қосу.
Бақылау сұрақтары
1. Программаны іске қосуда неліктен алгоритмнің барлық тармақтарын тестілеу
керек?
2. Белгілі қайталану санымен программаның циклдік аумағын құруда, әрекеттің
кезектесуін көрсету.
3. Циклды құру ережесі мен тағайындалуын көрсету. Цикл операторларының қандай
түрлерін білесіздер?
4. Цикл оператор қызметінің алғысөзі мен артқы сөзінің айырмашылығы неде?
5. Қандай жағдайда счетчигі бар цикл операторлары қолданылады? Мысал келтіріңіз.
6. Қандай есептеу процесі итерационды деп аталады?
7. Келесі операторларды орындағанда F айнымалысы қандай мәнге ие болады?
a) I=l; F=2
WHILE I<6
I=I+1: F=F*I
LOOP
б) I=1; F=2
DO WHILE I<6
I=I+1:
F=F*I
LOOP
8. Келесі операторларды орындағанда S айнымалысы қандай мәнге ие болады?
a) S=0; i = 1;
do
S=S+i: i=i -1
Loop until i<= 1
б)S=l; n=l
for i=2 to n
S=S+i;
Next i
9. Келесі оператор циклының денесі неше рет орындалады?
k=0
for i=1 to k+3
k=k+1
Next i
10. Келесі операторларды орындағанда S айнымалысы қандай мәнге ие
болатынын көрсетіңіз?
S=0; i=0
WHILE i<5
i=i+1: S=S+i;
WEND
11. Келесі операторларды орындағанда S айнымалысы қандай мәнге ие
болатынын көрсетіңіз?
S=0; i=1
DO WHILE i>1
i=i+1: S=S+i;
LOOP
12. Цикл операторының дұрыс құрылымын көрссетіңіз (с предусловием):
- WHILE DO …LOOP
- DO UNTIL …LOOP
- UNTIL DO …LOOP
- REPEAT UNTIL FALSE…LOOP
- WHILE TO DO …LOOP
№ 2 зертханалық жұмысты орындауға мысал
ПК келесі функцияның мәнін есептейміз
⎩
⎨
⎧
=
x
x
y
cos
sin
5
5
≤
>
x
x
Х айнымалысы өзінің мәндерін [3, 6] диапозонда, 0.25 қадаммен өзгертеді.
Енгізілген бастапқы мәліметтер мәнін (Х) және Y функциясының есептелген
нәтижесін, нәтижесін айнымалылар атымен жүргізу арқылы, шығару.
Кіріс/шығыс мәліметтерін түсіндіру
Идентифик
атор
Түрі
Міндеті
Бейнеленуі
xn Single
Кіріс шамасы
Аргументтің бастапқы мәні
xk Single
Кіріс шамасы
Аргументтің соңғы мәні
dx Single
Кіріс шамасы
Аргументтің өзгеру қадамы
x Single
Өзгеретін шама
Аргумент
y Single
Шығыс шамасы
Функция мәні
st String
Шығыс шамасы
Түсініктеме мәннің шығысы
i, n
Integer
Қосымша шамалар
Аралық есептеме үшін
Есептеу алгоритмі
1. Клавиатурамен хn айнымалысының әнін енгіземіз.
2. Клавиатурамен хk айнымалысының әнін енгіземіз.
3. Клавиатурамен dх айнымалысының әнін енгіземіз.
4. х: х=хn. айнымалысының мәнін иемденеміз
5. Келесі шарттарға байланысты у функциясының мәнін есептейміз:
⎩
⎨
⎧
=
x
x
y
cos
sin
5
5
≤
>
x
x
6. x, y. мәндерін кестеге енгіземіз.
7. х айнымалысының мәнін, x = x+dx қадам шамасына өсіреміз: Егер x <=xk, онда 5
қадамға өтеміз, өтпесек Соңы болады.
Алынған алгоритмді графикалық түрде көрсетеміз:
басы
1
xn,
xk, dx
2.1-сурет Есепті шешу алгоритмі
x=xn, xk,
3
2
i=1
5
соңы
i,x,y,st
8
9
i=i+1
x>5
4
x<=5
6
7
y=sin(x)
st = "y =
Жо
y=cos(x)
st = "y =
Жо
2.2-суретте орындалу режиміндегі есептеме формасы берілген.
2.2.-сурет Visual Basic ортасындағы есептеме формасы
Объект мәндерінің қасиеті
Объект
аты
Қасиеті
Мәні
Name Form1
Caption Y
функциясының мәнін есептеу
Form1
WindowSta
te
2-Maximized
Label1 Caption Х айнымалысының бастапқы мәнін енгізіңіз
Label2 Caption Х айнымалысының соңғы мәнін енгізіңіз
Label3 Caption Х айнымалысының өзгеру қадамын енгізіңіз
Label4 Caption Егер x <=5 онда y = Cos(x)
Label5 Caption Егер x >5 онда y = Sin(x)
Name Command1
Command1
Caption
Есептеу
Name Command2
Command2
Caption
Шығу
Name Flex1
Cols 4
MSFlexGri
d1
Visible False
Программа листингі
Option Explicit
'Айнымалыларды көрсету
Dim xn As Single, x As Single, xk As Single, dx As Single
Dim st As String
Dim y As Single, i As Integer, n As Integer
'Батырманы басу оқиғаны өңдеу процедурасы
Private Sub Command1_Click()
xn = Text1.Text 'х бастапқы мәніне 1 енгізу аумағынан мән қосамыз
xk = Text2.Text 'х бастапқы мәніне 2 енгізу аумағынан мән қосамыз
dx = Text3.Text 'х бастапқы мәніне 3 енгізу аумағынан мән қосамыз
n = (xk - xn) / dx 'Алынған интервалдағы нүктелер санын есептейміз
Flex1.Rows = n + 2 Кестенің жол санын белгілейміз
Flex1.Visible = True 'Кестені көрінетіндей етіп жасаймыз
'Кесте шапкесін иемденеміз
Flex1.TextMatrix(0, 0) = "N п/п"
Flex1.TextMatrix(0, 1) = "x"
Flex1.TextMatrix(0, 2) = "y"
Flex1.TextMatrix(0, 3) = "Есептеу формуласы"
'Бағаналар енін және кестені толығымен жасаймыз
Flex1.Width = 1000 * 3 + 2000 + 400
For i = 0 To 2
Flex1.ColWidth(i) = 1000
Next i
Flex1.ColWidth(3) = 2000
i = 1 'Есептеменің бірінші номерін береміз
'Аргумент мәніне байланысты функция мәнін есептейміз
For x = xn To xk Step dx
If x > 5 Then y = Sin(x): st = "y = sin(x)"
If x <= 5 Then y = Cos(x): st = "y = cos(x)"
Flex1.TextMatrix(i, 0) = i
Flex1.TextMatrix(i, 1) = x
Flex1.TextMatrix(i, 2) = Format(y, "#0.###")
Flex1.TextMatrix(i, 3) = st
i = i + 1 'Есептеме пункт номерін өзгертеміз
Next x
End Sub
Private Sub Command2_Click()
End
End Sub
Private Sub Form_Load()
Text1.Text = Empty
Text2.Text = Empty
Text3.Text = Empty
End Sub
Ұсынылған әдебиет
1.
Карасев Н.И., Калинин А.А. "Конструирование Windows-приложений в среде
программирования Visual Basic. Информатика для энергетиков": Учебное пособие.
Караганда: КарГТУ, 2002.
2.
Жумагулова Д.К., Калинин А.А., Карасев Н.И., Телбаева Ш.З. Методические указания
к лабораторным работам по дисциплине "Технология программирования". Караганда:
КарГТУ, 2006.
3.
Электронный учебник «Информатика» для дистанционного обучения. Сертификат №
109 КарГТУ, 2004
4.
Гарнаев А.Ю. Visual Basic 6.0: разработка приложений. СПб.: BHV-Санкт-Петербург,
2000.
5.
Гетц К., Гилберт М. Программирование на Visual Basic 6.0 и VBA. Руководство
разработчика: Пер. с англ. К.: Издательская группа BHV, 2001.
№3 зертханалық жұмысқа әдістемелік нұсқау
Бір түрлі массивтерді өңдеу
Жұмыс мақсаты – Массивтерді енгізу мен шығару негіздері, олармен жұмыс істеуді
тәжірибе жүзінде игеру, программалау әдістерін қолданып, циклдік құрылымды
программаларды жасаудан жаңа білімдер алу, оларды әрі қарай игеру.
Өздік дайындыққа арналған сұрақтар
Білу керек:
–
программалау тілінде массив өлшемдерін сипаттау тәсілін;
–
массивтарды енгізу, шығару әдістерін;
–
нақты программалау тілде сумма немесе көбейту әдістерің жасау, нәтижелерің еске
сақтау, ең азы және ең көбісін табу.
Есептің қойылымы
1.
2-кесте бойынша вариантқа сәйкес ПК массивті өңдеу керек.
2.
Массивтердің бастапқы элементтерін экранға кесте түрінде шығарамыз.
3.
Алынған мәліметтерді көпшілік қолдаған түрде экранға шығарамыз.
Жұмыстың орындалу тәртібі
1.
Жаттығуға сәйкес алгоритм есептемесін өңдеу.
2.
Есепті шешу программасын құру.
3.
Программаны тексеру үшін тест дайындау.
4.
Программаны іске қосу.
2-кесте
Жаттығу
варианты
Массив
Қызметі
Шектегіштер
мен шарттар
1 2 3
4
1
X(100)
Х массив элементінің жинағы мен санын
есептеу
1
≥x
i
≥0
2
A(80)
А
массив
элементінің
ортақ
арифметикалық мәнін есептеу
a
i
>0
3
X(70)
Х
массив
элементтерін
У
массив
элементтеріне көшіріп олардың санын есептеу
1
≥x
i
≥-1
4
B(50)
В массив элементінің максималын және
оның реттік номерін анықтау
в
i
>0
5
C(40)
С массив элементінің минималын және
номерін есептеу
с
i
<0
6
D(80)
D массив элементінің максималды және
минималды
элементін
тауып,
олардың
орындарын ауыстыру
__
7
Y(20)
Y массив элементінің ортақ геометриясын
есептеу
y
i
>0
8
Z(30)
R массивіне Z массивінің бірінші оң
мәндерін содан теріс мәндерін орналастыру
__
9
N(50)
А массив элементтерінің қосындысын
анықтау
N
i
>0
10
X(N)
Х массив элементінің қосындысы мен
санын есептеу
x
i
>0, 30
≥N
11
A(N) Х массивінің ортақ геометриясын табу
х
i
>0, 50
≥N
12
X(N)
Y массивіне Х массив элементтерінің оң
мәндерінің барлығын көшіріп жазу
x
i
>0, 40
≥N
13
X(N)
Х массив элементтерінің оң мәндерін Y
массивіне, теріс мәндерін Z көшіріп жазу
40
≥N
14
B(K) В массив элементінің максималды мәнін
в
i
<0, 40
≥K
1 2 3
4
және реттік номерін анықтау
15
C(K)
С массив элементінің минималын және
реттік номерін анықтау
1
≥с
i
≥-1,
20
≥K
СДЖ- ге арналған тапсырмалары
1.
Клавиатурадан мәліметтерді диалогтік енгізу арқылы есепті шешуді жүзеге асыру.
2.
Есеп шартына байланысты айнымалыларды енгізу диапазонының шектелуін
алдын-ала ескеру керек.
3.
Жалған мәліметтер енгізуге болмайтынын (әріп, үлкен сандар, түбір астындағы
өрнектің теріс болуы және т.б.) алдын-ала ескеру
4.
Программаға қалқымалы жауаптар қосу.
5.
Массивте минималды (максималды) мәндері бар бірнеше элементтердің болуын
алдын-ала ескеру және осындай элементтердің барлық номерлерін шығару керек.
Бақылау сұрақтары
1. Массивтерді қолданатын программалардың ерекшеліктерін көрсетіңіз.
2. Массивтерді сипаттау үшін қандай операторлар тілдерін қолдануға болады?
3. Массивтерді өңдеуде циклдің жасалу ерекшелігі неде?
4. Динамикалық және Статикалық массив дегеніміз не?
5. Указать особенности ввода и вывода массивов.
6. Option Base нені анықтайды?
7. Массивтермен жұмыс істеуде пайда болатын программалық қателіктерді
көрсетіңіз.
0>5>6>6>0>2> Достарыңызбен бөлісу: |