124
Блиц-тест
1. Циклдың келесі итерациясына басқару билігін беру инструкциясын көрсетіңіз.
a) if
b) goto
c) continue
d) switch
e) for
2. Шексіз цикл құрайтын жолды таңдаңыз.
a) for (i=0;i<=1;i++); printf("цикл\n");
b) for (i=1;i<6;i++); printf("цикл\n");
c) for (i=5;i<15;i++); printf("цикл\n");
d) for (i=1;i>=1;i++); printf("цикл\n");
e) for (i=10;i<=1;i--); printf("цикл\n");
Бақылау сұрақтары:
1. Цикл дегеніміз не?
2. Іштестірілген цикл дегеніміз не?
3. С/С++ тілдерінде қандай цикл конструкциялары қолданылады?
4. Циклдың базалық структуралы қандай?
Глоссарий
While циклы
Жалпы форматы:
While <өрнек> инструкция
Мұндағы, <Өрнек> есептелінеді, егер мәні 0-ге тең емес болса, онда
инструкция орындалады да өрнек қайта есептеледі және ол өрнек мәні 0-ге дейін
қайталанады.
for циклы
For (өрнек1;өрнек2; өрнек3) инструкция
Мұндағы: өрнек1 және өрнек3 көбінесе меншіктеу немесе функцияны
шақыру, ал өрнек2 қатынас өрнегі болып табылады. Өрнек1 цикл орындалғанға
дейін қабылданғаннан кейін қатынас өрнегі тексеріледі. Егер қатынас өһрнегі
ақиқат мән қабылдаса, онда циклдың денесі ретінде анықталған инструкция
орындалады. Цикл денесі орындалған соң, яғни итерация аяқталғаннан кейін
өрнек3 орындалады да қатынас өрнегі қайта тексеріледі. Осы процесс оның мәні
жалған мән қабылдағанға дейін жалғасады.
Бұл өрнектердің кез-келгені болмаса да ; қойылуы міндетті.
Мысалы,
125
for(;;) {
…
}
Мұнда өрнек2 мәні барлық уақытта ақиқат деп есептелінеді, бұл шексіз
циклды көрсетеді. Мұның жұмысы breаk немесе return инструкцияларының
көмегімен тоқтатылуы мүмкін.
Цикл мысалы:
For(i=0,i
Do-while циклы
Жалпы форматы:
Do
инструкция
while (өрнек);
Инструкция орындалған соң өрнек есептеледі, ақиқат болса онда инструкция
қайта орындалады.
Break және Continue
Break-циклдан немесе ажыратқыштан уақытынан бұрын шығару.
Continue-циклды келесі итерациясына көшіру
Return инструкциясы-программаның орындалу барысында жұмысын тоқтату үшін
қолданылады,аяқталу кодын меншіктейді.
Goto инструкциясы және белгі
Іштестірілген күрделі құрылымдарды үзу үшін кейде goto қолданылады. Ол
көрсетілген белгіге көшеді. Белгі - айнымалы атауы секілді, белгілі бір атпен
аталады да соңына : қойылады.
Мысалы, for(…)
For(…) {…
If() goto error;
Әдебиеттер:
1. Керниган Б., Ритчи Д.,- Язык программирования Си. – М.: Финансы и
статистика, 1985 г.
2. Вирт Н. Алгоритмы и структуры данных: Пер. с анг.- М.: Мир, 1989 г.
3. Д.Кнут Искусство программирования для ЭВМ. Основные алгоритмы.
М.: Мир, 1976. 3.
4. Н.Культин., С/С++ в задачах и примерах – БХБ-Петербург, 2002 г.
5. Крис Паппас., Программирование на С и С++ - BHV, Киев, 2000 г.
6. Т. А. Павловская, А. Ю. Щупак С/С++ Структурное программирование:
Практикум- СПб.: Питер, 2005
7. Уэйт М . Язык Си. Руководство для начинающих: Пер. с англ. – М., Мир,
1988 г.
126
Практикалық жұмыс №4.
Тақырыбы: Массивтер. Массивтерді өңдеу.
Цель занятия: Массивтерді сипаттау, элементтерін қолдану және өңдеу
тәсілдерін
үйрету.
Массивтерді
пайдаланып
алгоритмдеу
дағдыларын
қалыптастыру.
Қажетті материалдар мен жабдықтар: практикалық сабақтарды орындауға
арналған нұсқаулар, «math.h» тақырыптық файлының элементтерінің кестесі,
тақта.
Жұмыстың мазмұны және орындалу реті:
1. Тапсырмаларды орындау мысалдарын қарастыру.
2. Ретімен берілген тапсырмаларды орындау.
3. Практикалық жұмысты талапқа сай орындап тапсыру.
Тапсырманы орныдау мысалдары
Клавиатурадан енгізілген 5 бүтін саннан тұратын бір өлшемді массив құрыңыз.
Сол масссивтің нөлдік емес элементтерін сәйкес индексін көрсету арқылы экранға
шығарыңыз.
#include
#include
#define SIZE 5 // массив өлшемі
void main()
{
int a SIZE ; // массив
int n=0; // санағыш
int i; // индекс
clrscr();
puts(" \n Бүтін сандар массивін анықтау ");
puts(" Әр санды енгізген сайын Enter пернесін басыңыз ");
for (i=0; i SIZE; i++)
{
printf("a%i=", i+1);
scanf(“%i”, & ai);
if (ai!=0) n++;
}
printf(" массивте %i нөлдік емес элемент бар\n", n);
puts("\nЖұмысты аяқтау үшңн Enter пернесін басыңыз ");
getch();
}
127
Орындауға берілетін тапсырмалар
1) Он шеңбердің радиустары берілген. Ең үлкен радиусқа ие щеңбердің номерін
шығарыңыз.
2) Фирма қызметкерлерінің жасы белгілі. 20 мен 30 жас аралығында
қызметкерлердің санын анықтаңыз.
3) Дүкендегі конфеттердің бағасы берілген. Бағасы 500 – ден төмен конфеттердің
орташа бағасын есептеңіз.
4) Бір аптада шығарылған детальдар саны берілген. Барлығы қанша деталь
шығарылған?
5) Квадрат матрицаның элементтерінің қосындысы максималды болатын
жолының номерін көрсететін программа жазыңыз.
6) Екі өлшемді массив берілген. Осы матрицаның төрт бұрышындағы
элементтердің қосындысын есептейтін программа жазыңыз.
7) Үш дүкенде бұйымдардың төрт түрі бойынша бір күнде түскен пайда берілген.
Әрбір дүкен бойынша қайсы бұйым жақсы өткенін анықтау қажет.
8) 0, 1 және 2 - ден бөтен әртүрлі сандардан тұратын квадрат массив берілген.
Оның бас диогоналдарының элементтерін 0 – ге, бас диогоналдың үстінде
тұрған элементтерді 1 –ге, ал бас диогоналдың астында орналасқан
элементтерді 2 – ге ауыстыратын программа құру керек.
Практикалық жұмыстың есебін дайындау формасы:
Берілген тапсырманың әрқайсысы үшін төмендегілерді орындау:
1. Есептің математикалық моделін анықтау;
2. Есептің алгоритмінің блок-схемае сызу;
3. Есептің алгоритміне сәйкес программасын жазу.
Блиц-тест
1. С/ С++ тілінде 10 бүтін элементі бар массив қалай сипатталады?
a) int a(10)
b) int a{10}
c) int a[10]
d) float a[10]
e) char a[10]
2. Массивті сипаттау кезінде қолданылатын тұрақтыны қандай директивада
сипаттауға болады?
a) # define;
b) # conio.h;
c) # stdio.h;
d) # math.h.
e) # math
Достарыңызбен бөлісу: |