SlideShare una empresa de Scribd logo
1 de 28
Мова СМова Сі++і++
Лінійні програми на Сі++
План:
1.Структура програми
2.Засоби мови для написання лінійної
програми
3.Форматований вивід на екран.
4.Форматоване введення з клавіатури.
5.Потокове уведення-виведення в Сі++
Загальна структура програми
на Сі++ наступна
директиви_препроцесора
визначення_функції_1
визначення_функції_2
визначення_функції_N
Серед функцій обов'язково
є присутньою головна функція з ім'ям
main
Проста програма містить тільки головну
функцію і має наступну структуру:
директиви препроцесора
void main()
{ визначення_об'єктів;
виконувані_оператори;
}
Приклад 1. Дано: а, b, с — сторони
трикутника. Обчислити S — площа трикутника.
По формулі Герона :
де р — півпериметр трикутника.
#include <stdio.h>
#include <math.h>
void main ()
{float a, b, c, p, s;
printf("na="); scanf("%f",&a);
printf("nb="); scanf("%f",&b);
printf("nc="); scanf("%f",&c);
p=(a+b+c)/2;
s=sqrt (р(p - c));
printf("Площа трикутника=%f", s);
}
Програма складається з однієї головної
функції із стандартним ім'ям main. Слово
void означає відсутність якого-небудь
повертаного цією функцією результату, а
порожні дужки — відсутність у неї аргументів.
Усе, що розміщено після заголовка функції і
поміщено у фігурні дужки, можна назвати
тілом функції.
Перший рядок — оголошення
використовуваних змінних. Усі вони
плаваючого типу double. Оголошення змінних
закінчується крапкою з комою.
Подальша частина програми — виконувані
оператори. Серед них оператори виводу на
екран, введення даних з клавіатури, оператори
привласнення.
Поняття «оператор» в Сі++ трактують таким
чином: будь-який вираз, після якого стоїть
крапка з комою, сприймається компілятором
як окремий оператор. Оператор визначає
закінчену дію на черговому кроці виконання
програми.
.
Якщо обчислення вираження закінчується
привласненням, то його можна назвати
оператором привласнення.
У даній програмі є присутніми два оператори
привласнення : обчислення півпериметра (р) і
обчислення площі трикутника (s).
У вираженні для обчислення площі
використовується бібліотечна функція sqrt()
— квадратний корінь.
Ця функція відноситься до бібліотеки
математичних функцій. Для підключення цієї
бібліотеки до нашої програми
використовується директива препроцесора
#include <math.h>.
Тут math.h — ім'я заголовного файлу цієї
бібліотеки.
Математичні функціїМатематичні функції
(заголовний файл math.h)(заголовний файл math.h)
У даній програмі оператори
printf (...); і scanf (...);
реалізують відповідно вивід на екран і
введення початкових даних з клавіатури.
Вони здійснюють звернення до відповідних
функцій стандартної бібліотеки введення-
виведення Сі, заголовний файл якої має ім'я
stdio.h.
Символи
"%c" є специфікацією формату
введення/виведення символьних даних,
"%d" — специфікацією для цілих чисел
Форматований вивід на екранФорматований вивід на екран
Оператор виклику функції printf() має
наступну структуру:
printf(форматний рядок,
список_аргументів);
Форматний рядок обмежений подвійними
лапками (тобто є текстовою константою) і може
включати довільний текст, символи, що
управляють, і специфікатори формату. Список
аргументів може бути відсутнім або ж
складатися з виразів, значення яких виводяться
на екран (у окремому випадку з констант і
змінних).
У прикладі оператор printf ("nа="); містить
текст ("а=") і символи ("n"), що управляють.
Текст виводиться на екран в тому вигляді, в
якому він записаний. Символи, що управляють,
впливають на розташування на екрані знаків,
що виводяться. В результаті виконання цього
оператора на екран з нового рядка виведуться
символи а=.
Ознакою символу, що управляє, є значок .
n - перевід строки;
t – горизонтальна табуляція;
r – повернення курсору к початку нової строки;
a – сигнал-дзвінок;
b –повернення на один символ (позицію);
f – прогін сторінки;
v – вертикальна табуляція
Оператор
printf ("Площа трикутника=% f", s);
містить усі види параметрів функції printf.
Список аргументів складається з однієї змінної
s. Її значення виводиться на екран. Пара
символів %f є специфікацією формату
значення змінної s, що виводиться. Значок % —
ознака формату, а буква f вказує на те, що
число, що виводиться, має речовинний (real)
(плаваючий) тип і виводиться на екран у формі
з фіксованою точкою.
Наприклад, якщо в результаті обчислень
змінна s отримає значення 32,435621, то на
екран виведеться:
Площа трикутника=32.435621
Специфікатор формату визначає форму
зовнішнього представлення величини, що
виводиться. Ось деякі специфікатори формату:
%c – символ;
%s – строчка;
%d – ціле десяткове число (int);
%u – ціле десяткове без знаку;
%f – дійсне з плаваючою крапкою;
Наприклад, після виконання наступних
операторів:
на екран виведеться рядок:
m=84.299999 k=-12 p=3.21500e+01
Тут двічі використовуваний символ табуляції , що
управляє, відокремив один від одного значення, що
виводилися. З цього прикладу видно, що відповідність
між специфікаторами формату і елементами списку
аргументів встановлюється в порядку їх запису зліва
направо.
Форматоване введення зФорматоване введення з
клавіатуриклавіатури
Оператор виклику функції scanf() має наступну
структуру:
scanf(форматний_рядок, список_аргументів);
Ця функція здійснює читання символів, що
вводяться з клавіатури, і перетворення їх у внутрішнє
представлення відповідно до типу величин. У функції
scanf() форматний рядок і список аргументів є
обов'язковим. У прикладі є оператор:
scanf("%f",&a);
Тут "%f" — форматний рядок; &а — список
аргументів, що складається з одного елементу. Цей
оператор проводить введення числового значення в
змінну а.
Символьну послідовність, що вводиться
з клавіатури і сприйману функцією
scanf(), прийнято називати вхідним
потоком. Функція scanf() розділяє цей
потік на окремі величини, що вводяться,
інтерпретує їх відповідно до вказаного
типу і формату і привласнює змінним, що
містяться в списку аргументів.
Список аргументів — це перелік змінних, що
вводяться, причому перед ім'ям кожної змінної
ставиться значок &. Це знак операції «взяття
адреси змінною».
Форматний рядок пишеться в лапках (як і для
printf) і складається зі списку специфікацій.
Кожна специфікація розпочинається зі знаку %,
після якого можуть слідувати
*ширина поля модифікатор специфікатор
З них обов'язковим елементом є лише
специфікатор. Для введення числових даних
використовуються наступні специфікатори:
d — для цілих десяткових чисел (тип int);
u — для цілих десяткових чисел без знаку (тип
unsigned int);
f — для дійсних чисел (тип float) у формі з
точкою;
е — для дійсних чисел (тип float) у формі з
плаваючою точкою.
Зірочка в специфікації дозволяє пропустити у
вхідному потоці певну кількість символів.
Ширина поля — ціле позитивне число, що
дозволяє визначити число символів з вхідного
потоку, що належать значенню відповідної
змінної, що вводиться. Як і в специфікаціях
виводу для функції printf(), в специфікаціях
введення функції scanf() допустиме
використання модифікаторів h, l, L
Вони застосовуються при введенні значень
модифікованих типів :
hd — для введення значень типу short int;
ld — для введення значень типу long int;
lf, le — для введення значень типу double у
формі з фіксованою і плаваючою точкою;
Lf, Le — для введення значень типу long
double у формі з точкою.
У прикладі програми усі три величини а, b, c
можна ввести одним оператором:
scanf("%f%f%f",&a,&b,&c);
Якщо послідовність введення буде такою:
5 3.2 2.4 <Enter>
то змінні отримають наступні значення: а = 5,0, b =
3,2, с = 2,4. Роздільником в потоці введення між
різними значеннями може бути будь-яка кількість
пропусків, а також інші пробільні символи: знак
табуляції, кінець рядка. Тільки після натиснення на
клавішу Enter значення, що вводяться,
привласняться відповідним змінним. До цього
вхідний потік поміщається у буфер клавіатури і
може редагуватися.
Потокове введення-виведення в Сі++Потокове введення-виведення в Сі++
Програмуючи на мові Сі++, можна
користуватися засобами введення-виведення
стандартної бібліотеки Сі, що підключається за
допомогою заголовного файлу stdio.h. Проте в
Сі++ є свої специфічні засоби введення-виводу
Це бібліотека класів, що підключається до
програми за допомогою файлу iostream.h. У цій
бібліотеці визначені в якості об'єктів стандартні
символьні потоки з наступними іменами:
сin — стандартний потік введення з клавіатури;
cout — стандартний потік виводу на екран.
Введення даних інтерпретується як витягання з
потоку сin і привласнення значень відповідним
змінним. У Сі++ визначена операція витягання із
стандартного потоку, знак якої >>. Наприклад,
введення значень в змінну х реалізується
оператором
cin>>x;
Виведення даних інтерпретується як приміщення
в стандартний потік cout значень, що виводяться.
Виводитися можуть тексти, поміщені в подвійні
лапки, і значення виразів. Знак операції
приміщення в потік <<. Приклади використання
потокового виводу :
cout<<a+b;
соut<<"nРезультат="<<Y;
cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl;
Перепишемо програму з прикладу у варіанті з
використанням потокового введення-виведення
Сі++.

