СТРУКТУРА НА ПРОГРАМАТА

Кирил Иларионов

k.ilarionov at gmail.com

ПЪРВА ПРОГРАМА



Време е да проверим работоспособността на средата за програмиране.

Внимавайте с малките и главните букви.
C/C++ ги възприема като различни букви.


За да проверим работоспособността ще следваме примерната програма показана на следващите два екрана:

ИЗХОДЕН КОД - SOURCE



/*
	sumAverage2nums.cpp
	Name: ILARIONOV,	Fac. Num.: 55331,	11-Aug-2010
--------
   The programm reads two numbers and prints their sum and average.
*/

#include <iostream>

using	namespace std ;

double	average (double num1, double num2) ;

ИЗХОДЕН КОД - SOURCE (Cont.)


main ()
{	
	double	a, b ;
	cout	<<"\nЕnter two numbers please " ;
	cin	>>a >>b ;
	cout	<<a <<" + " <<b <<" = " <<(a+b) <<'\t' ;
	cout	<<"The average equals to " <<average(a, b) <<'\n' ;
}

//	Returns the average of two numbers. 
double	average (double num1, double num2)
{
	return (num1+num2)*0.5 ;
}

КАК РАБОТИ ПРИМЕРНИЯ ИЗХОДЕН КОД?

КАК РАБОТИ ПРИМЕРНИЯ ИЗХОДЕН КОД? (Cont.)


#include <iostream>


using	namespace std ;

Source, прототип на функция


double	average (double num1, double num2) ;

Source, Entry Point


main ()
{	

<Списък от оператори завършващи с ; >


}	

Source, Entry Point (Cont.)


main ()
{	

<Списък от оператори завършващи с ; >


}	

Source, ДЕКЛАРИРАНЕ НА ПРОМЕНЛИВИ


double	a, b ;

Source, ДЕКЛАРИРАНЕ НА ПРОМЕНЛИВИ (Contd.)

Source, ВХОДНО-ИЗХОДНИ ОПЕРАТОРИ


cin - въвеждане на информация от устройството за стандартен вход, клавиатура обикновенно. Това променя стойностите на променливите.



   cin	>>a >>b ;
Въвеждане на данни в променливите a и b.

Source, ВХОДНО-ИЗХОДНИ ОПЕРАТОРИ (Cont.)

  • cоut - разпечатване (извеждане) на информация на устройството за стандартен изход, монитор обикновенно. Стойностите на променливите само се прочитат от ОП, т.е. запазват се.
    • 
      
      cout	<<"\nЕnter two numbers please " ;
      
      Преминава на нов ред и разпечатва текст.
      
      
      cout	<<a <<" + " <<b <<" = " <<(a+b) <<'\t' ;
      
      Извежда стоиностите на променливите a и b, сборът им, поясняващи текстове и символ за табулация.
      
      
      cout	<<"The average equals to " <<average(a, b) <<'\n' ;
      
      Извеждат се: текст, резултатът от изпълнението на функцията average и се преминава на нов ред.

Source, ИЗХОДЕН КОД НА ФУНКЦИЯ


//	Returns the average of two numbers. 
double	average (double num1, double num2)
{
	return (num1+num2)*0.5 ;
}
  • Това е изходния код на функцията average
    • Започва се с коментар описващ функцията. ПРЕПОРЪЧВА СЕ!!!
    • Вторият ред задава типа на резултата, името на функцията и списък от параметри. Този ред не завършва с ; за разлика от прототипа на функцията.
    • С двете скоби { и } се задава тялото на функцията
    • с return се изчислява и връща резултат към мястото от което е извикана функцията и функцията ни приключва с работата си.

Source, ИЗХОДЕН КОД НА ФУНКЦИЯ (Cont.)

  • Изходните кодове на функциите е прието да са след кода на функцията main
  • Изходните кодове на функциите не завършват с ;
  • Функцията main също не завършва с ;

СТРУКТУРА НА ПРОГРАМА НА C/C++

  • В нашата примерна програма операторите са групирани и подредени съобразно типичната структура на програма написана на C/C++.
    • СТРУКТУРА НА ПРОГРАМА
      • начален коментар;
      • предпроцесорни директиви;
      • деклариране на променливи, глобални за програмата;
      • прототипи на функции;
      • функция main ;
      • изходни кодове на използваните функции
        • започва се с коментар описващ:
          • предназначението на функцията;
          • евентуално начина за използването й.
  • Препоръчва се спазването на, така описаната структура на програма!!!

УПРАЖНЕНИЕ № 1



	cout <<(5+2*6) ;

Горният оператор изчислява и отпечатва стойността на аритметичния израз.
  1. Какъв резултат ще се отпечата, 42 или 17?
  2. Напишете програма с която да проверите какво се отпечатва?
  3. Защо резултатът е такъв?

УПРАЖНЕНИЕ № 2



	cout <<(b-a) ;

Горният оператор изчислява и отпечатва разликата b-a.
  • Напишете програма която за въвеждане на данни в променливите a и b, след което да отпечатва разликите:
    • a-b
    • b-a

УПРАЖНЕНИЕ № 3


Напишете програма която да въвежда стойности в променливите a, b и c, след което да отпечатва сумата им.
Изход