Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Muasir proq dil C++.doc
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
7.31 Mб
Скачать

3.7. Tiplərin çevrilməsi

İfadələrdə eyni tipli operandlardan istifadə etmək əlve­riş­­lidir. La­kin C/C++ dili tiplərin çevrilməsini mümkün sa­yır, yəni əgər operatorun operandları müxtəlif tiplərə ma­lik­­­­dirsə, onda onlar müəyyən ümumi bir tipə gətirilə bilər.

Gətirilmə qaydaları bunlardır:

  1. avtomatik olaraq yalnız qiymətlər diapazonu kiçik olan­ operandları qiymətləri böyük olan operandlara çevirən tə­ləb­­lər yerinə yetirilir, belə ki, bu heç bir informasiyanın itmə­­məsi daxilində baş verir. Məsələn:

int i;

float f, summa;

- - - - - - - - - - -

i = 5; f=2.5;

summa=i+f;

- -- - - - - - - - - -

  1. mənası olmayan ifadələr (məsələn, sürüşkən vergüllü ədəd­­­lər indeks rolunda) translyator tərəfindən hətta trans­lya­si­ya mərhələsində olduqda belə buraxılmırlar. Məsələn,

float f;

- - - - - -

mas [f]=25; // translyasiya səhvi verir;

  1. informasiyanın itə biləcəyi ifadələr (məsələn, uzun tam­­la­­rın daha qısa tamlara mənimsədilməsində), xəbər­dar­lıq tö­rə­də bilərlər (warning), lakin onlar mümkündürlər. Məsə­lən,

int i;

float f;

f=3.2;

i=f;

İstənilən ifadə üçün tipin gətirilməsi adlanan unar opera­to­run­dan istifadə edərək aşkar şəkildə onun tipinin çev­­­­rilməsini gös­tərmək olar. Məsələn,

(Tipin adı) ifadə

şəklində konstruksiya ifadəni yuxarıda sadalanan qaydalar üz­rə göstərilən tipə gətirir. Məsələn,

(int) i= 2.5*3.2

Müstəqil işləmək üçün tapşırıqlar

  1. Tənliyi həll edin: 8x (bit) = 32 (Kbayt).

  2. Tənliklər sistemini həll edin:

  1. Aşağıdakı riyazi ifadələri C/C++ proqramlaşdırma dilində yazın:

  1. ;

  2. ;

  3. ;

  4. ;

  5. ;

  6. ;

  7. ;

  8. ;

  9. ;

  1. x dəyişəninə -1,5 qiymətini mənimsədən ifadə yazın.

  2. Sum dəyişəninə sıfır qiyməti mənimsədən ifadə yazın.

  3. Silindirin səthinin sahəsini və həcmini hesablamaq üçün lazım olan dəyişənlərin elan edilməsi və mənimsətmə konstruksiyalarını yazın.

  4. “C/C++ proqramlaşdırma dili” məlumatını ekrana çıxa­ran operator yazın.

  5. Aşağıdakı operatorlardan hansı ifadəsinin C/C++ di­lində yazılışıdır?

  1. Üç tam ədədin klaviaturadan daxil edilməsi və onların x, y, c dəyişənlərində yadda saxlanılması üçün operator ya­zın.

  2. Aşağıdakı operatorları riyazi dildə ifadə edin:

  1. 2*b*c*cos(a/2)/(b+c);

  2. a/sin(b);

  3. abs(2*sin(-3*abs(x/2)));

  4. (a+b)/(b+c);

  5. (a*x+b)/(c*x+d);

  6. 4*r*sin(a/2)*sin(b/2)*sin(c/2).

4. Xətti və budaqlanan alqoritmlərin proqramlaşdırılması

4.1. Xətti alqoritmlərin proqramlaşdırılması

Proqramlar xətti, budaqlanan, dövrimürəkkəb olur­lar.

Xətti proqramlar – operatorlar əvvəldən axıradək bir-bi­ri­­nin ar­dınca yerinə yetirilirlər (təkrar olunmayaraq və ye­ri­nə­ ye­tirilmə ardıcıllığını dəyişmədən).

Xətti proqramlara –mənimsətmə operatorları, riyazi funk­si­ya­lar, hesab əməlləri və giriş/çıxışla bağlı funksiyalar və ope­­­ra­torların ardıcıllığını pozmayan digər operatorlar da­xildir. C/C++ dilində istifadə olunan bəzi riyazi funksiyalar Cədvəl 4.1-də verilmişdir.

Cədvəl 4.1. C/C++ dilində istifadə olunan riyazi funksiyalar.

Funksiya­nın adı

Funksiya­nın işarəsi

Tip

Təsvir faylının adı

Qayta-rılan qiymət

Arqu-ment

mütləq qiymət

arkkosinus

arksinus

arktangens

kosinus

sinus

ex

xy qüv. f-sı

natural loq­­

onluq loq

kvarat kök

tangens

abs(x)

cabs(x)

fabs(x)

acos(x)

asin(x)

atan(x)

cos(x)

sin(x)

exp(x)

pow(x,y)

log(x)

log10(x)

sqrt(x)

tan(x)

int

double

float

double

double

double

double

double

double

double

double

double

double

double

int

double

float

double

double

double

double

double

double

double

double

double

double

double

<stdlib.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

<math.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]