Más contenido relacionado

La actualidad más candente

урок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняурок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняHelen Pata
 
Pascal osnovu
Pascal osnovuPascal osnovu
Pascal osnovuEscuela
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal1cana1
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascalAnn Eres
 
рядки
рядкирядки
рядкиcit-cit
 
Osnovni ko hctpykcii movi
Osnovni ko hctpykcii moviOsnovni ko hctpykcii movi
Osnovni ko hctpykcii movimetallurg056
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуШкола №7 Миргород
 
03 Constants And Variables
03 Constants And Variables03 Constants And Variables
03 Constants And Variablesolegapster
 
Деякі графічні засоби R
Деякі графічні засоби RДеякі графічні засоби R
Деякі графічні засоби RVladimir Bakhrushin
 

La actualidad más candente (16)

урок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуженняурок 17 поліваріантне розгалуження
урок 17 поліваріантне розгалуження
 
Pascal osnovu
Pascal osnovuPascal osnovu
Pascal osnovu
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
 
Programuvanna na movi_pascal
Programuvanna na movi_pascalProgramuvanna na movi_pascal
Programuvanna na movi_pascal
 
3 6 excel
3 6 excel3 6 excel
3 6 excel
 
рядки
рядкирядки
рядки
 
Osnovni ko hctpykcii movi
Osnovni ko hctpykcii moviOsnovni ko hctpykcii movi
Osnovni ko hctpykcii movi
 
