УМК ШКОЛА



** Опишите на русском языке или одном из языков программирования алгоритм
ОГЭ ЕГЭ - РЕШЕНИЯ ЗАДАНИЙ > ** Программирование и алгоритмизация > ** Опишите на русском языке или одном из языков программирования алгоритм
 

Страницы:

Задания - решение
№ 1 Опишите на русском языке или одном из языков программирования алгоритм подсчета максимальной длины последовательности непрерывно возрастающих значений элементов в заданном целочисленном массиве из 30 элементов.
РЕШЕНИЕ:

Например последовательность 12341234562450178451214
Две возрастающие последовательности, но длина наибольшей 6 символов. Ответ 6.

N=30
max=0
d=1
DIM A(30) AS INTEGER

FOR i=1 TO 30
INPUT A(i)
NEXT i

FOR i=1 TO N-1
_____IF A(i)<A(i+1)
________THEN
__________d=d+1
_________ELSE
__________ IF d > max
_____________ THEN
______________ max=d
______________ d=0
__________ END IF
_____ END IF
NEXT i

PRINT max

Для наглядности добавлены пробелы во всех строках программы, но их не должно быть

№ 2 Опишите на русском языке или одном из языков программирования алгоритм вычисления разности максимального среди элементов, имеющих четные значения, и максимального среди элементов, имеющих нечетные значения, в заданном целочисленном массиве из 30 положительных элементов (в предположении, что в массиве есть и четные, и нечетные элементы).
РЕШЕНИЕ:

max максимум среди четных
min минимум среди нечетных
Вычислить max - min

N=30
max=0
min=99999
DIM A(30) AS INTEGER

FOR i=1 TO 30
INPUT A(i)
NEXT i

FOR i=1 TO N-1
_____IF A(i) MOD 2 = 0 AND A(i)>max then max=A(i)
_____IF A(i) MOD 2 = 1 AND A(i)<min then min=A(i)
NEXT i

k=max-min

PRINT k

Для наглядности добавлены пробелы во всех строках программы, но их не должно быть

№ 3 Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, произведение которых максимально (если таких пар несколько, то можно выбрать любую из них).
РЕШЕНИЕ:

N=30
max=0
d=0
k=0
DIM A(30) AS INTEGER

FOR i=1 TO 30
INPUT A(i)
NEXT i

FOR i=1 TO N-1
_____d=A(i)*A(i+1)
_____IF d>max
________THEN
________max=d
________ k=i
_____ END IF
NEXT i

PRINT k

Для наглядности добавлены пробелы во всех строках программы, но их не должно быть

№ 4 Опишите на русском языке или одном из языков программирования алгоритм получения из заданного целочисленного массива размером 30 элементов другого массива, который будет содержать модули значений элементов первого массива (не используя специальной функции, вычисляющей модуль числа).
РЕШЕНИЕ:

N=30
DIM A(30) AS INTEGER
DIM B(30) AS INTEGER

FOR i=1 TO 30
INPUT A(i)
IF A(i)<0 THEN B(i)=A(i)*(-1) ELSE B(i)=A(i)
NEXT i

FOR i=1 TO N
PRINT B(i)
NEXT i



Страницы:
 
Перейти на другой форум:



Логин: Пароль: Забыли пароль?Регистрация
Сайт сделан на SiNG cms © 2010-2020