Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
НУ «Львівська політехніка»
Звіт
Лабораторна робота №4
На тему : “ Правила запису та використання операторів у мові С (умовний оператор, оператор вибору, оператор безумовного переходу)”
Львів 2007
Тема: Правила запису та використання операторів у мові С (умовний оператор, оператор вибору, оператор безумовного переходу)
Мета: навчитися програмувати на мові С розгалужені процеси
Теоретичні відомості
У С використовуються два оператори розгалуження: if... else і switch.
Оператор if має таку загальну форму запису:
if (cond_expression) TRUE_statement;
[else FALSE_statement]
Часто виникає в програмуванні задача вибору одного варіанта з багатьох. Можна це зробити за допомогою вкладених if ... else. Однак зручніший спосіб - використання оператора switch, загальний формат якого такий:
switch (switch_expression)
{ case constant1: statement1; [break;]
……………………
case constanti: statementi; [break;]
…………………......
case constantN: statementN; [break; ]
[default: statementN+1; ] }
Завдання
Не використовуючи оператор циклу скласти програму, яка обчислює корені квадратного рівняння ах2 +b*х +с=0 для заданих довільних дійсних а, b, с. У випадку відсутності дійсних коренів цього рівняння друкує відповідне повідомлення.
Текст програми:
#include <stdio.h>
#include <math.h>
#include <conio.h>
main()
{
float a,b,c,x1,x2,d;
clrscr();
puts("Vvedit koefizientu kvadratnogo rivnniannia");
printf("a=");scanf("%f",&a);
printf("b=");scanf("%f",&b);
printf("c=");scanf("%f",&c);
if(a==0 && b!=0 && c!=0)
{
x1=-c/b;printf("x1=%f",x1);
}
if(b==0 && c!=0 && a!=0)
{
if((a<0 && c<0) || (a>0 && c>0))
{
x1=sqrt(c/a);
printf("x1=%f",x1);
} else
if ((a<0 && c>0) || (a>0 && c<0))
printf("Dijsnuh koreniv nemae");
if(c==0 && b!=0 && a!=0)
{
x1=0;x2=b/a;
printf("x1=%f x2=%f",x1,x2);
}
if (c==0 && a==0 && b!=0){
x1=0;printf("x1=%f",x1);}
if (a==0 && b==0 && c!=0)
printf("Rozviazku nemae");
if(c==0 && b==0 && a!=0)
{x1=0;printf("x1=%f",x1);}
if(a==0 && b==0 && c==0)
printf("Dijsnuh koreniv nemae");
if(a!=0 && b!=0 && c!=0)
{
d=b*b-4*a*c;
if(d==0)
{x1=-b/2*a;printf("x1=%f",x1);}
if(d<0)
{puts("Dijsnuh koreniv nemae");}
if(d>0)
{
x1=(-b+sqrt(d))/2*a;
x2=(-b-sqrt(d))/2*a;
printf("x1=%f x2=%f",x1,x2);
} }
getchar();
getchar();
return 0;
}
Протокол роботи програми:
Висновок: я навчився програмувати на мові С розгалужені процеси
Ви не можете залишити коментар. Для цього, будь ласка, увійдіть
або зареєструйтесь.
Ділись своїми роботами та отримуй миттєві бонуси!
Маєш корисні навчальні матеріали, які припадають пилом на твоєму комп'ютері? Розрахункові, лабораторні, практичні чи контрольні роботи — завантажуй їх прямо зараз і одразу отримуй бали на свій рахунок! Заархівуй всі файли в один .zip (до 100 МБ) або завантажуй кожен файл окремо. Внесок у спільноту – це легкий спосіб допомогти іншим та отримати додаткові можливості на сайті. Твої старі роботи можуть приносити тобі нові нагороди!