Povtor 7 8kl
Povtor 7 8klPovtor 7 8kl
Povtor 7 8kl
 
1
11
1
 
5971 789623
5971 7896235971 789623
5971 789623
 
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листкуінформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
інформатика алгор та прогр по підручнику верлань 2 стор на 1 листку
 
990 _
990  _990  _
990 _
 
03 Constants And Variables
03 Constants And Variables03 Constants And Variables
03 Constants And Variables
 
Деякі графічні засоби R
Деякі графічні засоби RДеякі графічні засоби R
Деякі графічні засоби R
 
1
11
1
 
10кл формули та функції
10кл формули та функції10кл формули та функції
10кл формули та функції
 

Destacado

Analiza kampanii na fb
Analiza kampanii na fbAnaliza kampanii na fb
Analiza kampanii na fbIRCenter
 
Scalone dokumenty (38)
Scalone dokumenty (38)Scalone dokumenty (38)
Scalone dokumenty (38)gemix gemix
 
Future of copyright for Wikimedia Polska
Future of copyright for Wikimedia PolskaFuture of copyright for Wikimedia Polska
Future of copyright for Wikimedia PolskaJarosław Lipszyc
 
Case study Eyetracking Facebooka
Case study Eyetracking FacebookaCase study Eyetracking Facebooka
Case study Eyetracking FacebookaPaulina Makuch
 
