17100

Операції С, їхні пріоритети і використання. Перетворення типів

Лабораторная работа

Информатика, кибернетика и программирование

Лабораторна робота № 12 Тема: Операції С їхні пріоритети і використання.Перетворення типів Ціль роботи: Вивчити основні логічні арифметичні й інші операції С навчитися правильно складати вираження С вивчити пріоритети операцій С навчитися використовувати перетвор...

Украинкский

2013-06-29

155 KB

6 чел.


Лабораторна робота № 12

Тема: Операції С, їхні пріоритети і використання.Перетворення типів

Ціль роботи: Вивчити основні логічні, арифметичні й інші операції С, навчитися правильно складати вираження С, вивчити пріоритети операцій С, навчитися використовувати перетворення типів.

Обладнання: ПК,ПО Borland C++

Теоретичні відомості

Мова С++ має могутню арифметичну і логічну основу, що дозволяє швидко, компактно й ефективно писати код програми. У С++ розроблена безліч базових арифметичних і логічних операцій, а також функції бібліотеки математичної підтримки мови. Операндами операцій можуть бути вираження визначених видів, що залежать від операції. У найпростішому випадку операндами є перемінні. Перемінні, перш ніж вони будуть використані, повинні бути оголошені з визначеним специфікатором типу.

Таблиця 6.1 - припустимі операції над перемінними

АРИФМЕТИЧНІ ОПЕРАЦІЇ

Операція

Пояснення

Приклад

*

Множення

A=b*c;

/

Розподіл (для цілих – нацело)

a=b/c;

%

Залишок від розподілу (для цілих)

a=b%c;

