17113

Формування робочих масивів за допомогою операцій селекції вихідного масиву

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

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

Лабораторна робота № 22 Тема: Формування робочих масивів за допомогою операцій селекції вихідного масиву Ціль роботи: вивчити і навчитися застосовувати обробку масивів по заданих логічних умовах формування нових масивів. Обладнання: ПКПО Borland C Теоретичні відо

Украинкский

2013-06-29

74 KB

1 чел.

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

Тема: Формування робочих масивів за допомогою операцій селекції вихідного масиву

Ціль роботи: вивчити і навчитися застосовувати обробку масивів по заданих логічних умовах, формування нових масивів.

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

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

Дивися теоретичні відомості по попередній роботі.

Приклад

/*    ЗАНЯТТЯ N 10

  Розробив Петров Ю.В.

  Оголосити масиви заданої розмірності, виконати їхній

  ініціалізацію з застосуванням функції random() і явно.

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

  операторів організації циклу. Переписати позитивні

  елементи масиву x[1],x[2],...,x[N] у масив y[t], а

  негативні - у масив z[p]. Елементи в масивах y[t]

  і z[p] розташовувати підряд, елементи масиву y1[t]

  розрахувати для позитивних x[і] по формулі

  y1[t]=y1[t]+2*exp(b*y[t]-y[t]*y[t]),де b=N/5    */

 #include <stdlib.h>

 #include <stdio.h>

 #include <conio.h>

 #include <math.h>

 # define N 20

 main()

 { clrscr();

   randomize();

   int і,t=0,p=0,b=N/5;

   int x[N],y[N],z[N]; //Оголошення одномірного масиву (вектора)

   float y1[N]={2.3,3.4,4.0,5.2,6.6,7.9,8.34,9.8,10.4,11.2,\

   10.1,9.9,8.7,7.5}; //Ініціалізація перших 14, інші -0

   printf("\nвывод елементів вихідного масиву y1[ ]\n");

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

     {printf(" y1[%2d]=%4.1f",i+1,y1[i]);

      if ((i+1)%5==0) printf("\n");

     }

   printf("\nинициализация одномірного масиву x[N]\n");

   for(і=0;і<N;і++)

     { x[і]=random(40)-20;

printf(" x[%2d]=%2d ",i+1,x[i]);    // виведення елементів

if ((i+1)%5==0) printf("\n");       //масиву x[ ]

 if (x[i]>=0)            //Вибір позитивних значень

   { y[t]=x[i];    //Розрахунок елементів масиву y1[ ]

    y1[t]=y1[t]+2*exp(b*y[t]-y[t]*y[t]); t++;

   }

else {z[p]=x[i]; p++;} //Вибір негативних значень

     }

   printf("\nвывод елементів масиву y[ ]>0\n");

   i=0;

   while ( i<t )

     { printf(" y[%2d]=%2d ",i+1,y[i]);

if ((i+1)%5==0) printf("\n");

i++;

     }

   printf("\n");

   printf("\nвывод елементів масиву y1[ ] після розрахунку\n");

   i=0;

   do

     { printf(" y1[%2d]=%3.2f",i+1,y1[i]);

if ((i+1)%5==0) printf("\n");

i++;

      } while ( i<t );

   printf("\n");

   printf("\nвывод елементів масиву z[ ]<0\n");

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

     { printf(" z[%2d]=%2d ",i+1,z[i]);

if ((i+1)%5==0) printf("\n");

     }

   getch();

   return 1;

 }

