18539

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

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

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

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

Русский

2013-07-08

77 KB

38 чел.

Лабораторная работа № 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


 

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

80823. ОСНОВЫ ПЛАНИРОВАНИЯ ЧЕЛОВЕЧЕСКИХ РЕСУРСОВ 46.28 KB
  Кадровое планирование планирование персонала это целенаправленная деятельность по подготовке кадров обеспечению пропорционального и динамичного развития персонала расчету его профессионально-квалификационной структуры определению общей и дополнительной потребности контролю за его использованием. Сущность кадрового планирования заключается в создании условий для предоставления людям рабочих мест в нужный момент времени и в необходимом количестве в соответствии с их способностями склонностями и требованиями бизнеса Основные задачи...
80824. ОРГАНИЗАЦИЯ КАК СИСТЕМА: ОПРЕДЕЛЕНИЕ, ПРИЗНАКИ, СВОЙСТВА, ФУНКЦИИ 46.73 KB
  Организация это функция управления целью которой является достижение миссии задачей формирование структур организации из множества элементов обеспечение всем необходимым для ее нормальной работыматериалами оборудованием денежными средствами знаниями персоналом и т. В любой организации реализуются три ключевых процесса: получение ресурсов из внешней среды производство продукта и передача его во внешнюю среду. Основные потоки организации: на входе поступление материалов рабочей силы капитала; на выходе готовый продукт товары...
80825. МАТРИЧНЫЕ ОРГАНИЗАЦИИ: ОПРЕДЕЛЕНИЕ, ПРИЗНАКИ, СВОЙСТВА, СФЕРЫ ПРИМЕНЕНИЯ 45.14 KB
  Выбор конкретного варианта определяется тем какие права делегирует ему высшее руководство организации. Руководители проектов в матричной организации отвечают в целом за интеграцию всех видов деятельности и ресурсов относящихся к данному проекту. Помимо руководителя организации назначается руководитель программы ранг которого выше ранга руководителя организации.
80826. РЕОРГАНИЗАЦИЯ ОРГАНИЗАЦИЙ: ЭТАПЫ, СОДЕРЖАНИЕ ЭТАПОВ, ЗАДАЧИ, РЕШАЕМЫЕ НА ОТДЕЛЬНЫХ ЭТАПАХ 46.03 KB
  Подготовка проекта реорганизации. Цели проекта: задачи и ожидаемые результаты; создание группы реорганизации с определенным удовлетворением квалификации и профессионализма; преодоление сопротивления реорганизации. Задача высшего руководства: обучить управленческую группу методологии проведения реорганизации. Задачи: выявление интересов потребителей; планирование необходимых мероприятий; выбор субъектов и объектов реорганизации; разработка модели текущего состояния организации; выявление видов деятельности организации;...
80827. ОБЩЕСТВЕННОЕ МНЕНИЕ: ОПРЕДЕЛЕНИЕ, ФУНКЦИИ, ПОРЯДОК ФОРМИРВОАНИЯ 45.23 KB
  Субъект общественного мнения общественность или группа характеризующиеся некой ценностью. Объект общественного мнения те факты общественной жизни которые затрагивают интересы группы общности и представляются актуальными социально значимыми. В основе общественного мнения лежат потребности и интересы людей. Признаки общественного мнения: нормативнооценочный характер т.
80828. PR И СМИ: ПРИНЦИПЫ РАБОТЫ, ОСНОВНЫЕ НАПРАВЛЕНИЯ ВЗАИМООТНОШЕНИЙ 47.1 KB
  Связи со СМИ одно из важнейших направлений PR. Именно поддержкой связей со СМИ mssmedi reltions в основном и занимаются большинство PRменеджеров компаний предприятий и организаций. Основные принципы работы со СМИ: представление СМИ одного голоса; сочетание плановости и гибкости; взаимодействие с представителями СМИ осуществляется как на формальном так и на не межличностном уровне Правила работы со СМИ: строить отношения на доверительной основе предоставляя информацию в полном объеме и оговаривать формы использования информации; 2.
80829. ИМИДЖ ОРГАНИЗАЦИИ: ОПРЕДЕЛЕНИЕ, ЗНАЧЕНИЕ, КЛАССИФИКАЦИЯ, ФИРМЕННЫЙ СТИЛЬ 51.62 KB
  Корпоративный имидж целенаправленно создаваемый эмоционально окрашенный образ организации. Цель и задачи корпоративного имиджа привлечение внимания и создание позитивного общественного мнения об организации. Коммерческой организации позитивный имидж помогает увеличить конкурентоспособность на рынке.
80830. КАЧЕСТВО И ЭФФЕКТИВНОСТЬ УПРАВЛЕНЧЕСКОГО РЕШЕНИЯ 45.22 KB
  Две модификации управленческого решения: Теоретически найденное решение; т. понятие качества управленческого решения. эффективность решения.
80831. ОСОБЕННОСТИ И МЕТОДЫ РАЗРАБОТКИ И ПРИНЯТИЯ УПРАВЛЕНЧЕСКИХ РЕШЕНИЙ В ОРГАНАХ ГОСУДАРСТВЕННОЙ ВЛАСТИ И МЕСТНОГО САМОУПРАВЛЕНИЯ 44.64 KB
  На основе анализа ситуации и определения критериев разрабатывается как можно большее количество возможных вариантов решений из которых составляется база данных. Методы принятия решений: 1 индивидуальный решения принимаются непосредственно ответственным лицом руководителем; 2 коллективный решения принимаются в процессе делового совещания мозгового штурма или руководитель сформулировав проблему в письменном виде дает приказание специалистам способным привнести существенный вклад в ее разрешение внести свои предложения. Для этого...