Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 2 Стандарты кодирования Задание

Работа добавлена на сайт samzan.net:

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 2.6.2024

PAGE   \* MERGEFORMAT 17

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

«Стандарты кодирования»

Задание. Переписать программный код (варианты программ согласно варианту), используя общепринятые соглашения и рекомендации по именованию и форматированию  переменных, операторов, выражений.

Ход работы.

При выполнении лабораторной работы необходимо переписать программный код в двух вариантах стилей (смотри таблицу).

Номера вариантов

1TBS

Алмена

Whitesmith

GNU

1,5,11,21,27

+

-

-

+

2,6,12,22,28

-

+

+

-

3,7,13,23,29

-

+

-

+

4,8,14,24,30

-

-

+

+

9,15,19,25,31

+

-

+

-

10,16,20,26,32

+

+

-

-

Требования:

  •  добавить комментарии в программный код;
  •  проверить правильность именования переменных, констант, методов;
  •  проверить правильность объявления переменных и констант;
  •  записать исправленный текст программы в двух стилях (согласно таблице, заданной выше).

Содержание отчета.

  1.  Вариант задания.
  2.  Программный код в двух стилях и с исправлениями в именовании переменных, записи выражений и констант.

Контрольные вопросы.

  1.  Для чего нужны стандарты кодирования.
  2.  Какие существуют соглашения по именованию переменных, функций.
  3.  В каком формате следует записывать константы в тексте программы.
  4.  Какие стили расстановки скобок существуют? В чем их различия?

Варианты заданий.

Вариант №1.

main()

{float tr[4][2];

float xe;

float ye;

float xa, ya, xb, yb,

     xc, yc, xd, yd;

float a, b, c, d, f, h;

int i;

clrscr();

printf("Введите координаты точек параллелограмма");

for (i=0; i<4; i++)

{printf("\координаты: %d-й точки: x=",i+1);

scanf("%f", &tr[i][0]);

printf("y=");

scanf("%f", &tr[i][1]);

}

xa=tr[0][0];

ya=tr[0][1];

xb=tr[1][0];

yb=tr[1][1];

xc=tr[2][0];

yc=tr[2][1];

xd=tr[3][0];

yd=tr[3][1];

printf("%f, %f\n %f %f\n %f %f\n %f %f\n",xa,ya,xb,yb,xc,yc,xd,yd);

a=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));

b=sqrt((xb-xc)*(xb-xc)+(yb-yc)*(yb-yc));

c=sqrt((xc-xd)*(xc-xd)+(yc-yd)*(yc-yd));

d=sqrt((xd-xa)*(xd-xa)+(yd-ya)*(yd-ya));

f=sqrt((xa-xc)*(xa-xc)+(ya-yc)*(ya-yc));

h=sqrt((xb-xd)*(xb-xd)+(yb-yd)*(yb-yd));

if((a+b>f)&&(b+c>h)&&(d+c>f)&&(a+d>h))

{

xe=(xa+xc)/2;

ye=(ya+yc)/2;

printf("xe=%f, ye=%f",xe,ye);

}

else

printf("Данный параллелограмм ((%f, %f),(%f, %f),(%f, %f),"

      "(%f, %f) вырожденный\n",xa,ya,xb,yb,xc,yc,xd,yd);

getch();

}

Вариант №2.

main()

{

int n, m, r;

float a[50][50];

float y[50];

float b;

float s;

int i,j,k;

clrscr();

printf("vvedite dannie matrici");

scanf(" %d %d", &m, &n);

while( m<=1 && n<=1 )

{printf("Vi owiblis, povtorite vvod");

scanf(" %d %d", &m, &n);

printf("n=","m=");

}

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

{printf("vvesti koord vekt");

scanf("%f", &y[i]);

}

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

 for(j=0; j<n; j++)

      a[i][j]=pow(y[j], i);

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

 for(j=0; j<n; j++)

 printf("a[%d,%d]=%f\n", i,j,a[i][j]);

}

Вариант №3.

#define L 100

main()

{       clrscr();

char s1[L];

char s2[L];

char seps[]   = " ,\t\n";

char *token;

printf("Enter the sentence\n");

gets(s1);

token=strtok(s1,seps);

while (token !=NULL)

{

 if (strstr(token, "ать") || strstr(token, "ять") || strstr(token, "уть") || strstr(token, "ють"))

 {strcat(s2, "не");

 strcat(s2, token);}

 else

 strcat(s2, token);

strcat(s2," ");

token=strtok(NULL,seps);

}

printf("%s\n", s2);

getch();

}