Analiza wyplacalnosci spolki bioton
Analiza wyplacalnosci spolki biotonAnaliza wyplacalnosci spolki bioton
Analiza wyplacalnosci spolki biotonTobiasz Maliński
 
Rodzaje faktoringu oferowane przez KUKE Finance S.A.
Rodzaje faktoringu oferowane przez KUKE Finance S.A.Rodzaje faktoringu oferowane przez KUKE Finance S.A.
Rodzaje faktoringu oferowane przez KUKE Finance S.A.KUKE Finance S.A.
 
Projekt rynku mocy spotkanie konsultacyjne
Projekt rynku mocy   spotkanie konsultacyjneProjekt rynku mocy   spotkanie konsultacyjne
Projekt rynku mocy spotkanie konsultacyjneGrupa PTWP S.A.
 
Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...
Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...
Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...Michał Oszastowski
 
Technik.logistyk 342[04] z1.05_u
Technik.logistyk 342[04] z1.05_uTechnik.logistyk 342[04] z1.05_u
Technik.logistyk 342[04] z1.05_uKasia Stachura
 
JavaScript - przykłady. Biblia
JavaScript - przykłady. BibliaJavaScript - przykłady. Biblia
JavaScript - przykłady. BibliaWydawnictwo Helion
 
Vnx.su escort-i-orion-90-99
Vnx.su escort-i-orion-90-99Vnx.su escort-i-orion-90-99
Vnx.su escort-i-orion-90-99rukford
 
B5 Poznajemy właściwości fizyczne i chemiczne kości.
B5 Poznajemy właściwości fizyczne i chemiczne kości. B5 Poznajemy właściwości fizyczne i chemiczne kości.
B5 Poznajemy właściwości fizyczne i chemiczne kości. CentrumEdukacjiObywatelskiej
 
Möminlərin cəsarəti. azərbaycan (version 1)
Möminlərin cəsarəti. azərbaycan (version 1)Möminlərin cəsarəti. azərbaycan (version 1)
Möminlərin cəsarəti. azərbaycan (version 1)HarunyahyaAzerbaijan
 
Innovation and its impact on the strategic management of it comapnies - Paweł...
Innovation and its impact on the strategic management of it comapnies - Paweł...Innovation and its impact on the strategic management of it comapnies - Paweł...
Innovation and its impact on the strategic management of it comapnies - Paweł...Pawel Lopatka
 
Zagrożenia i zanieczyszczenia zbiorników wodnych
Zagrożenia i zanieczyszczenia zbiorników wodnychZagrożenia i zanieczyszczenia zbiorników wodnych
Zagrożenia i zanieczyszczenia zbiorników wodnychlopszczecin
 
Oferty pracy 21.12.2012
Oferty pracy 21.12.2012Oferty pracy 21.12.2012
Oferty pracy 21.12.2012infokosz
 

Destacado (20)

Analiza kampanii na fb
Analiza kampanii na fbAnaliza kampanii na fb
Analiza kampanii na fb
 
Scalone dokumenty (38)
Scalone dokumenty (38)Scalone dokumenty (38)
Scalone dokumenty (38)
 
Future of copyright for Wikimedia Polska
Future of copyright for Wikimedia PolskaFuture of copyright for Wikimedia Polska
Future of copyright for Wikimedia Polska
 
Case study Eyetracking Facebooka
Case study Eyetracking FacebookaCase study Eyetracking Facebooka
Case study Eyetracking Facebooka
 