(операція x( =

+ = ;

- = ;

* = ;

/ = ;

% =

складене присвоювання

Змінити і замінити

a+=3; чи a=a+3; a%=c; чи a=a%c;

++

Инкремент(збільшити на 1)

с++ ; чи з=з+1;  + + а

--

Декремент(зменшити на 1)

с-- ; чи з=з-1;  - - а

+

Бінарний плюс (додавання)

A=b+c;

-

Бінарний мінус (вирахування)

A=b-c;

ЛОГІЧНІ ОПЕРАЦІЇ

Операція

Пояснення

Приклад

&&

"І"

a&&b

||

"ЧИ"

a||b

!

"НЕ"

!a

==

"ДОРІВНЮЄ"

a= =b

!=

"НЕ ДОРІВНЮЄ"

a!=b

>

"БІЛЬШЕ"

a>b

>=

" ЧИБІЛЬШЕ ДОРІВНЮЄ"

a>=b

<

"МЕНШЕ"

a<b

<=

" ЧИМЕНШЕ ДОРІВНЮЄ"

a<=b

ПОБІТОВІ ОПЕРАЦІЇ (ПОРАЗРЯДНІ)

Операція

Пояснення

Приклад

&

“І” (and)

1&1=1; 1&0=0  ;0&0=0;

|

“ЧИ” (or)  

1  |  1=1 ; 1  | 0 =1  ; 0 | 0=0;

^

“ ЩОВИКЛЮЧАЄ ЧИ”

(xor)  1^1 = 0 ; 1 ^ 0=1  ; 0^0=0;

~

“ЗАПЕРЕЧЕННЯ” (not)

~1=0;   ~0=;

<<

“ЗРУШЕННЯ ВЛІВО” (shl)

0001b<<2=0100b; (буква b означає що число двоичне)

>>

“ЗРУШЕННЯ  ВПРАВО” (shr)  

0010b >> 1=0001b;

операція= 

складене присвоювання. Змінити і замінити, де операція може  бути: &,|,^,>>,<<. 

а&=b чи a = &b

a^=b чи a = a^b

a<<=b чи a<<b

Пріоритет операцій і порядок виконання (ассоциативність)

Пріоритет і ассоциативність операцій впливають на порядок групування операндов і порядок обчислень у вираженнях С. Наприклад, пріоритет виконання операцій необхідно враховувати при складанні складних арифметичних формул.

Операції, приведені в одній групі таблиці, мають однаковий пріоритет і ассоциативность. Порядок убування пріоритету зверху вниз.

Таблиця 6.2 - Пріоритет операцій

Пріоритет

Знак операції

Тип операції

Ассоциативность (порядок виконання)

  1.  

() [ ] .–>

Первинні

→ ліворуч праворуч

  1.   

– ~ ! * & ++ -- sizeof, приведення типів ( )

Унарні


праворуч ліворуч

  1.  

*       /       %

Мультиплікативні

  1.  

+       -

Аддитивні

  1.  

<<       >>

Зрушення

  1.  

<   >    <=     > =

Відношення

  1.  

= =        ! =

Відношення

  1.  

&

Поразрядн е "і"

  1.  

^

Поразрядне исключающее "чи"

  1.  

|

Поразрядне включающее "чи"

  1.  

&&

Логічне  "і"

Продовження таблиці 6.2

Пріоритет

Знак операції

Тип операції

Ассоциативность (порядок виконання)

  1.  

| |

Логічне "чи"

  1.  

?   :

Умовна (тернарная)

  1.  

=

* =

/  =

%  =

Просте і складене присвоювання

  1.  

+  =

–  =

<< =

>> =

  1.  

& =

|  =

^  =

  1.  

,

Послідовне обчислення

Якщо кілька операцій одного пріоритету зустрічаються у вираженні, то вони застосовуються відповідно до ассоциативністью.

Приклади. а = b&хFF + 5; // обчислюється як а = b&(х FF + 5);

 b=а + з >> 1; // як b=(а +с) >> 1;

 з = а + + + b/5; // як з=(а + +) + ( b/5);

Мультиплікативні, аддитивні і поразрядні операції мають властивість коммутативности. Компілятор обчислює вираження з урахуванням пріоритету в будь-якому порядку, навіть якщо є дужки. Визначений порядок обчислення (,) операндів гарантують операції: послідовного обчислення, логічні «И» (&&) і «ЧИ» (), умовна операція (? :).

Коми у викликах функцій не є операціями послідовного обчислення і не забезпечують гарантій обчислення ліворуч праворуч. Логічні операції обчислюють мінімальне число операндів, необхідних для визначення результатів вираження.

func (i + 1, i = j + 2);        //. Не гарантує порядок обчислення фактичних

// аргументів

i= 0;                                  // i має тип int за замовчуванням

a [++ i] = i;          // порядок обчислення лівого і правого операндів не
                                         // гарантуються
a [0] = 0 чи a[1]=1

(x - 5) && ++ i                 // Якщо x =5, те ++ i не обчислюється

int x, y, z, f();

z = x > y  f(x, y);              // Якщо x > y, те значення z = 1 «Істина», а f( ) -ні

                                         // викликається

        // якщо x y, те f() викликається, тоді z=0,

                                       // якщо f( ) повертає нульове значення, чи z = 1,

                                        // якщо f( ) повертає не нульове значення

                                         // printf (“%d %d \n“, ++n, p()2, n)  

                                          // у функцію може передаватися n чи n+1.

Перетворення типів

У вираженнях С перемінні різних типів у ряді випадків можуть використовуватися спільно; наприклад, перемінні типу char можуть бути присутнім у вираженнях одночасно з перемінними типу int.

Приклад спільного використання цілих і символьних перемінних.

  char ch='а', ans;        //оголошення перемінних ch і ans

  printf("значення ch + 3 = %d", ch+3);  // висновок значення ch+3

  ans = ch % 3;    // визначення залишку від целочисельного розподілу

  printf("\n\n значення ans = % d\n", ans);

Оскільки char це цілий тип, для нього застосовні всі операції, операнди які можуть мати тип int. Цілі за замовчуванням - це величини зі знаком signed.

З перемінними речовинного типу (float, double і ін.) застосовні всі операції, припустимі для цілого типу int, за винятком операції залишку від розподілу (%).

 Перетворення типів бувають явні і неявні. Синтаксис операції явного перетворення типу

(новий_тип) операнд

чи

новий_тип (операнд).

Ряд операцій може в залежності від типів своїх операндов викликати неявне перетворення значення операнда з одного типу в іншій (перетворення за замовчуванням).

Розглянемо результати таких перетворень.

Дані типу char чи short int можуть використовуватися скрізь, де використовується тип int. В усіх випадках значення перетвориться до цілого типу

Арифметичні операції над числами з крапкою, що плаває, (float і double) за замовчуванням виконуються з подвійною точністю.

Перетворення целочисленних значень у речовинні (плаваючи) виконується без ускладнень, але можлива втрата точності, якщо для результату не передбачено достатньої кількості битів. Перетворення значень із крапкою, що плаває, до целочисельного типу машинно-залежно. Результат невизначений, якщо значення не попадає у відведений діапазон.

Якщо ціле без знака (unsigned) використовується разом із простим цілим, то простої ціле і результат перетворяться в ціле без знака.

Переважна більшість операцій викликає перетворення і визначає типи результату відповідно до вищенаведених правил. Приведена нижче схема перетворень реалізується за замовчуванням при обчисленні виражень С.

Спочатку будь-які операнди типів char, unsigned char чи short перетворяться в int, а будь-які операнди типу float перетворяться в double.

Потім, якщо який-небудь операнд має тип double, те іншої перетвориться до типу double і типом результату буде double.

У випадку, якщо який-небудь операнд має тип unsigned long, те іншої перетвориться до типу unsigned long і це ж буде і типом результату.

У випадку, якщо який-небудь операнд має тип long, те іншої перетвориться до типу long і це ж буде типом результату.

У випадку, якщо операнд має тип unsigned, те інший операнд перетвориться до типу unsigned, і це буде типом результату.

Об'єкт типу void* (покажчик на порожній) може бути оголошений для вказівки на об'єкти невідомого типу.

Перетворення типу такого покажчика задається за допомогою явної операції перетворення типів.

Покажчик може перетворюватися в кожній з цілих типів, досить великий для того, щоб умістити його.

Покажчик на один тип може бути перетворений у покажчик на інший тип. При цьому можливо перетворення покажчика в покажчик на об'єкт меншого розміру і назад без змін.

Наприклад, функція виділення пам'яті може приймати розмір (у байтах) об'єкта, для якого виділяється пам'ять, і повертати покажчику невідповідний тип, що може в такий спосіб використовуватися.

extern void* allos ();

doube* dp;

dp = (doube*) allos (sizeof (doube));

*dp = 2,6/8,4

Приклад

#include <stdio.h>

#include <conio.h>

#include <math.h>

main()

{float r1,r2;

int a,b,b1;

unsigned c,d;

char e,f;

unsigned char g;

float f1,f2;

clrscr();

printf("уведення першого u другого речовинних чисел: ");

scanf("%f %f",&r1,&r2);

//printf("\n");

printf("Виведення результатів операцій для чисел: %5.2f %5.2f\n",r1,r2);

printf("!r1=    %d    ",!r1);    printf("!r2=    %d    ",!r2);

printf("r1>r2   %d    ",r1>r2);  printf("r1<r2   %d\n",r1<r2);

printf("r1||r2  %d    ",r1||r2); printf("r1&&r2  %d    ",r1&&r2);

printf("r1==r2  %d    ",r1==r2); printf("r1>=r2  %d\n",r1>=r2);

printf("r1<=r2  %d    ",r1<=r2); printf("r1!=r2  %d\n",r1!=r2);

//Вкладений блок, перемінні переоголошені: int r1,r2; float b;

{int r1,r2;

float b;

printf("уведення першого u другого цілого числа:  ");

scanf("%d %d",&r1,&r2);

// printf("\n");

printf("Виведення результатів операцій для цілих чисел: %2d %2d\n",r1,r2);

printf("!r1=    %d    ",!r1);    printf("!r2=    %d    ",!r2);

printf("r1>r2   %d    ",r1>r2);  printf("r1<r2   %d\n"  ,r1<r2);

printf("r1||r2  %d    ",r1||r2); printf("r1&&r2  %d    ",r1&&r2);

printf("r1==r2  %d    ",r1==r2); printf("r1>=r2  %d\n"  ,r1>=r2);

printf("r1<=r2  %d    ",r1<=r2); printf("r1!=r2  %d    ",r1!=r2);

printf("~r1     %d    ",~r1);    printf("r1|r2   %d\n"  ,r1|r2);

printf("r1^r2   %d    ",r1^r2);  printf("r1&r2   %d    ",r1&r2);

printf("r1<<r2  %d    ",r1<<r2); printf("r1>>r2  %d\n"  ,r1>>r2);

printf("Вихідні значення: r1=%d  r2=%d\n",r1,r2);

r2=r1++;        //Постфиксні операції а1++ а1--

printf("r2=r1++;         r1=%d r2=%d\n",r1,r2);

-іr1;  r2=++r1; //Префиксні операції ++а1 -іа1

printf("-іr1; r2=++r1;   r1=%d r2=%d\n",r1,r2);

r1-=4;   r2+=5; //Складене присвоювання

printf("r1-=4; r2+=5;    r1=%d r2=%d\n",r1,r2);

a=r2-=2,r1+=5;  //Складене присвоювання

printf("a=r2-=2,r1+=5;   r1=%d r2=%d a=%d\n",r1,r2,a);

a=(r1<r2)?r1:r2;//Тернарна  операція якщо r1<r2, те а=r1 інакше а=r2

printf("a=(r1<r2)?r1:r2; a=%d\n",a);

a=r2%r1;        //Залишок від розподілу цілих

printf("а=r1%r2;   "); printf("а=%d\n",r2%r1);

a=r2/r1;        //Розподіл цілих

printf("a=r2/r1;         a=%d\n",a);

b=(float)r2/(float)r1;  //Розподіл c перетворенням типів

printf("b=(float)r2/(float)r1; b=%f\n",b);

}

float q=1.3,q1=2.4,raz;

printf("Уведіть перемінні a-(int), \

c-(unsigned), g-(unsigned char)\n");

scanf("%i,%u,%uc",&a,&c,&g);

b = (a & (c<<3));

b1 = (a & 3) << 7;

f = (a & 3) << 7;

f1 = q / (c | 0x3E);

f2 = a /  (c | 0x3E);

raz=exp(q+q1)/4;

printf("g=%u,  q=%5.2f,  q1=%7.2f,  b=%i,  b1=%i, \

 \n",g,q,q1,b,b1);

printf("f=%i,  f1=%6.3f, f2=%6.3f, raz=%f\n",f,f1,f2,raz);

getch(); return 0;

}

/* уведення першого u другого речовинних чисел: 56     7

  Виведення результатів операцій для чисел:      56.00  7.00

!r1=    0    !r2=    0    r1>r2   1    r1<r2   0

r1||r2  1    r1&&r2  1    r1==r2  0    r1>=r2  1

r1<=r2  0    r1!=r2  1

уведення першого u другого цілого числа:        45  2

Виведення результатів операцій для цілих чисел: 45  2

!r1=    0    !r2=    0    r1>r2   1    r1<r2   0

r1||r2  1    r1&&r2  1    r1==r2  0    r1>=r2  1

r1<=r2  0    r1!=r2  1    ~r1     -46  r1|r2   47

r1^r2   47   r1&r2   0    r1<<r2  180  r1>>r2  11

Вихідні значення: r1=45  r2=2

r2=r1++;           r1=46  r2=45

--r1; r2=++r1;     r1=46  r2=46

r1-=4; r2+=5;      r1=42  r2=51

a=r2-=2,r1+=5;     r1=47  r2=49  a=49

a=(r1<r2)?r1:r2;   a=47

а=r1%r2;           а=2

a=r2/r1;           a=1

b=(float)r2/(float)r1;    b=1.042553

Уведіть перемінні a-(int),  c-(unsigned), g-(unsigned char)

     -34            6           7

g=122,  q =1.30,   q1=2.40,     b=512,        b1=256,

f=0,    f1=0.010,  f2=519.000,  raz=10.111827            */

Приклад  програми на С++

Скласти програму для обчислення арифметичних, логічних і бітових виражень. Перетворити отримані результати відповідно до індивідуального завдання приведеному в таблиці 6.3.

варіант

арифметична операція

арифметична
операція

логічна
операція

бітова
операція

перетворення: явне

6

--c*(*&a+b)

(a+b)/5

a>=b

a&=abs(c)

long double double

#include<iostream.h>

void main()

{int a,b;

double c;

cout<<"Введите два числа\n";

cin>>a>>b;

c=4*a*a+5*b*b;

cout<<"Результат первой арифметической операции: "<<c;

c=3*a*a+4*b-8;

cout<<"\nРезультат второй арифметической операции: "<<c;

c=(int) c;

c=a&&b;

cout<<"\nРезультат логической операции: "<<c;

a^=b;

cout<<"\nРезультат побитовой операции: "<<a;

}

Хід роботи

  1.  Вивчити теоретичні відомості.
  2.  Для використання арифметичних, логічних і інших операцій, приведених у таблиці задатися вираженнями, що містять зазначені операції. Як базу прийняти лабораторну роботу №5.
  3.  Ознайомивши з пріоритетом операцій, показати порядок виконання операцій у конкретних вираженнях з використанням дужок.
  4.  Для перетворення типів перемінних використовувати явне і неявне перетворення типів.
  5.  Розробити алгоритм і програму, налагодити її на комп'ютері.
  6.  Вивчити виконання операцій і тип результату.
  7.  Одержати результати і зробити Захист роботи по роботі.
  8.  Оформити звіт.
  9.  Підготуватися до захисту лабораторної роботи, вивчивши питання по даній темі.

Вимоги до змісту звіту приведені в лабораторній   роботі   №1.

Індивідуальне завдання до лабораторної роботи №6.

Скласти програму для обчислення арифметичних, логічних і бітових виражень. Перетворити отримані результати відповідно до індивідуального завдання приведеному в таблиці 6.3.

Таблиця 6.3 - Індивідуальні завдання

варіант

арифметична операція

арифметична
операція

логічна
операція

бітова
операція

перетворення: явне

1

(a + b)*з

(c/ab)

парне

a  = b

intshort

2

(ab)-з

a|=b-c

непарне

a  = b

longint

3

(a / b)+++b

a<<=b/c

(a==c)&&
(b<a)

a^=b

signedunsigned

4

++b-(~a)

a%=b

a b

a%=b+c

doublefloat

5

(a+b)*
sizeof(c)

(a+b)1/c

a b

a>>=5

intchar

6

--c*(*&a+b)

(a+b)/5

a>=b

a&=abs(c)

long double double

7

A2+b2+c2

15ab-(1/4c)

a!=b

a<<=6

float long

8

5b3-2a+c

c2+8b+10a

a||b

a&=b+c

floatchar

9

4a2+5b2

3a2+4b-8

a&&b

a^=b

doubleint

10

3ab-4c

A3+b2-8c

!a

a%=(c+10)

doubleunsigned long int

11

c2+5a3-b

A2+b2-6c

(a<b)||
(c>5)

a|=20

floatunsigned

12

2a+4c-b4

A+2b+3c

a>=b

a&=(b+c)

intchar

13

A2+b2

2(a+b)-c4

(a>=b)||
(b<c)

a^=abs(b-c)

long double double

14

(a+b)2

c2-b3

кратне а

(a&b)^c

doublefloat

15

2ac-3cb

3a-4cb

(c!=b)||
(a==10)

(a|b)>>c

doubleunsigned long int

16

5c+2a4

c5-2ab

(c<=a)&&(b!=a)

(b&&c)|(a--)

signedunsigned

17

A+b+c

6a+3b3+c

(b==0)||
(c<=a)

a|=b+c

intshort

18

2a+3b+4c

4abc

(a==1)||
(b<c)

a|= (c+10)

doubleint

19

A2+b3+c4

A2+(b-c)5/3

(a<b)&&
(a>c)

a|=20

doublefloat

20

A+2b+3c

(a+4b)1/3-c2

(a>=b)||
(a<=10)

(a&b)^c

intchar

21

2(a+b)-c4

A1/3+(b3-c)

(b<c)&&
( b!=a)

a|=b+c

long double double

22

c2-b3

B3+(a-4c)1/5

(b<c)||
(a<b)

a&=b+c

doublefloat

23

3a-4cb

A+2b+3c

(a==1)&&( c!=0)

a&=abs(c-b)

intchar

24

c5-2ab

2(a+b)-c4

(c==0)||
(b!=100)

a%=b+c

long double double

25

6a+3b3+c

c2-b3

(b!=0)&&
(b<c)

(a&b)^c

intchar

26

4abc

3a-4cb

(b!=a)||
(b<=c)

a%=b+c

long double double

27

A2+(b-c)5/3

c5-2ab

(c<=12)&&(c>=24)

(b|c)|(a--)

doubleunsigned long int

28

(a+4b)1/3-c2

6a+3b3+c

((a-b)<c)||
((a*c)
<100)

a<<=6

floatunsigned

29

A1/3+(b3-c)

4abc

(a<10)?
(b):(b-c)

(b&c)|(a--)

intchar

30

B3+(a-4c)1/5

A2+(b-c)5/3

(b<=10)||
((a+b)<
(b-c))

a^=abs(b-c)

long double double

Контрольні запитання

  1.  Які операції називаються унарними, бінарними, тернарними?
  2.  Скільки груп пріоритетів прийняте в З?
  3.  У якій послідовності виконуються операції з однаковим пріоритетом?
  4.  Що означає властивість коммутативності?
  5.  Які операції гарантують порядок обчислення своїх операндів?
  6.  Для чого застосовують первинні операції?
  7.  Який тип операндівдопустимо для різних операцій?
  8.  Чи всі операнди обчислюються у вираженнях, що містять логічні операції?
  9.  Для чого застосовують перетворення типів?
  10.  Назвіть правила неявного перетворення типів. У яких випадках можлива втрата інформації при перетворенні типів?
  11.  У якому порядку буде виконуватися конструкція f(x)&&g(y) і як буде інтерпретуватися результат виклику функцій, результат вираження в цілому?
  12.  Поясните приклади, приведені в теоретичній частині.


 

А также другие работы, которые могут Вас заинтересовать

25833. Аудит учета затрат, включаемых в себестоимость продукции (работ, услуг) 40.5 KB
  Себестоимость продукции один из показателей эффективности производства выявляющий во что обходится организации изготовление и сбыт продукции. Себестоимость широко применяется для экономического обоснования решений о производстве новой или прекращении выпуска старой продукции; для определения эффективности мероприятий научнотехнического прогресса рентабельности продукции резервов снижения затрат и др. Все затраты организации на производство определяют производственную себестоимость продукции.
25834. Проверка правильности определения налогооблагаемой базы 50.5 KB
  Проверяется правильность определения имущества не облагаемого налогом Проверяется соответствие ставки используемой банком установленной законодательством Проверка правильности исчисления налога на имущество исходя из ставки и налоговой базы. Не признаются налогоплательщиками организации являющиеся организаторами Олимпийских игр и Паралимпийских игр в соответствии со статьей 3 Федерального закона Об организации и о проведении XXII Олимпийских зимних игр и XI Паралимпийских зимних игр 2014 года в городе Сочи развитии города Сочи как...
25835. Структура и свойства конструкционных сплавов цветных металлов 973.5 KB
  Микроструктура металла (от микро... и лат. structura — строение), строение металла, выявляемое с помощью микроскопа (оптического или электронного). Микроскоп для исследования металла впервые применил П. П. Аносов (1831) при изучении булатной стали. Металлы и сплавы состоят из большого числа кристаллов неправильной формы (зёрен)
25836. Сплавы цветных металлов, обрабатываемые давлением 319.5 KB
  К цветным металлам и сплавам относятся практически все металлы и сплавы, за исключением железа и его сплавов, образующих группу чёрных металлов. Цветные металлы встречаются реже, чем железо и часто их добыча стоит значительно дороже, чем добыча железа. Однако цветные металлы часто обладают такими свойствами, какие у железа не обнаруживаются, и это оправдывает их применение.
25837. Аудит операций на расчетном, валютном и других счетах банка 37.5 KB
  Целью аудиторской проверки операций по расчетному валютному и других счетам в банке является формирование мнения о достоверности бухгалтерской отчетности по разделу Денежные средства и соответствии применяемой методики учета денежных средств на счетах в банке действующим в Российской Федерации нормативным документам. Аудитор при проверке операций по счетам в банке должен учитывать основные нормативные документы регулирующие порядок проведения операций на расчетном валютном и других счетах в банках и бухгалтерский учет этих операций....
25838. Аудит прочих доходов и расходов 58.5 KB
  Целью аудиторской проверки прочих доходов и расходов является формирование мнения о правильности учета прочих доходов и расходов. Задача аудиторской проверки прочих доходов и расходов состоит из следующих вопросов на которые должен ответить аудитор: Бухгалтерский учет прочих доходов и расходов соответствует положениям нормативных актов Данные аналитического и синтетического учета по счету 91 Прочие доходы и расходы соответствуют данным главной книги и баланса Корреспонденция счетов по счету 91 Прочие доходы и расходы составлена в...
25839. Учет расчетов по авансам выданным и полученным 36.5 KB
  Согласно положениям Плана счетов Инструкции по применению Плана счетов бухгалтерский учет сумм полученных и или выданных авансов организуется на балансовых счетах связанных с расчетами за отгруженную продукцию выполненные работы оказанные услуги. Для учета сумм авансовых платежей предварительной оплаты к балансовым счетам открываются обособленные субсчета учета. В частности суммы выданных поставщикам и подрядчикам авансов учитываются обособленно на балансовом счете 60 Расчеты с поставщиками и подрядчиками суммы полученных...
25840. Аудит расчетов по авансам выданным 27.5 KB
  Так например выдавая авансы поставщику предприятие изымает из оборота денежные средства до момента поступления ТМЦ выполнения работ оказания услуг также возрастает вероятность непоступления данных ценностей на предприятие вопреки договору поставки. На счете 61 €œРасчеты по авансам выданным€ обобщается информация о расчетах по выданным авансам под поставку продукции либо под выполнение работ а также по оплате продукции и работ принятых от заказчиков по частичной готовности. Суммы выданных авансов а также произведенной оплаты и работ...
25841. Аудит расчетов по претензиям 30 KB
  Можно выделить несколько видов претензий: при выявлении ошибок в счетах поставщиков неправильно указаны тарифы и цены арифметические ошибки и др. Аудитору необходимо проверить: обоснованность своевременность и правильность оформления документов несоблюдение сроков предъявления претензий может быть использовано для сокрытия фактов хищения материальных ценностей так как при отказе в удовлетворении претензий числящиеся суммы списываются на издержки производства; обоснованность претензий предъявляемых к проверяемому предприятию в случае...