Дополнительное задание Параграф 19 ГДЗ Семакин 9 класс (Информатика)
1 уровень сложности
- Разработать схему алгоритма, который вводит массив из $$N$$ целых чисел и выводит на экран этот же массив в прямом и обратном порядке. Протестировать алгоритм на произвольных массивах, состоящих из 1 числа, из 5 чисел, из 10 чисел.
- Разработать схему алгоритма, который вводит массив из $$N$$ целых чисел и выводит номера отрицательных элементов и сами эти элементы. Протестировать алгоритм для следующих массивов:
а) $$3\ 5\ -2\ 3\ -2\ 0\ -6\ -8\ 1$$
б) $$-1\ -2\ -3\ -4\ 0\ -1\ 2\ 3$$ - Разработать схему алгоритма, который вводит массив из $$N$$ целых чисел и выводит на экран элементы с чётными номерами. Протестировать алгоритм на произвольных массивах размерностью 5 и 8 элементов.
- Разработать схему алгоритма, который вводит массив из $$N$$ целых чисел и выводит на экран сам массив и сумму всех его элементов. Протестировать алгоритм на следующих массивах:
а) $$1\ 3\ 4\ -2$$
б) $$0\ 1\ -2\ 10\ 11\ 12\ -10\ -3$$
в) $$1\ 1\ 1\ 1\ -1\ -1\ -1\ -1$$
2 уровень сложности
- Разработать схему алгоритма, который запрашивает массив из $$N$$ целых чисел, а затем складывает все элементы с нечётными номерами и все элементы с чётными номерами и выводит их суммы, а также сам исходный массив. Пример: массив $$6\ 3\ 5\ 1\ 1\ 3$$. Протестировать алгоритм на приведённом выше примере, а также на двух других произвольных тестах.
- Разработать схему алгоритма, который вводит массив из $$N$$ целых чисел и выводит на экран элементы с нечётными номерами в обратном порядке. Протестировать алгоритм для следующих исходных данных:
а) $$1\ 3\ 5\ 6\ 8\ 9$$
б) $$-1\ 4\ 6\ 2\ 4\ 6\ 8\ 6\ 9\ 3$$ - У прилавка магазина выстроилась очередь из $$N$$ покупателей. Время обслуживания $$i$$-го покупателя равно $$t_i$$. Определить время $$C_i$$ пребывания $$i$$-го покупателя в очереди. Разработать схему алгоритма для решения этой задачи. Протестировать алгоритм на следующих исходных данных:
а) Номер покупателя — 5. Время обслуживания отдельных покупателей (в минутах): $$1\ 1.5\ 2\ 1.5\ 2.5\ 3\ 1.5\ 1$$
б) Номер покупателя — 7. Время обслуживания отдельных покупателей (в минутах): $$1\ 1.5\ 2\ 1.5\ 2.5\ 3\ 1.5\ 1\ 1$$
3 уровень сложности
- Разработать схему алгоритма, который в заданном одномерном массиве размерности $$N$$ меняет местами соседние элементы, стоящие на чётных местах, с соседними элементами, стоящими на нечётных местах. Пример: массив $$2\ 4\ 6\ 8\ 1\ 2$$. Протестировать алгоритм на приведённом выше примере, а также на двух других произвольных тестах.
- Разработать схему алгоритма, который вводит последовательность вещественных чисел, состоящую из $$N$$ элементов, и определяет, является ли эта последовательность возрастающей. Разработать тесты для проверки правильности работы алгоритма.
- Дан целочисленный массив размерности $$N$$. Необходимо «сжать» массив, выбросив из него каждый второй элемент. Дополнительный массив использовать нельзя. Разработать схему алгоритма для решения этой задачи. Пример. Исходный массив: $$1\ 3\ 4\ 6\ 3\ 2$$. Протестировать алгоритм на приведённом выше примере, а также на двух других произвольных тестах.
Для каждого пункта достаточно организовать ввод массива, затем выполнить нужный проход по элементам и вывести результат. В алгоритмах используем индексацию с 1.
1 уровень сложности
Вывод массива в прямом и обратном порядке:
алг Вывод_массива_1
нач
. цел таб N[1:5]
. цел i
. нц для i от 1 до 5 шаг 1
. . вывод «N[«, i, «]=»
. . ввод N[i]
. кц
. нц для i от 1 до 5 шаг 1
. . вывод N[i], » «
. кц
. вывод нс
. нц для i от 5 до 1 шаг -1
. . вывод N[i], » «
. кц
конВывод номеров отрицательных элементов и самих элементов:
алг Вывод_массива_2
нач
. цел таб N[1:10]
. цел i
. нц для i от 1 до 10 шаг 1
. . вывод «N[«, i, «]=»
. . ввод N[i]
. кц
. нц для i от 1 до 10 шаг 1
. . если N[i] < 0 то вывод «номер > «, i, «, значение > «, N[i], нс
. . все
. кц
конПроверка:
- для массива $$3\ 5\ -2\ 3\ -2\ 0\ -6\ -8\ 1$$ отрицательные элементы: $$-2,\ -2,\ -6,\ -8$$, их номера: $$3,\ 5,\ 7,\ 8$$;
- для массива $$-1\ -2\ -3\ -4\ 0\ -1\ 2\ 3$$ отрицательные элементы: $$-1,\ -2,\ -3,\ -4,\ -1$$, их номера: $$1,\ 2,\ 3,\ 4,\ 6$$.
Вывод элементов с чётными номерами:
алг Вывод_массива_3
нач
. цел таб N[1:10]
. цел i
. нц для i от 1 до 10 шаг 1
. . вывод «N[«, i, «]=»
. . ввод N[i]
. кц
. нц для i от 1 до 10 шаг 1
. . если mod(i,2)=0 то вывод «номер > «, i, «, значение > «, N[i], нс
. . все
. кц
конВывод массива и суммы всех его элементов:
алг Вывод_массива_4
нач
. цел таб N[1:10]
. цел i, s
. нц для i от 1 до 10 шаг 1
. . вывод «N[«, i, «]=»
. . ввод N[i]
. кц
. s:=0
. нц для i от 1 до 10 шаг 1
. . s:=s+N[i]
. . вывод N[i], » «
. кц
. вывод нс
. вывод «Сумма элементов = «, s
конПроверка:
- $$1\ 3\ 4\ -2 \Rightarrow S=1+3+4-2=6$$;
- $$0\ 1\ -2\ 10\ 11\ 12\ -10\ -3 \Rightarrow S=19$$;
- $$1\ 1\ 1\ 1\ -1\ -1\ -1\ -1 \Rightarrow S=0$$.
2 уровень сложности
Суммы элементов с нечётными и чётными номерами:
алг массив_1
нач
. цел таб N[1:10]
. цел i, sch, snch
. нц для i от 1 до 10 шаг 1
. . вывод «N[«, i, «]=»
. . ввод N[i]
. кц
. sch:=0; snch:=0
. нц для i от 1 до 10 шаг 1
. . вывод N[i], » «
. . если mod(i,2)=0 то sch:=sch+N[i]
. . иначе snch:=snch+N[i]
. . все
. кц
. вывод нс
. вывод «Сумма элементов с четными номерами = «, sch, нс
. вывод «Сумма элементов с нечетными номерами = «, snch
конДля примера $$6\ 3\ 5\ 1\ 1\ 3$$ получаем:
$$6+5+1=12$$ — сумма элементов с нечётными номерами, $$3+1+3=7$$ — сумма элементов с чётными номерами.
Элементы с нечётными номерами в обратном порядке:
алг массив_2
нач
. цел таб N[1:10]
. цел i
. нц для i от 1 до 10 шаг 1
. . вывод «N[«, i, «]=»
. . ввод N[i]
. кц
. вывод «элементов с нечетными номерами в обратном порядке», нс
. нц для i от 10 до 1 шаг -1
. . если mod(i,2)<>0 то вывод N[i], » «
. . все
. кц
конВремя пребывания i-го покупателя в очереди равно сумме времен обслуживания всех покупателей от первого до i-го:
алг массив_3
нач
. цел i, n, k
. вещ ti
. n:=8
. вещ таб t[1:n]
. нц для i от 1 до n шаг 1
. . ввод t[i]
. кц
. вывод «Введи номер покупателя > «
. ввод k
. ti:=0
. нц для i от 1 до k шаг 1
. . ti:=ti+t[i]
. кц
. вывод «Покупатель находился в очереди «, ti, » минут»
конДля покупателя $$5$$:
$$C_5=t_1+t_2+t_3+t_4+t_5=1+1{,}5+2+1{,}5+2{,}5=8{,}5$$ минуты.
Для покупателя $$7$$:
$$C_7=t_1+t_2+t_3+t_4+t_5+t_6+t_7=1+1{,}5+2+1{,}5+2{,}5+3+1{,}5=13$$ минут.
3 уровень сложности
Меняем местами соседние элементы: $$1\leftrightarrow 2,\ 3\leftrightarrow 4,\ 5\leftrightarrow 6,\dots$$
алг массив_1
нач
. цел i, n, k
. n:=8
. цел таб t[1:n]
. нц для i от 1 до n шаг 1
. . ввод t[i]
. кц
. нц для i от 2 до n шаг 2
. . k:=t[i]
. . t[i]:=t[i-1]
. . t[i-1]:=k
. кц
. нц для i от 1 до n шаг 1
. . вывод t[i], » «
. кц
конДля примера $$2\ 4\ 6\ 8\ 1\ 2$$ получаем $$4\ 2\ 8\ 6\ 2\ 1$$.
Проверка возрастающей последовательности:
алг массив_2
нач
. цел i, n, k
. лог f
. n:=8
. вещ таб t[1:n]
. нц для i от 1 до n шаг 1
. . ввод t[i]
. кц
. f:=да
. нц для i от 2 до n шаг 1
. . если t[i] < t[i-1] то
. . . f:=нет
. . все
. кц
. если f то вывод «Возрастающая»
. иначе вывод «Невозрастающая»
. все
конАлгоритм выводит «Возрастающая», если для всех $$i$$ выполняется $$t_i \ge t_{i-1}$$, иначе — «Невозрастающая».
«Сжать» массив, убрав каждый второй элемент, можно сдвигом нечётных элементов в начало массива:
алг массив_3
нач
. цел i, n, k
. n:=8
. цел таб t[1:n]
. нц для i от 1 до n шаг 1
. . ввод t[i]
. кц
. вывод «Присвоение 0 каждому 2-му элементу», нс
. нц для i от 2 до n шаг 2
. . t[i]:=0
. кц
. i:=2
. вывод «Сдвиг массива», нс
. нц для k от 3 до n шаг 2
. . t[i]:=t[k]
. . i:=i+1
. кц
. k:=i-1
. вывод «Вывод полученного массива», нс
. нц для i от 1 до k
. . вывод t[i], » «
. кц
конДля примера $$1\ 3\ 4\ 6\ 3\ 2$$ получаем $$1\ 4\ 3$$.
Ответ
Готовые алгоритмы приведены выше для всех пунктов задания.







