Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка ОТ-1.doc
Скачиваний:
0
Добавлен:
25.12.2019
Размер:
1.17 Mб
Скачать
  1. Завдання на роботу

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

    1. Визначити, чи має студент стипендію, якщо середній бал більший 4, а кількість предметів, що були здані у додаткову сесію, не більша 2. У разі, якщо студент є сиротою, він має право на стипендію тільки за умови середнього балу, більшого 3.5.

    2. Розрахувати корені квадратного рівняння, AX2+BX+C=0, коефіцієнти якого вводяться з клавітури. Якщо дискримінант менший нуля, вивести відповідне повідомлення, та завершити виконання програми.

    3. Створити програму, яка визначає, чи паралельні дві прямі A1X+B1Y+C1=0 та А2X+B2Y+C2=0.

    4. Створити програму, яка визначає, чи перпендикулярні дві прямі, що задані у вигляді Y1=K1X+B1, Y2=K2X+B2.

    5. Задано прямокутник АBCD із вершинами А (X1;Y1) та С (X2;Y2), що відповідають головній діагоналі пряокутника. Визначити, чи лежить точка K (Xk;Yk) в межах прямокутника.

    6. Задано кільце з центром у точці А (Xa;Ya), та зовнішнім та внутрішнім радіусом R1 та R2 відповідно. Визначити, чи належить точка B (XB;YB) кільцю.

    7. Задано прямокутник АBCD із вершинами А (X1;Y1) та С (X2;Y2), що відповідають головній діагоналі прямокутника. Визначити, чи належить точка K (X3;Y3), сторонам прямокутника.

    8. Задано рядок символів, що вводиться із клавіатури. Визначити кількість голосних букв у рядку. Символом закінчення рядка слугує пробіл.

    9. Задано круг з центром С (XC;YC) радіусом R. Визначити, чи належить точка А (XA;YA) сектору круга, який визначається кутами α1, α2.

    10. Задано трикутник ABC, координати вершин якого A (XA;YA), B (XB;YB), C (XC;YC). Визначити, чи належить точка D (XD;YD) площині трикутника.

  1. Контрольні запитання

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

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

3.3. Для чого слугує ключове слово else.

3.4. Для чого слугує ключове слово default.

3.5. З якою метою при застосуванні оператора switch застосовуються оператори break.

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

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

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

  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;

}