18539

Обработка числовых последовательностей

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

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

Лабораторная работа № 2 Обработка числовых последовательностей Существует круг задач в которых необходимо както обработать заданную числовую последовательность причем для получения результата достаточно просмотреть последовательность один раз. Например чт

Русский

2013-07-08

77 KB

35 чел.

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

Обработка числовых последовательностей

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

Числовая последовательность может задаваться с  указанием  количества чисел или иметь какой-то признак конца.

Пусть последовательность задается в виде

A1, A2, ..., An, W

(n заранее неизвестно, W – признак конца последовательности), тогда процесс обработки в общем виде можно представить одной из двух схем:

а) цикл с постусловием б) цикл с предусловием

Фрагменты программ на Cи, соответствующие этим схемам:

а)

scanf ("%f",&a);

do

{ /* обработка a */

. . .

scanf ("%f",&a);

}

while (a!=W);

б)

scanf ("%f",&a);

while (a!=W)

{ /* обработка a */

. . .

scanf ("%f",&a);

}

В этих фрагментах предполагается, что переменная a вещественного типа (float), поэтому указан формат %f. Если же последовательность состоит из целых чисел типа int, то следует выбрать формат %d; W – символическая константа, которая должна быть определена с помощью директивы #define.

Числовая последовательность  может быть задана и с указанием количества вводимых чисел:

n, A1 , A2 , ..., An .

Тогда процесс обработки можно представить в виде:

a) полная форма б) более короткая форма

На языке Си этот процесс можно записать с помощью оператора цикла while или лучше оператора цикла for:

а) scanf  ("%d",&n); i=1;

while (i<=n)

{

scanf ("%f",&a);

/* обработка a */

. . .

i++;

}

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

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

{

scanf ("%f",&a);

/* обработка a */

. . .

}

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

if (условие) оператор1

else оператор2

В операторе if оператор1 и оператор2 могут быть составными операторами, конструкция "else оператор2" может отсутствовать, например:

if  (a % 2 != 0)

{ s=s+a;

k++;

}

Пpимечание. В опеpатоpах if, while, do-while можно использовать не только условные выражения, но и вообще любые. Это связано с тем, что в Си значение "ложь" – это 0, а "истина" – любое ненулевое число. Поэтому предыдущий опеpатоp if можно записать иначе:

if  (a % 2)  { s=s+a;  k++; }

Пример.

Задача. Даны целые числа n, A1 ,A2 , ... ,An. Вычислить сумму тех чисел последовательности, которые удовлетворяют условию |Ai | < i2.

Рис. 1. Схема алгоритма решения задачи

Программа:

#include <stdio.h>

#include <math.h>

main()

{ int n; /* количество чисел  */

int a, /* очередное число */

s=0, /* сумма*/

i; /* порядковый номер числа в посл-ти */

printf ("\nВведите количество чисел: ");

scanf ("%d",&n);

printf ("Введите числовую последовательноть:\n");

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

{scanf ("%d",&a);

if (abs(a) < i*i)  s=s+a;

}

printf ("сумма=%d\n",s);

}

Тесты для проверки программы:

№ п/п

n

Исходная последовательность:

Ожидаемый результат:

1

6

1 -2 3 16 -5 40

Сумма=-4

2

4

-1 5 10 -20

Сумма=0

Результаты тестирования программы:

Введите количество чисел: 6

Введите числовую последовательность:

1 -2 3 16 -5 40

сумма=-4

Введите количество чисел: 4

Введите числовую последовательность:

-1 5 10 -20

сумма=0

Порядок выполнения работы.

1. Получить задание у преподавателя.

2. Составить схему и программу на языке Си, подобрать тесты для проверки программы на компьютере.

3. Отладить программу на компьютере и показать результаты тестирования преподавателю.

4. Оформить и сдать отчет по лабораторной работе.

Задания.

  1.  Даны натуральные числа А1, А2,… Признак конца последовательности 0. Получить количество и сумму тех членов последовательности, которые делятся на 5 и не делятся на 7.
  2.  Даны натуральные числа А1, А2,… Признак конца последовательности 0. Найти min12, А23,…).
  3.  Даны натуральные числа А1, А2,… Признак конца последовательности 0. Найти наибольший член последовательности.
  4.  Даны натуральное число n и последовательность натуральных чисел  А1, А2,…, Аn. Определить количество членов последовательности имеющих четные порядковые номера и являющихся нечетными числами.
  5.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Получить удвоенную сумму всех положительных членов последовательности.
  6.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Получить сумму отрицательных и количество положительных элементов последовательности.
  7.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Получить min1, А35,…) + max2, А4, А6,…).
  8.  Даны натуральное число n и последовательность действительных чисел  А1, А2,…, Аn. Получить (А1, А2, А3,…,Аn)*n.
  9.  Даны натуральные числа А1, А2,… Признак конца последовательности 0. Найти наименьший член последовательности.
  10.   Даны натуральное число n и последовательность натуральных чисел А1, А2,…, Аn. Определить количество членов последовательности кратных 3 и не кратных 5.
  11.   Даны натуральные числа А1, А2,… Признак конца последовательности 0. Найти max12, А23,…).
  12.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Получить A1* A2 + A2 * A3 + ... + An-1 * An .
  13.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Получить (A2 – A1)*(A3 – A2)*  ... * (An - An-1).
  14.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Проверить упорядочены ли числа последовательности по убыванию;
  15.  Даны натуральное число n и последовательность действительных чисел А1, А2,…, Аn. Проверить есть ли в последовательности одинаковые соседние числа.
  16.  Даны вещественные числа A1, A2 , ... .Признак конца последовательности число 999. Выяснить, составляют ли числа возрастающую последовательность.
  17.  Даны вещественные числа A1, A2 , ... .Признак конца последовательности число 999. Получить среднее арифметическое всех чисел.
  18.  Даны вещественные числа A1, A2 , ... .Признак конца последовательности число 999. Определить сумму положительных и произведение отрицательных чисел последовательности.
  19.  Даны вещественные числа A1, A2 , ... .Признак конца последовательности число 999. Определить разность между наибольшим числом и наименьшим числом последовательности.
  20.  Даны вещественные числа A1, A2 , ... .Признак конца последовательности число 999. Определить, сколько раз встречается в последовательности наибольшее число.