Analiza wyplacalnosci spolki bioton
Analiza wyplacalnosci spolki biotonAnaliza wyplacalnosci spolki bioton
Analiza wyplacalnosci spolki bioton
 
Rodzaje faktoringu oferowane przez KUKE Finance S.A.
Rodzaje faktoringu oferowane przez KUKE Finance S.A.Rodzaje faktoringu oferowane przez KUKE Finance S.A.
Rodzaje faktoringu oferowane przez KUKE Finance S.A.
 
Katalog - sztukateria budowlana styropianowa e-millennium.eu
Katalog - sztukateria budowlana styropianowa e-millennium.euKatalog - sztukateria budowlana styropianowa e-millennium.eu
Katalog - sztukateria budowlana styropianowa e-millennium.eu
 
Projekt rynku mocy spotkanie konsultacyjne
Projekt rynku mocy   spotkanie konsultacyjneProjekt rynku mocy   spotkanie konsultacyjne
Projekt rynku mocy spotkanie konsultacyjne
 
Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...
Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...
Oszastowski przydatność utworzenia numerycznego modelu terenu (nmt) dla teren...
 
BRE-CASE Seminarium 67 - Impact of the Economic Situation in Germany on Polis...
BRE-CASE Seminarium 67 - Impact of the Economic Situation in Germany on Polis...BRE-CASE Seminarium 67 - Impact of the Economic Situation in Germany on Polis...
BRE-CASE Seminarium 67 - Impact of the Economic Situation in Germany on Polis...
 
Technik.logistyk 342[04] z1.05_u
Technik.logistyk 342[04] z1.05_uTechnik.logistyk 342[04] z1.05_u
Technik.logistyk 342[04] z1.05_u
 
JavaScript - przykłady. Biblia
JavaScript - przykłady. BibliaJavaScript - przykłady. Biblia
JavaScript - przykłady. Biblia
 
Vnx.su escort-i-orion-90-99
Vnx.su escort-i-orion-90-99Vnx.su escort-i-orion-90-99
Vnx.su escort-i-orion-90-99
 
B5 Poznajemy właściwości fizyczne i chemiczne kości.
B5 Poznajemy właściwości fizyczne i chemiczne kości. B5 Poznajemy właściwości fizyczne i chemiczne kości.
B5 Poznajemy właściwości fizyczne i chemiczne kości.
 
Möminlərin cəsarəti. azərbaycan (version 1)
Möminlərin cəsarəti. azərbaycan (version 1)Möminlərin cəsarəti. azərbaycan (version 1)
Möminlərin cəsarəti. azərbaycan (version 1)
 
TMP Sept-Oct 2015
TMP Sept-Oct 2015TMP Sept-Oct 2015
TMP Sept-Oct 2015
 
Dj Raport 2015 (03)
Dj Raport 2015 (03)Dj Raport 2015 (03)
Dj Raport 2015 (03)
 
Innovation and its impact on the strategic management of it comapnies - Paweł...
Innovation and its impact on the strategic management of it comapnies - Paweł...Innovation and its impact on the strategic management of it comapnies - Paweł...
Innovation and its impact on the strategic management of it comapnies - Paweł...
 
Zagrożenia i zanieczyszczenia zbiorników wodnych
Zagrożenia i zanieczyszczenia zbiorników wodnychZagrożenia i zanieczyszczenia zbiorników wodnych
Zagrożenia i zanieczyszczenia zbiorników wodnych
 
Oferty pracy 21.12.2012
Oferty pracy 21.12.2012Oferty pracy 21.12.2012
Oferty pracy 21.12.2012
 

Similar a 2

Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Alexander Kuzmenko
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Dmitry Chabanenko
 
Поняття змінної. Правила запису виразів
Поняття змінної. Правила запису виразівПоняття змінної. Правила запису виразів
Поняття змінної. Правила запису виразівYulia Vlasenko
 
Урок 54 8 клас
Урок 54 8 класУрок 54 8 клас
Урок 54 8 класssuser737e7f
 
