Глинський Я.М. Вправи с. 13

Завдання

Типи користувача

Оголошення:

typedef <опис типу> <назва нового типу>;

Приклад:

typedef unsigned short int kilkist;

kilkist k1,k2;

Присвоєння

Загальний вигляд:

<назва змінної>=<вираз> або < назва змінної 1>=…=< назва змінної N>=< вираз >

Приклад: а=8-2; c=d=a+4; e=d/5+c;

Узгодження типів:

· Явне – Int b,a; float c;

a=2; c=3.8; b=(int)c*a;// результат 3*2 (дробову частину відкинене) b=6

b=(int)(c*a);// результат 3.8*2=7.6 b=7

· Неявне - b=c*a;// результат 3.8*2=7.6 b=7 (дробову частину відкинене)

Узгодження типів у виразах відбувається з урахуванням пріоритетів типів. Пріоритет типів за їхнім спаданням: double, float, long, int, short


1. Створіть програму з обміном значень двох змінних

2. Нехай задано сторони прямокутного чотирикутника а=3, в=4. Знайти периметр і площу трикутника

3. Описати відповідні змінні та вивести власну дату народження

Розв’язки завдань

  1. Опишіть
    1. Дві змінні x і a цілого типу – int x; int a; (int x,a;)
    2. Дві змінні дійсного типу – float x1,a1;
    3. Дві змінні символьного типу – char a2,b;
    4. Int x=1; a=3; float x1=0, a1=3.5; char a2=’a’, b=’b’;
  2. Створить тип даних користувача cina, значеннями якого є невід’ємні ціді числа – typedef unsigned char cina; (char -> short int, long int)
  3. Які значення можуть набувати змінні типу vaga, якщо typedef unsigned long int vaga? – 0…4294967295
  4. Опишіть тип користувача balans із допустимими значеннями даних з діапазону від –32000 до 32000 – typedef int balans;

 



Задача № 1

#include <iostream.h>

#include <conio.h>

int main()

{

int x=1, y=2; int temp;

temp=x;

x=y;

y=temp;

cout<<x<<”\t”<<y;

getch ();

return 0;

}


Задача № 2

#include <iostream.h>

#include <conio.h>

int main()

{

int a=3, b=4; int p; float s;

p=2*(a+b);

s=a*b;

cout<<”p=”<<p<<” s=”<<s<<endl;

getch ();

return 0;

}


Задача № 3

#include <iostream.h>

#include <conio.h>

int main()

{

int d, m, r;

d=12; m=1; r=1963;

cout<<d<<”\t”<<m<<”\t”<<r;

getch ();

return 0;}



Розв’язки завдань


Задача № 2a

#include <iostream.h>

#include <conio.h>

int main()

{

cout<<”1. “<<”\t Algebra”<<”\n”;

cout<<”2. “<<”\t Ukr. mova”<<”\n”;

cout<<”3. “<<”\t Geografia”<<”\n”;

cout<<”4. “<<”\t Informatika”<<”\n”;

getch ();

return 0;

}

Задача № 2b

#include <iostream.h>

#include <conio.h>

int main()

{

cout<<” v. Petrovskogo”<<endl;

cout<<”b. 30”<<”\n”;

getch ();

return 0;

}

Задача № 2c

#include <iostream.h>

#include <conio.h>

int main()

{

float r=1; float L, s;

s=3.1415926*r*r;

L=2*3.1415926*r;

cout<<”s=”<<s<<”\t L=”<<L<<endl;

getch ();

return 0;

}


Задача № 2d

#include <iostream.h>

#include <conio.h>

int main()

{

float a=5, b=4, c=3; float p;

p=a+b+c;

cout<<”p=”<<p<<endl;

getch ();

return 0;

}

Задача № 2e

#include <iostream.h>

#include <conio.h>

int main()

{

float d=2; float L, s;

s=3.1415926*d*d/4;

L=3.1415926*d;

cout<<”s=”x<<s<<”\t L=”<<L<<endl;

getch ();

return 0;

}

Задача № 2f

#include <iostream.h>

#include <conio.h>

int main()

{

float a=1, b=2, c=2; float p;

p=a+2*b+c;

cout<<”p=”<<p<<endl;

getch ();

return 0;

}


Задача № 2g

#include <iostream.h>

#include <conio.h>

int main()

{

int m1=10, m2=15, m3=12;

float s1, s2, s3, s;

s1=8.5*m1; s2=2.4*m2; s3=4.1*m3;

s=s1+s2+s3;

cout<<”s1=”<<s1<<”\t s2=”<<s2

<<”\t s3=”<<s3<<”\t s=”<<s<<endl;

getch ();

return 0;

}

Задача № 2h

#include <iostream.h>

#include <conio.h>

int main()

{

cout<<”doba=”<<24*60*60<<endl;

cout<<”t= “<<7*24*60*60<<endl;

cout<<”r= “<<365*24*60*60<<endl;

getch ();

return 0;

}

 

 



 

Приклади (Слайд № 4)

Нехай x=3, y=5. Тоді

  • x==y – false
  • x!=y – true
  • x>y – false
  • x<=(y-2) – true
  • 2*-5+4=-6
  • 2*(-5+4)=-2
  • 7%3=1
  • 12/4-2=1
  • 12/(4-2)=6
  • 7%3*-5=-5

 

Команда присвоєння, суміщена з арифметичною операцією

  • x+=y рівносильне x=x+y
  • x-=y рівносильне x=x-y
  • x*=y рівносильне x=x*y
  • x/=y рівносильне x=x/y

Приклад:

· a+=10 рівносильне a=a+10

· b*=4 рівносильне b=b*4

Операцій збільшення й зменшення

Збільшення значення змінної на одиницю i=i+1 мова С++ дозволяє скоротити:

· i++ (постфіксна операція інкременту)

· ++і (префіксна операція інкременту)

Зменшення значення змінної на одиницю
i=i-1 мова С++ дозволяє скоротити:

· i-- (постфіксна операція декременту)

· --і (префіксна операція декремкнту)

Увага! Форма збільшення (зменшення) впливає на порядок виконання операцій у виразах