/*   виведення елементів вихідного масиву y1[ ]

 y1[ 1]= 2.3 y1[ 2]= 3.4 y1[ 3]= 4.0 y1[ 4]= 5.2 y1[ 5]= 6.6

 y1[ 6]= 7.9 y1[ 7]= 8.3 y1[ 8]= 9.8 y1[ 9]=10.4 y1[10]=11.2

 y1[11]=10.1 y1[12]= 9.9 y1[13]= 8.7 y1[14]= 7.5 y1[15]= 0.0

 y1[16]= 0.0 y1[17]= 0.0 y1[18]= 0.0 y1[19]= 0.0 y1[20]= 0.0

    Ініціалізація одномірного масиву x[N]

 x[ 1]=  8  x[ 2]= 10  x[ 3]=- 7  x[ 4]= 13  x[ 5]=- 1

 x[ 6]=-14  x[ 7]=  5  x[ 8]= 17  x[ 9]=-14  x[10]=-19

 x[11]= 13  x[12]=  8  x[13]=-10  x[14]=-16  x[15]=  5

 x[16]=  9  x[17]=-11  x[18]=-12  x[19]=-16  x[20]=- 3

    виведення елементів масиву y[ ]>0

 y[1]= 8    y[2]=10    y[3]=13    y[4]= 5   y[5]=17

 y[6]=13    y[7]= 8    y[8]= 5    y[9]= 9

    виведення елементів масиву y1[ ] після розрахунку

 y1[1]=2.30 y1[2]=3.40 y1[3]=4.00 y1[4]=5.21 y1[5]=6.60

 y1[6]=7.90 y1[7]=8.34 y1[8]=9.81 y1[9]=10.40

     виведення елементів масиву z[ ]<0

 z[ 1]=- 7  z[ 2]=- 1  z[ 3]=-14  z[ 4]=-14  z[ 5]=-19

 z[ 6]=-10  z[ 7]=-16  z[ 8]=-11  z[ 9]=-12  z[10]=-16

 z[11]=- 3   

                                    */

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

Скласти програму для обробки масивів відповідно до індивідуального завдання приведеному в таблиці 10.1.

Вар.

Умова задачі

6

Дано масив X(25). Сформувати новий масив з чисел вихідного, лежачих в інтервалі [-3,7]

#include<iostream.h>

int mas(double xk[10],double yk[10])

{int n,j;

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

{if((xk[n]>=(-3))&&(xk[n]<=7)) {yk[j]=xk[n]; j++;}

}

return j;

}

void main()

{int i,t;

double x[10],y[10],s;

cout<<"input array x:\n";

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

cin>>x[i];

s=1.0;

t=mas(x,y);

cout<<"y:\n";

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

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

}

Хід роботи

1.Вивчити теоретичні відомості

2.Відповідно до індивідуального завдання, на основі програми попередньої роботи розробити алгоритм, що забезпечує формування робочих масивів по заданих логічних умовах. Операції з масивами винести в окрему функцію.

3.Розробити програму, набрати і налагодити програму на комп'ютері.

4.Вивчити роботу операторів.

5.Одержати результати.

6.Оформити звіт.

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

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

Індивідуальне завдання

Скласти програму для обробки масивів відповідно до індивідуального завдання приведеному в таблиці 10.1.

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

Вар.

Умова задачі

1

Дано масив X(15). Сформувати новий масив з парних чисел вихідного

2

Дано масив X(25). Сформувати новий масив з непарних чисел вихідного

3

Дано масив D(15). Сформувати новий масив із кратних 3 чисел вихідного

4

Дано масив A(10). Сформувати новий масив з негативних чисел вихідного

5

Дано масив Z(15). Сформувати новий масив з позитивних парних чисел вихідного

6

Дано масив X(25). Сформувати новий масив з чисел вихідного, лежачих в інтервалі [-3,7]

7

Дано масив Y(10). Сформувати новий масив з непарних позитивних чисел вихідного

8

Дано масив D(12). Сформувати новий масив з позитивних кратних 3 чисел вихідного

9

Дано масив A(8). Сформувати новий масив з негативних парних чисел вихідного

10

Дано масив C(15). Сформувати новий масив з великих 8 чисел вихідного

11

Дано масив B(21). Сформувати новий масив із кратних 4 чисел вихідного

12

Дано масив A(12). Сформувати новий масив з негативних непарних чисел вихідного

13

Дано масив X(8). Сформувати новий масив з негативних не кратних 3 чисел вихідного

14

Дано масив G(9). Сформувати новий масив з парних чисел вихідного масиву, що коштують на непарних місцях

15

Дано масив Y(15). Сформувати новий масив з непарних, кратних 3 чисел вихідного

16