основні поняття програми с++
основні поняття програми с++основні поняття програми с++
основні поняття програми с++Наталія Горя
 
General Functors
General FunctorsGeneral Functors
General FunctorsDzendzula
 
01 c# basics
01 c# basics01 c# basics
01 c# basicseleksdev
 
лаб. роб. №2 обєкти та сервіси що ними надаються
лаб. роб. №2   обєкти та сервіси що ними надаютьсялаб. роб. №2   обєкти та сервіси що ними надаються
лаб. роб. №2 обєкти та сервіси що ними надаютьсяcit-cit
 
Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1rznz
 

Similar a 2 (20)

Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++Знайомство з програмуванням на мові C++
Знайомство з програмуванням на мові C++
 
1
11
1
 
1
11
1
 
1
11
1
 
Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1Основи алгоритмізації та програмування. Лекція 1
Основи алгоритмізації та програмування. Лекція 1
 
8 11
8 118 11
8 11
 
Поняття змінної. Правила запису виразів
Поняття змінної. Правила запису виразівПоняття змінної. Правила запису виразів
Поняття змінної. Правила запису виразів
 
Урок 54 8 клас
Урок 54 8 класУрок 54 8 клас
Урок 54 8 клас
 
+1 вступ
+1 вступ+1 вступ
+1 вступ
 
Ponyattya pascal
Ponyattya pascalPonyattya pascal
Ponyattya pascal
 
основні поняття програми с++
основні поняття програми с++основні поняття програми с++
основні поняття програми с++
 
General Functors
General FunctorsGeneral Functors
General Functors
 
Функція plot() в R
Функція plot() в RФункція plot() в R
Функція plot() в R
 
Конкурсна робота
Конкурсна роботаКонкурсна робота
Конкурсна робота
 
Lab works
Lab worksLab works
Lab works
 
General Functors ...
General Functors                                                             ...General Functors                                                             ...
General Functors ...
 
01 c# basics
01 c# basics01 c# basics
01 c# basics
 
Паскаль
ПаскальПаскаль
Паскаль
 
лаб. роб. №2 обєкти та сервіси що ними надаються
лаб. роб. №2   обєкти та сервіси що ними надаютьсялаб. роб. №2   обєкти та сервіси що ними надаються
лаб. роб. №2 обєкти та сервіси що ними надаються
 
Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1Основи програмування .Паскаль ч.1
Основи програмування .Паскаль ч.1
 

Más de VeraKolodeeva (6)

4
44
4
 
3
33
3
 
2
22
2
 
2
22
2
 
4
44
4
 
3
33
3
 

