Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Metodichka_OT-1.doc
Скачиваний:
14
Добавлен:
17.03.2016
Размер:
1.15 Mб
Скачать

Організація циклів на мові "сі"

Мета практикуму – розробка програмного забезпечення на мові програмування "СІ" з реалізації алгоритмів циклічних розрахунків.

  1. ТЕОРЕТИЧНІ ВІДОМОСТІ

1.1. Якщо кількість повторень у циклі відома заздалегідь, доцільно використовувати оператор організації циклів for. Структура оператора має наступний вигляд:

for(<вираз1>;<вираз2>;<вираз3>)<тіло циклу>;

Вираз 1 слугує для присвоєння початкового значення керуючої змінної; вираз 2 – для перевірки виконання продовження циклу; вираз 3 – для зміни керуючої змінної.

Будь-який з трьох виразів у циклі for може бути відсутнім. Проте, крапка з комою повинна залишатись.

Для організації нескінченного циклу може бути використаний вираз:

for(;;) <тіло циклу>;

Якщо тіло циклу складається більш ніж з одного оператору, то воно виділяється фігурними дужками {}.

Приклад 1. За допомогою оператора for вивести на екран тричі текст “Electrical Drive”, розрахувати факторіал n!=1*2*3*4*…*n, та показати процес його обчислення.

#include <stdio.h>

main( )

{int i,j=1,n;

printf("\n");

for(i=1;i<=3;i++)printf("Electrical Drive\t");

printf("\nInput value of n\n");

/*введіть величину n*/

scanf("%d",&n);

for(i=1;i<=n;i++) j*=i;

printf("n!=%d",j);

j=1;

printf("\n");

for(i=1;i<=n;i++)printf("%d\t",(j*=i));}

1.2. У випадку, коли кількість повторень у циклі заздалегідь не відома, доцільно використовувати оператор циклів while. Структура оператора має наступний вигляд:

while(<умова>) <тіло циклу>;

Тіло циклу виконується доти, доки умова істинна.

Приклад 2. Скласти програму, яка дозволяє визначити порядковий номер першої введеної букви R в послідовності символів, використовуючи оператор while.

#include <stdio.h>

main( )

{int i=1;

printf("\nInput string of symbols\n");

/*введіть рядок символів*/

while((getchar())!='R')i++;

printf("Symbol R is %d",i);

/*символ R є*/

}

1.3. У циклі do-while, на відміну від циклів for та while, спочатку виконується тіло циклу, а вже потім виконується перевірка істинності умови. Таким чином, тіло циклу do-while виконується принаймі один раз. Структура оператора має наступний вигляд:

do <тіло циклу> while(<умова>);

Приклад 3. Скласти програму, яка дозволяє визначити порядковий номер першої введеної букви R в послідовності символів, використовуючи оператор do while.

#include <stdio.h>

main( )

{int i=0;

printf("\nInput string of symbols\n");

/*введіть рядок символів*/

do i++;

while((getchar())!='R');

printf("Symbol R is %d",i);

/*виведення номера символу R */

}

1.4. При роботі із циклами for, while, do-while зручно використовувати оператори break та continue, які зазвичай використовуються із оператором умовного переходу if. Оператор break забезпечує негайний вихід із циклу, а continue викликає зупинку поточної ітерації та перехід до наступної.

1.5. У мові "Сі" також реалізовано оператор безумовного переходу goto, який має наступний формат:

goto <мітка>;

Перед оператором, на який здійснюється перехід, ставиться мітка, яка відокремлюється від оператора двокрапкою:

<мітка>:<оператор>;

Необхідно відмітити, що використання оператора безумовного переходу goto може призвести до ускладнення розуміння програми, тому доцільно уникати її застосування;

Приклад 4. Написати програму, яка реалізує виведення на екран цілих чисел від 1 до 9

#include <stdio.h> int main(void) 

{int i; i = 1; again: printf("%d ", i); i++; if(i<10)goto again; return 0;

}

  1. ЗАВДАННЯ НА РОБОТУ

Розробити та запустити у роботу програму на мові програмування "Сі", яка вирішує задачу відповідно до заданого нижче варіанта.

2.1. Задана квадратна матриця n-го порядку. Ввести порядок та елементи матриці з клавіатури. Знайти мінімальний додатний елемент, розташований в області згідно рисунка 1а. Вивести результат екран.

2.2. Задана квадратна матриця n-го порядку. Ввести порядок та елементи матриці з клавіатури. Знайти максимальний від’ємний елемент, розташований в області згідно рисунка 1б. Вивести результат на екран.

2.3. Задана квадратна матриця n-го порядку. Ввести порядок та елементи матриці з клавіатури. Знайти суму елементів, розташованих в області згідно рисунка 1в.

2.4. Задана квадратна матриця n-го порядку. Ввести порядок та елементи матриці з клавіатури. Знайти максимальний елемент, розташований в області згідно рисунка 1г.

Рисунок 1а Рисунок 1б Рисунок 1в Рисунок 1г

2.5. Розрахувати значення кусково-заданої функції на інтервалі від 0 до , з кроком 0.05. Вивести результати у вигляді таблиці, виведення організувати поекранно, по натисканню довільної клавіші.

2.6. Розрахувати значення кусково-заданої функції на інтервалі від 0 до π, з кроком 0.02. Вивести результати у вигляді таблиці, виведення організувати поекранно, по натисканню довільної клавіші.

2.7. Розрахувати значення кусково-заданої функції на інтервалі від 0 до 10, з кроком 0.1. Вивести результати у вигляді таблиці, виведення організувати поекранно, по натисканню довільної клавіші.

2.8. Розрахувати значення кусково-заданої функції на інтервалі від 0 до 20, з кроком 0.4. Вивести результати у вигляді таблиці, виведення організувати поекранно, по натисканню довільної клавіші.

2.9. Розрахувати значення кусково-заданої функції на інтервалі від 0 до 1, з кроком 0.01. Вивести результати у вигляді таблиці, виведення організувати поекранно, по натисканню довільної клавіші.

2.10. Розрахувати значення кусково-заданої функції на інтервалі від 0 до 5, з кроком 0.1. Вивести результати у вигляді таблиці, виведення організувати поекранно, по натисканню довільної клавіші.

  1. КОНТРОЛЬНІ ЗАПИТАННЯ

3.1. Який оператор застосовується для реалізації циклу, кількість ітерацій в якому відома.

3.2. Які оператори застосовується для реалізації циклу, кількість ітерацій в якому не відома.

3.3. Яким чином можна впливати на виконання поточної ітерації.

3.4. Який синтаксис має оператор безумовного переходу.

3.5. В чому полягає різниця між операторами while та do-while.

Комп’ютерний практикум № 13

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]