Вариант №4.

#define PI

float form(int k, float, float, float);

main()

{

float x;

int k=1;

float e;

float s=0;

printf("Enter the X:\n");

scanf("%f", &x);

while (x<-0 || x>PI)

{

 printf("Error\n");

 scanf("%f", &x);

}

printf("\nEnter the e\n");

scanf("%f", &e);

while (e<0)

{

 printf("Error");

 scanf("%f", &e);

}

printf("%f \n", form(k,s,x,e));

getch();

}

float form(int k, float y, float x, float e)

{

float a;

a=cos((2*k-1)*x)/(2*k-1) ;

y=y+a;

printf("%f\n",y);

if (a<e)

return(y);

else

return(form(k+1,y, x, e));

}

Вариант №5.

main()

{float min=999999;

  struct icx

   {char kultura[20];

   float p38;

   float p57;

   float z38;

   float z57;

   }a;

  struct abc

{char kultura[20];

   float izmen;

   }b;

FILE *filein;

clrscr();

  if((filein=fopen("TABL1.txt","r"))==NULL)

  {printf("owibka\n");exit(-1);}

  {   while(fscanf(filein,"%s%f%f%f%f",&a.kultura,&a.p38,&a.p57,&a.z38,&a.z57)!=EOF)

  { if(a.z57-a.z38<min)

  { min=a.z57-a.z38;

strcpy(b.kultura, a.kultura);

b.izmen = a.p57/a.p38*100 - 100;

  }

printf( "|%15s|%10.2f|%10.2f|%10.2f|%10.2f|\n",a.kultura, a.p38, a.p57, a.z38, a.z57);

  getch();

  }

  printf("Минимальное увеличение сбора культуры:\n");

  printf("|   Kultura   |Izmenenie|\n");

  printf("|%13s|%9.2f|\n", b.kultura, b.izmen);

  getch();

  }}

Вариант №6.

main()

{  float tr[3][2];

  float x,y;

  float xa,ya,xb,yb,xc,yc;

  float a1,b1,c1,a2,b2,c2,a3,b3,c3,a4,b4,c4,a5,b5,c5;

  float a,b,c;

  float r;

  int i;

  clrscr();

  printf("Enter coordinats :\n");

  for(i=0;i<3;i++)

  {  printf("\ncoordinats:%d: x=", i+1);

     scanf("%f",&r);

  tr[i][0]=r;

  printf("y=");

  scanf("%f", &r);

  tr[i][1]=r;

  }

  xa=tr[0][0];

  ya=tr[0][1];

  xb=tr[1][0];

  yb=tr[1][1];

  xc=tr[2][0];

  yc=tr[2][1];

  a=sqrt((xa-xb)*(xa-xb)+(ya-yb)*(ya-yb));

  b=sqrt((xb-xc)*(xb-xc)+(yb-yc)*(yb-yc));

  c=sqrt((xa-xc)*(xa-xc)+(ya-yc)*(ya-yc));

  if(!(a+b>c)&&(b+c>a)&&(a+c>b))

     printf("Triangle ((%f,%f), (%f,%f),(%f,%f)) virog\n", xa,ya,xb,yb,xc,yc);

  else

{ a1=yb-ya;

  b1=xa-xb;

  c1=-a1*xa-b1*ya;

  a2=yc-yb;

  b2=xb-xc;

  c2=-a2*xb-b2*yb;

  a3=yc-ya;

  b3=xa-xc;

  c3=-a3*xa-b3*ya;

  a4=b2;

  b4=-a2;

  c4=-a4*xa-b4*ya;

  a5=b3;

  b5=-a3;

  c5=-a5*xb-b5*yb;

  x=((-c4*b5)-(b4*(-c5)))/((a4*b5)-(b4*a5));

  y=((a4*(-c5))-(-c4*a5))/((a4*b5)-(b4*a5));

  printf("((%f,%f),)\n", x,y);

  getch();

}

}

Вариант №7.

void main ()

{

   const int size= 10;

   int a[size];

   srand(time(NULL));

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

      a[i] = rand() % 11 - 5;

   for (i = 0; i < size; i++)

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

   for (i = 0; i < size; i++)

      for (int j = i+1; j < size; j++)

     if (a[i] < a[j])

     {

        int buf = a[i];

        a[i] = a[j];

        a[j] = buf;

     }

   cout << endl << endl;

   for (i = 0; i < size; i++)

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

   getch();

   return 0;

}