Обработка
A

Ввод A

Ввод A

A= W

да

Обработка

A

!=W

Ввод A

Ввод A

нет

нет

Ввод n

i <= n

i =1 , n

да

i = i + 1

Обработка

A

Ввод A

Обработка

A

Ввод A

i = 1

Ввод n

Оператор2

Оператор1

да

нет

условие

да

нет

i = i +1

нет

да

s=s+a

|a|<i*i

нет

да

s=0, i=1

Ввод a

начало

конец

Вывод 

s

i ≤ n  

Ввод n


 

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

45608. PR в системе коммуникаций: цели, функции, содержание 45 KB
  Связи с общественностью далее PR являются относительно новой сферой деятельности на отечественном рынке поэтому основополагающие термины и определения данного вида деятельности взяты из работ зарубежных авторов Р. полагаясь на общепризнанную экономическую литературу тоже дают определение целям задачам и функциям PRдеятельности. Целью любого вида деятельности является результат который должен быть получен в процессе данной деятельности. Функции связей с общественностью проявляются во всех аспектах этого вида деятельности начиная с...
45609. ПОНЯТИЯ ПУБЛИЧНОЙ СФЕРЫ И КОММУНИКАЦИЙ 27.5 KB
  Наиболее активно в публичной сфере сегодня развиваются политические коммуникации под которыми подразумевают общение передачу информации от управляющих к управляемым и обратно а также используемые при этом средства связи формы способы каналы общения. Фе публичных коммуникаций оказывается возможным в публичной сфере. Субъектное пространство публичной сферы Д.
45610. Пиарология: предмет и объект, функции 32.5 KB
  Научная рефлексия соц.деятельности один из обязательных признаков ПР как соц.института Пиарология - наука о закономерностях принципах и механизмах функционирования соц. ОБЪЕКТ социальная реальность ПРЕДМЕТ совокупность соц.
45611. Система планов предприятия и их взаимосвязь 176.5 KB
  Изучить типы и виды планирования на торговом предприятии, в т.ч. рассмотреть структуру планов торгового предприятия; перспективное внутрифирменное планирование; среднесрочное и текущее планирование; оперативно-календарное планирование; организационно-иерархическую соподчиненность планов предприятия...
45612. Управление персоналом предприятия «Пекарь» 125.71 KB
  Актуальность данного вида бизнеса очевидна, так как хлеб во все времена являлся одним из основных продуктов питания человека. Спрос на этот вид продукции будет всегда несмотря на растущую конкуренцию производителей.
45613. Разработка методики проектирования магистральной ВОСП повышенной пропускной способности 709 KB
  К основным преимуществам ВОЛС относятся: высокая помехоустойчивость; слабая зависимость качества передачи от длины линии; стабильность параметров каналов ВОСП; возможность построения цифровой сети связи; и самое главное - высокие технико-экономические показатели.
45614. Функции общественных рекламных и ПР-ассоциаций 59.5 KB
  При поддержке РАСО увидело свет первое специализированное издание журнал Советник самое авторитетное издание в сфере пр в России. АССОЦИАЦИЯ КОМПАНИЙКОНСУЛЬТАНТОВ В СФЕРЕ ОБЩЕСТВЕННЫХ СВЯЗЕЙ АКОС РОССИЯ НОВОЕ ОБЪЕДИНЕНИЕ НА РОССИЙСКОМ РЫНКЕ ПРУСЛУГ По мере развития отечественного рынка услуг по связям с общественное о все острее ощущалась необходимость укрепления контактов российских мпанийконсультантов в сфере паблик рилейшнз с зарубежными коллегами. Значительные возможности для выхода российских ПРагентств на мировой рынок в...
45615. Вопросы, которые задают субъектное пространство PR-деятельности 48 KB
  Базисный субъект: Именно он выступает основанием для начала PRдеятельности у него образуется потребность в оптимизации коммуникационного пространства он задает исходные параметры PRдеятельности часто формирует заказ подписывает и финансирует контракт. Для кого функциональностратегический Исходный технологический субъект лицо осуществляющее PRдеятельность которое может выступать как индивидуальный предприниматель либо представитель какойлибо структуры предназначенной для осуществления PRдеятельности. Под сферой PR будем...