Дано масив A(18). Сформувати новий масив з непарних, кратних 5 чисел вихідного

17

Дано масив Z(10). Сформувати новий масив з парних чисел вихідного, лежачих в інтервалі [1,12]

18

Дано масив A(11). Сформувати новий масив з непарних чисел вихідного, лежачих в інтервалі [-3,15]

19

Дано масив B(10). Сформувати новий масив з номерів негативних парних чисел вихідного

20

Дано масив A(8). Сформувати новий масив з номерів негативних непарних чисел вихідного

21

Дано масив C(12). Сформувати новий масив з негативних чисел вихідного, що коштують на парних місцях

22

Дано масив F(13). Сформувати новий масив з негативних чисел вихідного, що коштують на непарних місцях

23

Дано масив H(12). Сформувати новий масив з позитивних чисел вихідного, що коштують на парних місцях

24

Дано масив V(19). Сформувати новий масив з негативних чисел вихідного, лежачих у діапазоні [-20,-5]

25

Дано масив N(11). Сформувати новий масив з негативних кратних 5 чисел вихідного

26

Дано масив K(15). Сформувати новий масив з позитивних чисел вихідного, що коштують на непарних місцях

27

Дано масив Y(11). Сформувати новий масив з негативних не кратних 5 чисел вихідного

28

Дано масив Z(14). Сформувати новий масив з позитивних кратних 5 чисел вихідного

29

Дано масив R(13). Сформувати новий масив з негативних кратних 10 чисел вихідного

30

Дано масив N(11). Сформувати новий масив з негативних кратних 8 чисел вихідного

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

1.Як виробляється доступ до елементів масиву?

2.Яка кількість операторів циклу необхідно для обробки головної чи побічної діагоналі масиву?

3.Які методи сортування елементів Ви знаєте?

4.Чи можна використовувати покажчик на тип елементів масиву як ім'я масиву і що для цього необхідно?

5.Адреса якого елемента містить ім'я масиву?

6.Які класи пам'яті можна використовувати при оголошенні масиву?

7.Які класи пам'яті використовуються за замовчуванням?

8.Як розміщаються елементи масиву в пам'яті?

9.Як визначається кількість байтів, на яке зміщається покажчик індексного вираження?  Чи залежить зсув покажчика від типу елементів масиву?


 

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

51707. Типология уроков; особенности нетрадиционных уроков биологии, лабораторных и практических занятий 94 KB
  Нетрадиционные уроки биологии 1. В зависимости от решаемых дидактических задач и их количества различают специализированные и комбинированные уроки. Специализированные уроки. В нее входят: вводные уроки уроки изучения нового материала уроки повторения уроки проверки результатов обучения.
51709. ПСИХОЛОГІЧНИЙ АНАЛІЗ УРОКУ 40.5 KB
  На уроці учні зрозуміли тему та мету уроку яку намагалася донести до них вчителька активно працювали із викладачем на уроці. Під час проведення уроку учні швидко переключалися з одного завдання на інше не зациклювалися на одному завданні багато часу. Пояснення нового матеріалу відбувалося у доступній їм формі тому що учні так швидше і краще зуміли тему та мету уроку яку вчителька намагалася донести до них. При опрацюванні нових завдань учні з ними швидко впоралися але не всі.
51710. Современный урок истории и обществознания 30 KB
  Современный урок истории и обществознания. Одну из 1ых классификаций уроков истории предложил в 1957г. комбинированный урок т. сочетающий в себе все виды или несколько элементов обучения; урок изучения нового материала; повторительнообобщающий урок; урок проверки знаний.
51711. Большая буква в имена собственных 177 KB
  Актуализация знаний Внимательно посмотрите на буквы расположенные на доске найдите среди них лишнюю букву. Сформулируйте цели урока используя начало фразы: Повторить написание большой буквы в и . С большой буквы. Кто это такие Посмотрите внимательно на записи и выберите нужные буквы: Н н езнайка К к арлсон Почему выбрали заглавные буквы З з олушка Д д юймовочка Ф ф едора Почему снова выбрали заглавные буквы Вспомните правило правописания имён людей.