Паскаль / 1 семестр / проги / Дом работы / Дом раб 1 / DZ
.doc
Федеральное агентство по образованию
Государственное образовательное учреждение высшего профессионального образования
Московский институт электроники и математики
Кафедра “Вычислительные системы и сети”
Домашнее задание
по дисциплине “Программирование ”
Вариант 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
Шилак Евгений
Группа С-11
Вариант 25
Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.
В исходном массиве <N> элементов
Исходный массив
<A1> <A2> … <AN>
В преобразованном массиве - <N> элементов
Преобразованный массив
<A1> <A2> …. <AN>
-
В массиве нет элементов с отрицательными значениями.
Домашняя работа 1
Шилак Евгений
Группа С-11
Вариант 25
Вставить после каждого элемента массива с отрицательным значением элемент, равный ему по абсолютной величине. Рассматривать элементы массива, расположенные на нечетных местах.
В исходном массиве <N> элементов
Исходный массив
<A1> <A2> … <An>
В массиве нет элементов с отрицательными значениями.
-
Аномалии входных данных:
При 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)
Кцикл
Иначе
Вывод (‘В массиве нет элементов с отрицательными значениями’)
Кесли
Иначе
Вывод (‘Ошибка ввода’)
Кесли
Конец
