Частина тексту файла (без зображень, графіків і формул):
Міністерство освіти та науки України
НУ «Львівська політехніка»
Звіт
Лабораторна робота №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;
}
Протокол роботи програми:
Висновок: я навчився програмувати на мові С розгалужені процеси