Задача Да се напише програма която извежда на екрана думите „Hello Peter. #include void main { cout }



Дата22.07.2016
Размер162.87 Kb.

  1. Седмица

Тема на упражнението: Езикът за програмиране С++

Задача 1. Да се напише програма която извежда на екрана думите „Hello Peter”.

#include

void main()

{

cout << "Hello Peter";



}

Задача 2. Да се напише програма, която извежда на екрана думите „ Hello Ivan” и на следващ ред “ How are you?”

#include

void main()

{

cout << "Hello Ivan"<<”\n”;



cout << "How are you?"<<”\n”;

}

Задача 3. Програма, която демонстрира оператора goto.

#include

void main()

{

cout << "Hello Ivan"<<”\n”;



goto ss;

cout << "How are you?"<<”\n”;

ss:

}


  1. Седмица

Тема на упражнението: Система от типове в С++
Задача 1. Да се напише програма, в която се декларира целочислена променлива с име А инициализира се А със стойност 2 и се извежда на екрана стойността на А.

#include

void main()

{

int A=2;



cout << "A="<<”\n”;

}

Задача 2. Да се напише програма, която намира лицето на окръжност с радиус 2см.

#include

void main()

{

float pi=3.14;



int r=2;

cout << "Liceto na okrujnostta e s="<

}

Задача 3. Да се напише програма, която намира периметъра и лицето на правоъгълник със страни 2,3 и 3,7.
­­#include

void main()

{double a = 2.3;

double b = 3.7;

double p, s;

p = 2*(a+b);

s = a*b;

cout << "p= " << p << "\n";

cout << "s= " << s << "\n";

}

Задача 4. Да се напише програма, която намира обема на куб със страна А, която се въвежда от клавиатурата.



#include

void main()

{

double a;



cout<<”Vuvedtet duljinata na stranata a=”;

cin>>a;


double v=a*a*a;

cout<<”Obema na kuba e V=”<

}

Задача 5. Да се напише програма, която въвежда радиуса на окръжност и намира и извежда дължината на окръжността и лицето на кръга с дадения радиус.



#include

const double PI = 3.14159265;

void main()

{ double r;

cout << “r= “;

cin >> r;

double p = 2 * PI * r;

double s = PI * r * r;

cout << “p=” << p << “\n”;

cout << “s=” << s << “\n”;

}

Задача 6. Да се напише програма, която изчислява


#include

#include

void main()

{double a,b;

cout<<"vuvedete a=";cin>>a;

cout<<"vuvedete b=";cin>>b;

double y=(pow(a,3)+pow(b,4))/sqrt(a);

cout<<"y="<

}


  1. Седмица

Тема на упражнението: Дискретни типове, дефинирани от програмиста.
Задача 1. Да се напише програма, която прочита трицифрено число въведено от клавиатурата и извежда на отделни редове цифрите на стотиците, десетиците и единиците.
#include

void main()

{int a;

cout<<"vavedete tricifreno chislo:";cin>>a;



int b,c,d;

b=a/100;


c=a/10%10;

d=a%10;


cout<<"Stotici:"<cout<<"Desetici:"<

cout<<"Edinici:"<

}

Задача 2. Да се напише програма, която прочита от клавиатурата две цели числа и извежда на екрана резултата от делението им.


#include

void main()

{int a;

cout<<"vavedete chislo:";cin>>a;



int b;

cout<<"vavedete chislo:";cin>>b;

float c=(float)a/b;

cout<<"Rezultat:"<

}

Задача 3. Да се напише която, при въведено от клавиатурата число за ден от седмицата определя дали е понеделник или не.

#include


enum Days

{

saturday,



sunday = 0,

monday,


tuesday,

wednesday,

thursday,

friday


};
void main() {

  enum Days today = sunday;

  switch (today)

{

  case 1: cout << "\nIt's Monday" << endl;break;



  default: cout << "\nNot Monday" << endl;

  }


}

Задача 4. Програмата демонстрира setprecision( )

#include

#include

void main()

