Лабораторна робота № 2
Тема: Використання керуючих конструкцій.
Мета:Отримання навичок роботи з основними керуючими конструкціями С.
Теоретичні відомості:
В мові програмування С використовуються наступні керуючі конструкції:
1) Цикл for
for(виразі] вираз2', вираз З)
{оператор}
Виразі описує ініціалізацію циклу; вираз 2 — перевіряє умову завершення цикла, якщо він істинний то виконується оператор] вираз З — обчислюється після кожної ітерації. Цикл повторюється до тих пір, поки вираз не стане хибним. Наприклад: for(x=1; х
2) Цикл while:
while(вираз) оператор Якщо вираз є істинним, то оператор виконується до тих
пір, поки вираз не стане хибним. Якщо вираз хибний з самого початку, то керування передається наступному оператору. При цьому цикл не виконується зовсім. Значення виразу визначається до виконання оператора.
Наприклад:
while(k
}
3) Цикл do-while. Його синтаксис:
do оператор
while(et/pa3);
Якщо вираз істинний, то оператор виконується та знову обчислюється значення виразу. Це повторюється, поки вираз не стане хибним. Оператор виконується не менше одного разу.
Наприклад:
х=1;
do printf("%d\n", power(x, 2));
while(++x
Оператор do-while перевіряє умову після виконання операторів циклу.
Оператор whileперевіряє умову перед виконанням операторів циклу.
4) Перемикач switchмає синтаксис: switch(вираз) {
caseконстанта1: оператор
caseконстанта2: оператор
caseконстанта З: оператор
…….
default: оператор
}
Порівнює значення виразу з константами у всіх варіантах
caseта передає керування оператору, що відповідає значенню виразу. Якщо жодна з констант не відповідає значенню виразу, тоді керування передається оператору з міткою default. Якщо мітка defaultвідсутня, не виконується ніяких дій.
Наприклад:
switch(x)
case2:
case: y=3;
5) Оператор breakперериває виконання найближчого вкладеного зовнішнього оператора switch, whiledoабо forкерування передається наступному оператору
Наприклад: for(i=0; i
if((a[i] = b[і])==0)
break;
6) Оператор продовження continue передає керування на початок найближчого зовнішнього оператора циклу switch while, do або for, та викликає початок наступної ітерації
7) Оператор повернення return. Перериває виконання поточної функції та повертає керування програмі що її викликала.
2.2. Приклад
Знайти усі прості неспрощувані дроби між 0 та 1 знаменники яких не перевищують 7 (дріб задається двома натуральними числами — чисельником та знаменником) # mclude ^include
main()
{
int i.j, I, k, i1, j1, k2;
printf(“Початокпрограми\n \n");
/*Завдання циклів*/
For (I1=2 ;i1
for(j1=1;j1--PAGE_BREAK--
{
/*Вивід дробу вигляду 1/n */
If (j1= =1) printf("%d%d\n", jl, i1)
I=0; i=i1; j=j1;
/*Цикл для визначення НОД*/
do
{
k=i-j; K2=i1%j1;
jf(((k= =0)&&(j!=1))||(k2= =0))l=1;
i=j; j=k;
} while(k>0);
/*Вивід дробу, якщо флаг не встановлений*/
If (I!=1) printf ("%d%d\n", j1, i1);
}
return0;
}
2.3. Порядок виконання роботи
2.3.1. Проаналізувати умову задачі.
2.3.2. Розробити алгоритм та створити програму розв'язання задачі згідно з номером варіанту.
2.3.3. Результати роботи оформити протоколом.
2.4. Варіанти завдань
5)Натуральне число називається паліндромом, якщо йогозапис читається однаково з початку та з кінця (наприклад, 4884 393, 1). Знайти всі числа-паліндроми, що не перевищують 100.
Відповідь:
# include
# include
#include
#include
#include
main ()
{
for(int i=10;i
{
char s[25];
int k,p,n;
itoa (i, s, 10);
if (s[0]==s[1])
p=1;
else
p=0;
if (p==1)
cout
}
getch();
}
Висновок: На цій лабораторній роботі я отримав навички роботи з основними керуючими конструкціями С.