Скачиваний:
18
Добавлен:
30.04.2013
Размер:
64 Кб
Скачать

Федеральное агентство по образованию

Государственное образовательное учреждение высшего профессионального образования

Московский институт электроники и математики

Кафедра “Вычислительные системы и сети”

Домашнее задание

по дисциплине “Программирование ”

Вариант 25

Выполнил(а):

Руководитель:

Студент(ка) группы С-11

Ст. преподаватель каф ВСиС

Беликова М.А.

Москва 2008

Домашнее задание 1

Тема: “Одномерные массивы”

Задание. Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.

1. Постановка задачи

Дано. Массив чисел.

Требуется. Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.

При:

  • Количество элементов в исходном массиве - N >=1 и N <=20.

  • Значения элементов массива – целые числа.

Связь. Присвоить начальные значения переменным:

    • Kol (количество удаленных элементов массива) - 0;

    • I (текущий номер элемента массива) – N.

Для каждого элемента массива проверить условие. Если Ai <0 , то сдвинуть элементы исходного массива c номерами от I до N-1 влево (A[J]:=A[J+1]) и увеличить значение переменной Kol на 1 ( Kol: = Kol+1).

Если I>1, то перейти к следующему элементу массива I:=I -1, в противном случае проверить значение переменной Kol.

Если Kol>0, то определить новое количество элементов в массиве (N:=N-Kol) и вывести значения элементов массива, в противном случае вывести сообщение “В массиве нет элементов с отрицательными значениями.”

2. Внешняя спецификация

Назначение. Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.

Входные данные.

n- количество элементов массива (целое).

a1,…an – значения элементов массива (целые).

Выходные данные.

  1. В массиве есть элементы с отрицательными значениями.

Домашняя работа 1

Шилак Евгений

Группа С-11

Вариант 25

Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.

В исходном массиве <N> элементов

Исходный массив

<A1> <A2> … <AN>

В преобразованном массиве - <N> элементов

Преобразованный массив

<A1> <A2> …. <AN>

  1. В массиве нет элементов с отрицательными значениями.

Домашняя работа 1

Шилак Евгений

Группа С-11

Вариант 25

Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.

В исходном массиве <N> элементов

Исходный массив

<A1> <A2> … <An>

В массиве нет элементов с отрицательными значениями.

  1. Аномалии входных данных:

При n<1 или n>20

Домашняя работа 1

Шилак Евгений

Группа С-11

Вариант 25

Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.

В исходном массиве <N> элементов

Ошибка ввода

3. Алгоритм решения задачи

Алгоритм “ Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах

Внутрен. перемен.

n1, n : цел. {Количество элементов массива}

Kol: цел. {Количество, удаленных элементов.}

a [1 .. 20] : массив : цел. {Одномерный массив, в котором можно разместить от 1 до 20 элементов.}

i ,j: цел. {Текущие номера элементов массива.}

Начало

Вывод (‘Домашняя работа 1’)

Вывод (‘Шилак Евгений’)

Вывод (‘Группа С-11’)

Вывод (‘Вариант 25’)

Вывод (‘Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.’)

Вывод ('Количество элементов массива – целое число <=20')

Ввод (n)

Если (n>=1) и (n<=20) то

Вывод ( 'Значения элементов массива – целые числа')

Цикл - для i от 1 до n

Вывод (‘A[‘, I, ‘] =’)

Ввод (ai)

Кцикл

Вывод (‘В исходном массиве’, n, ‘элементов’)

Вывод (‘Исходный массив’)

Цикл - для i от 1 до n

Вывод (ai)

Кцикл

Kol:=0

n1:=n

Если (n1 mod 2 = 0) то

n1:=n1-1

i:=n1

Цикл-пока I >=1

Если a[i]<0 то

Цикл - для j от n+Kol до i+1

a[j+1]:=a[j]

a[i+1]:=abs(a[i])

kol:= kol + 1

Кцикл

I:=i-2

Кесли

Кцикл-пока

Если Kol>0 то n:=n+Kol

Вывод (‘В преобразованном массиве’, n, ‘элементов’)

Вывод ( 'Преобразованный массив ')

Цикл - для i от 1 до n

Вывод (ai)

Кцикл

Иначе

Вывод (‘В массиве нет элементов с отрицательными значениями’)

Кесли

Иначе

Вывод (‘Ошибка ввода’)

Кесли

Конец

5

Соседние файлы в папке Дом раб 1