2

  • 1. Мова СМова Сі++і++ Лінійні програми на Сі++
  • 2. План: 1.Структура програми 2.Засоби мови для написання лінійної програми 3.Форматований вивід на екран. 4.Форматоване введення з клавіатури. 5.Потокове уведення-виведення в Сі++
  • 3. Загальна структура програми на Сі++ наступна директиви_препроцесора визначення_функції_1 визначення_функції_2 визначення_функції_N
  • 4. Серед функцій обов'язково є присутньою головна функція з ім'ям main Проста програма містить тільки головну функцію і має наступну структуру: директиви препроцесора void main() { визначення_об'єктів; виконувані_оператори; }
  • 5. Приклад 1. Дано: а, b, с — сторони трикутника. Обчислити S — площа трикутника. По формулі Герона : де р — півпериметр трикутника.
  • 6. #include <stdio.h> #include <math.h> void main () {float a, b, c, p, s; printf("na="); scanf("%f",&a); printf("nb="); scanf("%f",&b); printf("nc="); scanf("%f",&c); p=(a+b+c)/2; s=sqrt (р(p - c)); printf("Площа трикутника=%f", s); }
  • 7. Програма складається з однієї головної функції із стандартним ім'ям main. Слово void означає відсутність якого-небудь повертаного цією функцією результату, а порожні дужки — відсутність у неї аргументів. Усе, що розміщено після заголовка функції і поміщено у фігурні дужки, можна назвати тілом функції. Перший рядок — оголошення використовуваних змінних. Усі вони плаваючого типу double. Оголошення змінних закінчується крапкою з комою.
  • 8. Подальша частина програми — виконувані оператори. Серед них оператори виводу на екран, введення даних з клавіатури, оператори привласнення. Поняття «оператор» в Сі++ трактують таким чином: будь-який вираз, після якого стоїть крапка з комою, сприймається компілятором як окремий оператор. Оператор визначає закінчену дію на черговому кроці виконання програми. .
  • 9. Якщо обчислення вираження закінчується привласненням, то його можна назвати оператором привласнення. У даній програмі є присутніми два оператори привласнення : обчислення півпериметра (р) і обчислення площі трикутника (s).
  • 10. У вираженні для обчислення площі використовується бібліотечна функція sqrt() — квадратний корінь. Ця функція відноситься до бібліотеки математичних функцій. Для підключення цієї бібліотеки до нашої програми використовується директива препроцесора #include <math.h>. Тут math.h — ім'я заголовного файлу цієї бібліотеки.
  • 12. У даній програмі оператори printf (...); і scanf (...); реалізують відповідно вивід на екран і введення початкових даних з клавіатури. Вони здійснюють звернення до відповідних функцій стандартної бібліотеки введення- виведення Сі, заголовний файл якої має ім'я stdio.h. Символи "%c" є специфікацією формату введення/виведення символьних даних, "%d" — специфікацією для цілих чисел
  • 13. Форматований вивід на екранФорматований вивід на екран Оператор виклику функції printf() має наступну структуру: printf(форматний рядок, список_аргументів); Форматний рядок обмежений подвійними лапками (тобто є текстовою константою) і може включати довільний текст, символи, що управляють, і специфікатори формату. Список аргументів може бути відсутнім або ж складатися з виразів, значення яких виводяться на екран (у окремому випадку з констант і змінних).
  • 14. У прикладі оператор printf ("nа="); містить текст ("а=") і символи ("n"), що управляють. Текст виводиться на екран в тому вигляді, в якому він записаний. Символи, що управляють, впливають на розташування на екрані знаків, що виводяться. В результаті виконання цього оператора на екран з нового рядка виведуться символи а=. Ознакою символу, що управляє, є значок .
  • 15. n - перевід строки; t – горизонтальна табуляція; r – повернення курсору к початку нової строки; a – сигнал-дзвінок; b –повернення на один символ (позицію); f – прогін сторінки; v – вертикальна табуляція
  • 16. Оператор printf ("Площа трикутника=% f", s); містить усі види параметрів функції printf. Список аргументів складається з однієї змінної s. Її значення виводиться на екран. Пара символів %f є специфікацією формату значення змінної s, що виводиться. Значок % — ознака формату, а буква f вказує на те, що число, що виводиться, має речовинний (real) (плаваючий) тип і виводиться на екран у формі з фіксованою точкою.
  • 17. Наприклад, якщо в результаті обчислень змінна s отримає значення 32,435621, то на екран виведеться: Площа трикутника=32.435621 Специфікатор формату визначає форму зовнішнього представлення величини, що виводиться. Ось деякі специфікатори формату: %c – символ; %s – строчка; %d – ціле десяткове число (int); %u – ціле десяткове без знаку; %f – дійсне з плаваючою крапкою;
  • 18. Наприклад, після виконання наступних операторів: на екран виведеться рядок: m=84.299999 k=-12 p=3.21500e+01 Тут двічі використовуваний символ табуляції , що управляє, відокремив один від одного значення, що виводилися. З цього прикладу видно, що відповідність між специфікаторами формату і елементами списку аргументів встановлюється в порядку їх запису зліва направо.
  • 19. Форматоване введення зФорматоване введення з клавіатуриклавіатури Оператор виклику функції scanf() має наступну структуру: scanf(форматний_рядок, список_аргументів); Ця функція здійснює читання символів, що вводяться з клавіатури, і перетворення їх у внутрішнє представлення відповідно до типу величин. У функції scanf() форматний рядок і список аргументів є обов'язковим. У прикладі є оператор: scanf("%f",&a); Тут "%f" — форматний рядок; &а — список аргументів, що складається з одного елементу. Цей оператор проводить введення числового значення в змінну а.
  • 20. Символьну послідовність, що вводиться з клавіатури і сприйману функцією scanf(), прийнято називати вхідним потоком. Функція scanf() розділяє цей потік на окремі величини, що вводяться, інтерпретує їх відповідно до вказаного типу і формату і привласнює змінним, що містяться в списку аргументів.
  • 21. Список аргументів — це перелік змінних, що вводяться, причому перед ім'ям кожної змінної ставиться значок &. Це знак операції «взяття адреси змінною». Форматний рядок пишеться в лапках (як і для printf) і складається зі списку специфікацій. Кожна специфікація розпочинається зі знаку %, після якого можуть слідувати *ширина поля модифікатор специфікатор
  • 22. З них обов'язковим елементом є лише специфікатор. Для введення числових даних використовуються наступні специфікатори: d — для цілих десяткових чисел (тип int); u — для цілих десяткових чисел без знаку (тип unsigned int); f — для дійсних чисел (тип float) у формі з точкою; е — для дійсних чисел (тип float) у формі з плаваючою точкою.
  • 23. Зірочка в специфікації дозволяє пропустити у вхідному потоці певну кількість символів. Ширина поля — ціле позитивне число, що дозволяє визначити число символів з вхідного потоку, що належать значенню відповідної змінної, що вводиться. Як і в специфікаціях виводу для функції printf(), в специфікаціях введення функції scanf() допустиме використання модифікаторів h, l, L
  • 24. Вони застосовуються при введенні значень модифікованих типів : hd — для введення значень типу short int; ld — для введення значень типу long int; lf, le — для введення значень типу double у формі з фіксованою і плаваючою точкою; Lf, Le — для введення значень типу long double у формі з точкою.
  • 25. У прикладі програми усі три величини а, b, c можна ввести одним оператором: scanf("%f%f%f",&a,&b,&c); Якщо послідовність введення буде такою: 5 3.2 2.4 <Enter> то змінні отримають наступні значення: а = 5,0, b = 3,2, с = 2,4. Роздільником в потоці введення між різними значеннями може бути будь-яка кількість пропусків, а також інші пробільні символи: знак табуляції, кінець рядка. Тільки після натиснення на клавішу Enter значення, що вводяться, привласняться відповідним змінним. До цього вхідний потік поміщається у буфер клавіатури і може редагуватися.
  • 26. Потокове введення-виведення в Сі++Потокове введення-виведення в Сі++ Програмуючи на мові Сі++, можна користуватися засобами введення-виведення стандартної бібліотеки Сі, що підключається за допомогою заголовного файлу stdio.h. Проте в Сі++ є свої специфічні засоби введення-виводу Це бібліотека класів, що підключається до програми за допомогою файлу iostream.h. У цій бібліотеці визначені в якості об'єктів стандартні символьні потоки з наступними іменами: сin — стандартний потік введення з клавіатури; cout — стандартний потік виводу на екран.
  • 27. Введення даних інтерпретується як витягання з потоку сin і привласнення значень відповідним змінним. У Сі++ визначена операція витягання із стандартного потоку, знак якої >>. Наприклад, введення значень в змінну х реалізується оператором cin>>x; Виведення даних інтерпретується як приміщення в стандартний потік cout значень, що виводяться. Виводитися можуть тексти, поміщені в подвійні лапки, і значення виразів. Знак операції приміщення в потік <<. Приклади використання потокового виводу : cout<<a+b; соut<<"nРезультат="<<Y; cout<<"x="<<x<<" y="<<y<<" z="<<z<<endl;
  • 28. Перепишемо програму з прикладу у варіанті з використанням потокового введення-виведення Сі++.