Лабораторна робота
Тема: Програми з розгалуженням
Мета
Навчитись створювати програми з розгалуженням мовою Сі. Знати призначення команд розгалуження та вміти працювати зними.
Теоретичні відомості
Під час написання програми може виникнути потреба трактувати декілька команд як одну. Така команда складеною. Вона має такий вигляд:
{
<команда 1>;
…
<команда N>;
}
Кому як команду використовують тоді, коли необхідно інтерпритувати декілька виразів або команд як одне ціле. Вона має вигляд:
вираз 1, вираз 2
або
команда 1, команда 2
Спочатку послідовно обчислюється значення виразу 1 (виконується команда 1) та виразу 2 (команда 2).
Логічний вираз - це засіб записування умов у задачах відшукання даних, що задовольняють деякий критерій. Логічний вираз може набувати значення true (істинність) або false (хибність). Логічні вирази бувають прості або складені. Простий – це два арифметичні вирази, з’є днані символом відношення, а складений – це прості логічні вирази, з’єднані логічними операціями:
1) ! – не,
2) && - і,
3) - або.
Логічні вирази обчислюються з урахуванням пріоритету логічних операцій (1 - найвищий).
Команда розгалуження if маэ двы форми: повну та коротку. Повна така:
іf (<логічний вираз>) <команда 1>; else <команда 2>;
обчислюється значення логічного иразу. Якщо це значення істинне, то виконється команда1, у протилежному випадку – команда 2. Команди можуть бути будь-якими.
Коротка:
іf (<логічний вираз>) <команда 1>;
обчислюється значення логічного виразу. Якщо істинне, то виконується команда 1, інакше виконується команда, яка заисана після команди іf.
Команда вибору switch має вигляд:
switch (<вираз>);
{
сase <ознака 1> : <команда 1>; break;
…
сase <ознака N> : <команда N> break;
default : <команда N+1>;
}
Вираз та ознаки мають бути цілочисельні. Команда break не є обов’язковою і записується у разі потреби. Вона слугує для виходу з команди switch.
Складова частина default : <команда N+1> також може бути відсутня – тоді матимемо коротку форму команди вибору switch.
Завдання №14
s=1.326; 3.906, a=0.854, b=3.625.
Блок-схема
змінна | s | i | a | b
ідентифікатор | s | i | a | b
Програма
1.
#include<stdio.h>
#include<math.h>
#define Pi 3.14
main()
{
float s,i,a=0.854,
b=3.625;
scanf ("%f",&s);
if(s<1.5&&s>=b-a) i=(sqrt(b)+pow(cos(pow(a,2)*s),2))/log(abs(s-5)); else
if(s>b) i=a*b+tan(s/3+Pi/12); else
{printf("funczija ne isnuje") goto mmm;}
printf("s=%f i=%f",s,i);
mmm:getch();
}
2.
#include<stdio.h>
#include<math.h>
#define Pi 3.14
main()
{
float s,i,a=0.854,
b=3.625;
scanf("%f",&s);
switch((s<1.5&&s>=b-a)+2*(s>b));
{
case 1:i=(sqrt(b)+pow(cos(pow(a,2)*s),2))/log(abs(s-5));
case 2:i=a*b+tan(s/3+Pi/12);
default:printf("funkciya ne isnuye");
}
printf("s=%f i=%f",s,i);
}
Результат виконання програми
Висновок: на цій лабораторній роботі я навчився складати програми з розгалуженням за допомогою команди if та switch .