{double a = 209.5, b = 63.75658;

cout << setprecision(3)



<< setiosflags(ios::fixed);

cout << setw(10) << a << "\n";

cout << setw(10) << b << "\n";

cout << resetiosflags(ios::fixed);

cout << setw(20) << a << "\n";

cout << setw(20) << b << "\n";

}


  1. Седмица

Тема на упражнението: Оператори за последователност.

Задача 1. Да се напише програма, която определя дали дадено число въведено от клавиатурата е четни или нечетно.

#include

void main()

{int a;


cout<<"Vavedete chislo:";cin>>a;

if(a%2==0)

cout<<"Chisloto e chetno!"<

else


cout<<"Chisloto e nechetno!"<}

Задача 2. Да се напише програма, която при число въведено от клавиатурата го увеличава с 3 ако е положително и увеличава с 2 ако е отрицателно.


#include

void main()

{int a;

cout<<"Vavedete chislo:";cin>>a;



if(a>0)

{cout<<"Chisloto e polojitelno!"<

else

{cout<<"Chisloto e otricatelno!"<

}

Задача 3. Да се напише програма, която намира най-голямото от три числа въведени от клавиатурата.

#include

void main()

{int a,b,c;

cout<<"vavedete a=";cin>>a;

cout<<"vavedete b=";cin>>b;

cout<<"vavedete c=";cin>>c;

if(a>b && a>c)

cout<<"A is maximum!"<

else if(b>a && b>c)

cout<<"B is maximum!"<

else


cout<<"C is maximum!"<}

Задача 4. Да се напише програма, която при зададени дължини на трите страни от клавиатурата определя дали триъгълника е равностранен, равнобедрен или разностранен.

#include

#include

void main()

{double a,b,c;

cout<<"vavedete a=";cin>>a;

cout<<"vavedete b=";cin>>b;

cout<<"vavedete c=";cin>>c;

bool x=a<=0 || b<=0 || c<=0 || a+b<=c || a+c<=b || b+c<=a;

if(x)

cout<<"No surch triugalnik!"<

else if(a==b && b==c)

cout<<"Triugalnika e ravnostranen!"<

else if (a==b || b==c || a==c)

cout<<"triugalnika e ravnobedren"<

else

cout<<"triugalnika e raznostranen"<

}


  1. Седмица

Тема на упражнението: Оператори за последователност.
Задача 1. Да се напише програма, която демонстрира оператора за избор на варианти.
#include

void main()

{char figura;

double a,b,r,h,S;

cout<<"Vuvedete kod na figura O-okraj;T-triag;P-prav;K-kvadr:";

cin>>figura;

switch(figura){

case'O':cout<<"Vuvedete radius r=";cin>>r;S=3.14*r*r;

cout<<"Liceto na okraj. e S="<

case'T':cout<<"Vuvedete strana a=";cin>>a;cout<<"Vuvedete visochina

h=";cin>>h;S=(a*h)/2;

cout<<"Liceto na triag. e S="<

case'P':cout<<"Vuvedete strana a=";cin>>a;cout<<"Vuvedete strana

b=";cin>>b;S=a*b;

cout<<"Liceto na pravoag. e S="<

case'K':cout<<"Vuvedete strana a=";cin>>a;S=a*a;

cout<<"Liceto na kvadr. e S="<

default:cout<<"Greshen kod!"<

}

}

Задача 1. Да се напише програма, която по зададено реално число x намира стойността на един от следните изрази:



y = x - 5

y = sin(x)

y = cos(x)

y = exp(x).

#include

#include

void main()

{cout << "=================================\n";

cout << "| y = x-5 -> 1 |\n";

cout << "| y = sin(x) -> 2 |\n ";

cout << "| y = cos(x) -> 3 |\n";

cout << "| y = exp(x) -> 4 |\n";

cout << "=================================\n";

cout << " 1, 2, 3 or 4? \n";

int i;

cin >> i;



if (i == 1 || i == 2 || i == 3 || i == 4)

{cout << "x= ";

double x;

cin >> x;

double y;

switch (i)

{case 1: y = x - 5; break;

case 2: y = sin(x); break;

case 3: y = cos(x); break;

case 4: y = exp(x); break;

}

cout << "y= " << y << "\n";



}

else


cout << "Greshen Izbor! \n";

}


  1. Седмица

Тема на упражнението: Циклични алгоритми: Оператор for.
Задача 1. Да се напише програма, която по дадено естествено число n, намира факториела му.
#include

int main()

{cout << "n= ";

int n;


cin >> n;

if (!cin)

{cout << "Error. Bad Input! \n";

return 1;

}

if (n <= 0)



{cout << "Incorrect Input! \n";

return 1;

}

int fact = 1;



for (int i = 1; i <= n; i++)

fact = fact * i;

cout << n << "! = " << fact << "\n";

return 0;

}
Задача 2. Област на променливите, дефинирани в заглавната част на for.


for (int i = 1; i <= n; i++)

{…

}



for (i = 1; i <= m; i++)

{…

}


Областта на променливата j от програмния фрагмент:

for (int i = 1; i <= n ; i++)

for (int j = 1; j <=m; j++)

{ …


}

в края на оператора for (int i = 1; …) …, т.е.

for (int i = 1; i <= n ; i++)

for (int j = 1; j <=m; j++)

{ …

}

for (j = …; ….) {…}



ще издаде съобщение за грешка заради недефинирана променлива j.

Аналогично, фрагментът ще съобщи за недефинирана променлива k

#include

int main()

{for (int i = 1; i<=3; i++)

{for (int j = 1; j<=3; j++)

{for (int k = 1; k<=3; k++)

cout << j << " " << k <<"\n";

}

cout << i << " " << k;



}

return 0;

}

тъй като областт на променливата k завършва в края на оператора for (int j = 1; ….



Препоръка: При вложени оператори for да не се дефинират променливи в заглавните части на операторите.

Използвайте оператора for само за реализиране на индуктивни циклични процеси. Освен това, ако for има вида:

for (i = start; i < (или i <= ) end; i = i + increment)

{ …


}

не променяйте i, start, end и increment в тялото на цикъла. Това е лош стил за програмиране. Ако цикличният процес, който трябва да реализирате, не се вмества в тази схема, не използвайте оператора for.
Задача 3. Д
а се напише програма, която по дадени x – реално и n – естествено число, пресмята сумата
Програма Zad28.cpp решава задачата.

// Program Zad28.cpp

#include

int main()

{cout << "x= ";

double x;

cin >> x;

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

cout << "n= ";



short n;

cin >> n;

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

if (n <= 0)



{cout << "Incorrect input! \n";

return 1;

}

double x1 = 1;



double s = 1;

for (int i = 1; i <= n; i++)

{x1 = x1 * x / i;

s = s + x1;

}

cout << "s= " << s << "\n";



return 0;

}


  1. Седмица

Тема на упражнението: Циклични алгоритми: Оператор while.
Задача 1. Да се напише програма, която по дадени реални числа x и  ( > 0), приближено пресмята сумата
Сумирането да продължи докато абсолютната стойност на последното добавено събираемо стане по-малка от .

#include

#include

int main()

{cout << "x= ";

double x;

cin >> x;

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

cout << "eps= ";



double eps;

cin >> eps;

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

if (eps <= 0)



{cout << "Incorrect input! \n";

return 1;

}

double x1 = 1;



double s = 1;

int i = 1;



while (fabs(x1) >= eps)

{x1 = x1 * x / i;

s = s + x1;

i++;

}

cout << "s=" << s << "\n";

return 0;

}
Задача 2. Да се напише програма, която намира факториела на дадено естествено число. За целта да се използва операторът while.


#include

int main()

{cout << "n= ";

int n;


cin >> n;

if (!cin)

{cout << "Error. Bad Input! \n";

return 1;

}

if (n <= 0)



{cout << "Incorrect Input! \n";

return 1;

}

int fact = 1;



int i = 1;

while (i <= n)

{fact = fact * i;

i++;


}

cout << n << "! = " << fact << "\n";

return 0;

}
Задача 3. Да се напише програма, която въвежда от клавиатурата редица от цели числа и намира средноаритметичното им. Въвеждането да продължава до въвеждане на 0.


#include

int main()

{int count = 0;

double average = 0;

cout << "> ";

int number;

cin >> number;

while (number != 0)

{count++;

average = average + number;

cout << "> ";

cin >> number;

}

if (count != 0) average = average/count;



cout << "average= " << average << "\n";

return 0;

}


  1. Седмица

Тема на упражнението: Циклични алгоритми: Оператор do/while. Вложени цикли.
Задача 1. Да се напише програма, която намира произведението на целите числа от m до n, където m и n са дадени естествени числа и m ≤ n. За целта да се използва операторът do/while.
#include

int main()

{cout << "m= ";

int m;


cin >> m;

if (!cin)

{cout << "Error. Bad Input! \n";

return 1;

}

if (m <= 0)



{cout << "Incorrect Input! \n";

return 1;

}

cout << "n= ";



int n;

cin >> n;

if (!cin)

{cout << "Error. Bad Input! \n";

return 1;

}

if (n <= 0)



{cout << "Incorrect Input! \n";

return 1;

}

if (m > n)



{cout << "Incorrect Input! \n";

return 1;

}

int prod = 1;



int i = m;

do

{prod = prod * i;



i++;

} while (i <= n);

cout << prod << "\n";

return 0;

}
Задача 2. Нека a е неотрицателно реално число. Да се напише програма, която приближено пресмята квадратен корен от a по метода на Нютон.

У
пътване:
(метод на Нютон) Дефинира се редица от реални числа x0, x1, x2, x3, … по следния начин:
Сумирането продължава докато абсолютната стойност на разликата на последните два констуирани елемента на редицата стане по-малка от , >0, е дадено достатъчно малко реално число.
#include

#include

#include

int main()

{cout << "a= ";

double a;

cin >> a;

if (!cin)

{cout << "Error! Bad Input! \n";

return 1;

}

if (a < 0)



{cout << "Incorrect Input! \n";

return 1;

}

cout << "eps= ";



double eps;

cin >> eps;

if (!cin)

{cout << "Error! Bad Input! \n";

return 1;

}

if (eps <= 0 || eps > 0.5)



{cout << "Incorrect Input! \n";

return 1;

}

double x0;



double x1 = 1;

do


{x0 = x1;

x1 = 0.5*(x0 + a/x0);

} while (fabs (x1-x0) >= eps);

cout << setprecision(6) << setiosflags(ios :: fixed);

cout << "sqrt(" << a << ")= " << setw(10) << x1 << "\n";

return 0;

}
Задача 3. Задача 43. Да се напише програма, която проверява дали съществува решение на деофантовото уравнение a1.x1 + a2.x2 + a3.x3 + a4.x4 = a в интервала [p, q], където a1, a2, a3, a4, a, p и q са дадени цели числа, pВ решението са пропуснати дефинициите и въвеждането на стойности на променливите a1, a2, a3, a4, a, p и q, тъй като са правени преди. Условието pint main()

{…

if (p>=q)



{cout << "Incorrect Input!\n";

return 1;

}

int x1 = p;



bool b;

do

{int x2 = p;



do

{int x3 = p;

do

{int x4 = p;



do

{b = a1*x1 + a2*x2 + a3*x3 + a4*x4 == a;

x4++;

} while (!b && x4 <= q);



x3++;

} while (!b && x3 <= q);

x2++;

} while (!b && x2 <= q);



x1++;

} while (!b && x1 <= q);

if (b) cout << "yes\n";

else cout << "no\n";

return 0;

}



  1. Седмица

Тема на упражнението: Скаларни типове – символен тип.
Задача 1. Да се напише програма, която въвежда малка буква от латинската азбука и извежда съответната й главна буква.

#include

int main()

{char c;


cin >> c;

if (c < 'a' || c > 'z')

{cout << "Incorrect Input! \n";

return 1;

}

cout << (char)(c - 'a' + 'A') << '\n';



return 0;

}
Задача 2. Да се напише програма, която извежда цифрите, главните и малките букви на латинската азбука и ASCII кодовете им. Всеки символ и кодът му да са на един и същ ред. За разделител между символ и код да служи знакът за хоризонтална табулация.

#include

int main()

{for(char ch = '0'; ch <= '9'; ch++)

cout << ch << '\t' << (int)ch << '\n';

for(ch = 'A'; ch <= 'Z'; ch++)

cout << ch << '\t' << (int)ch << '\n';

for(ch = 'a'; ch <= 'z'; ch++)

cout << ch << '\t' << (int)ch << '\n';

return 0;

}
Задача 3. Да се напише програма, която извежда върху екрана следната таблица:

A B C D E

B C D E F

C D E F G

D E F G H

E F G H I
#include

int main()

{

for(int i = 0; i<5; i++)



{

for(ch = chr(65+i); ch <= chr(65+i+5); ch++)

cout << ch << ' ‘;

cout << endl;

}

return 0;



}


  1. Седмица

Тема на упражнението: Структура данни от тип масив. Преговор и обобщение на изучаваното през триместъра.
Задача 1. Да се напише програма, която въвежда последователно n числа, след което ги извежда в обратен ред.

#include

int main()

{double x[100];

cout << "n= ";

int n;


cin >> n; // въвеждане на стойност за n

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

if (n < 0 || n > 100)



{cout << "Incorrect input! \n";

return 1;

}

// n е цяло число от интервала [1, 100]



// въвеждане на стойности за елементите на масива x

for (int i = 0; i <= n-1; i++)

{cout << "x[" << i << "]= ";

cin >> x[i];

if (!cin)

{cout << "Error. Bad Input! \n";

return 1;

}

} // извеждане на елементите на x в обратен ред



for (i = n-1; i >= 0; i--)

cout << x[i] << "\n";

return 0;

}
Задача 2. Дадени са редицата от цели числа a0, a1, …, an-1 (n ≥ 1) и цялото число x. Да се напише програма, която намира колко пъти x се съдържа в редицата.


#include

int main()

{int a[20];

cout << "n= ";

int n;

cin >> n; // въвеждане на дължината на редицата



if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

if (n < 1 || n > 20)



{cout << "Incorrect input! \n";

return 1;

}

// въвеждане на редицата



int i;

for (i = 0; i <= n-1; i++)

{cout << "a[" << i << "]= ";

cin >> a[i];

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

}



// въвеждане на стойност за x

int x;


cout << "x= ";

cin >> x;

if (!cin)

{cout << "Error. Bad input! \n";

return 1;

}

// намиране на броя br на срещанията на x в редицата



int br = 0;

for (i = 0; i <= n-1; i++)

if (a[i] == x) br++;

cout << "number = " << br << "\n";

return 0;

}
Задача 3. Дадени са редицата от цели числа a0, a1, …, an-1 (n ≥ 1) и цялото число x. Да се напише програма, която проверява дали x се съдържа в редицата.


#include

int main()

{int a[20];

i = 0;



while (a[i] != x && i < n-1)

i++;


if (a[i] == x) cout << "yes \n";

else cout << "no \n";

return 0;

}
Задача 4. Да се напише програма, която установява, дали редицата от цели числа a0, a1, ..., an-1 е монотонно намаляваща.


#include

int main()

{int a[100];

// дефиниране и въвеждане на стойност на n

// въвеждане на масива а



int br = 0;

for (i = 0; i <= n-2; i++)

if (a[i] >= a[i+1]) br++;

if (br == n-1) cout << "yes \n";

else cout << "no \n";

return 0;

}
Второ решение (по-ефективно):


#include

int main()

{int a[100];

//въвеждане на размерността n и масива a

i = 0;


while (a[i] >= a[i+1] && i < n-2) i++;

if (a[i] >= a[i+1]) cout << "yes \n";

else cout << "no \n";

return 0;



}


База данных защищена авторским правом ©obuch.info 2016
отнасят до администрацията

    Начална страница