Вариант №8.

float f(float z)

{

return pow(z,3)+6*pow(z,2)+6*z-7; }

void main()

{

float a=-3.0, b=2.0, e=0.001, x;// объявление переменных

while (fabs(a-b)>=e)

{

if((f(a)>0&&f((a+b)/2)<0)||(f(a)<0&&f((a+b)/2)>0))

b=(a+b)/2;

else

if ((f((a+b)/2)>0&&f(b)<0)||(f((a+b)/2)<0&&f(b)>0))

a=(a+b)/2;

else

{

printf("! Net kornej !");

return;

getch();

}

}

x=(a+b)/2;

printf("x=%f F(x)=%f |a-b|=%f",x,f(x),fabs(a-b));

getch();

}

Вариант №9.

int main()

{

clrscr();

int i;

float x[10], max, min;

for (i=0;i<10;i++)

{

printf("x[%d]=",i+1);

scanf( "%f",&x[i]);

}

max=x[0];

min=x[0];

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

{

 if (x[i]>max)  max = x[i];

 if (x[i]<min) min=x[i];

}

x[0] = max+min;

printf("\nmax=%f ",max);

printf("\nmin=%f \n",min);

for(i=0;i<10;i++)

printf("\nx[%d]=%f ",i+1,x[i]);

getch();

return 0;}

Вариант №10.

void main()

{

  cout<<"Sluchaino zapolnenii massiv 8x8:"<<endl;

  int mass[8][8] = {};

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

  {

   for(int j=0; j<=7; j++)

   {

    mass[i][j]=rand()%500-100;

    if ((mass[i][j]<10) && (mass[i][j]>=0))

    {

    cout<<"   ";

    }

    else if ((mass[i][j]>=10) && (mass[i][j]<=99))

    {

    cout<<"  ";

    }

    else if ((mass[i][j]>=100) && (mass[i][j]<=999))

    {

    cout<<" ";

    }

    else if ((mass[i][j]<0) && (mass[i][j]>-10))

    {

    cout<<"  ";

    }

    else if ((mass[i][j]<=-10) && (mass[i][j]>=-99))

    {

    cout<<" ";

    }

    cout<<mass[i][j]<<" ";

   }

   cout<<endl;

  }

  int s, max, s1, k, l, t;

  s=0;

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

  {

  s1=s1+abs(mass[i][0]);

  }

  for (int j=0; j<=7; j++)

  {

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

   {

   s=s+abs(mass[i][j]);

   }

    

  if (s>s1)

  {

  max=s;

  s1=max;

  k=j+1;

  }

  s=0;

  }

     l=mass[0][k-1];

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

  {

  t=mass[i][k-1];

  if (t<l)

  {

   l=t;

  }

  }

  cout<<"Maximal'naya summa elementov v stolbike:"<<k<<endl<<"Minimal'noe znachenie v stolbike:"<<l<<endl;

  getch();

}




1. ЕКОНОМІЧНА ТЕОРІЯ МЕТОДИЧНІ РЕКОМЕНДАЦІЇ до виконання практичних робіт з нормативної нав
2. А Доп
3. Реферат- Становление рынка труда
4. Гильотинные ножницы с нижним резом
5. а. Адрес телефон Профессия ~ частный предприниматель
6. Організація цивільної оборони на обєктах господарської діяльності
7. Развитие философии -Укр-
8. вне всяких сомнений эта Beutyпремьера сорвёт бурные овации Витамин С действует как мощный антиоксидант- ст
9. Бюджетирование как элемент управленческого учета на малых предприятиях
10. Реферат- Налоги и налоговая система в современной России
11. 4 Полагаю что не выдам тайны криминальным структурам если выскажу свое и многих коллег убеждение точнее.
12. Рождество Насти или Метаморфозы Зазеркал
13. Реферат- Филдинг Генри
14. і Освіта та виховання з питань екології у вищих навчальних закладах
15. Карта внутренней страны предназначена для исследования неосознаваемых целей путей их достижения а также
16. КивисТрейд является коммерческим предприятием которое зарегистрировано в Минском исполнительном комит
17. Учебник под ред И
18. Лев Андронов
19. Гендерные исследования в лингвистике
20. монос один в основе всей действительности ищет и усматривает одно начало