Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RFpro.ru: Консультации по информатике


Хостинг портала RFpro.ru:
Московский хостер
Профессиональный ХОСТИНГ на базе Linux x64 и Windows x64

РАССЫЛКИ ПОРТАЛА RFPRO.RU

Лучшие эксперты данной рассылки

Асмик Александровна
Статус: Академик
Рейтинг: 7869
∙ повысить рейтинг »
Роман Селиверстов
Статус: Академик
Рейтинг: 2348
∙ повысить рейтинг »
Абаянцев Юрий Леонидович aka Ayl
Статус: Профессионал
Рейтинг: 2308
∙ повысить рейтинг »

/ НАУКА И ОБРАЗОВАНИЕ / Точные и естественные науки / Информатика

Номер выпуска:221
Дата выхода:02.05.2011, 13:30
Администратор рассылки:lamed (Академик)
Подписчиков / экспертов:132 / 133
Вопросов / ответов:0 / 0

Статья отправлена lamed (Академик)
дата отправки: 02.05.2011, 12:01

ЕГЭ-2011. C2. Задачи 16-26. Basic

Добрый день, уважаемые читатели. Продолжаем выкладывать решения заданиий для подготовки к ЕГЭ по нформатике, C2. Basic.
Решения задач 1-5 приведены в статье Задачи C2:1-5
Решения задач 6-10 приведены в статье Задачи C2:6-10
Решения задач 11-15 приведены в статье Задачи C2:11-15

Источники заданий:
1. Демонстрационные варианты ЕГЭ 2004-2011 гг.
2. Гусева И.Ю. ЕГЭ. Информатика: раздаточный материал тренировочных тестов. — СПб: Тригон, 2009.
3. Самылкина Н.Н., Островская Е.М. Информатика: тренировочные задания. – М.: Эксмо, 2009.
4. Якушкин П.А., Ушаков Д.М. Самое полное издание типовых вариантов реальных заданий ЕГЭ 2010. Информатика. — М.: Астрель, 2009.
Для разработки программ использованы решения на языке Pascal, представленные К.Ю.Поляковым в файле answC2.doc
Нумерация заданий соответствует приведенной в файле C2.doc
Всю ответственность за допущенные в решениях на Basic несет автор решений: lamed.
С вопросами и пожеланиями обращайтесь в личную почту lamed@rfpro.ru.
Удачи!

Код:
REM Задание c2-16. Дан целочисленный массив из 30 элементов. Элементы массива могут 
REM принимать произвольные целые значения. Опишите на русском языке или на одном из
REM языков программирования алгоритм, который находит и REM выводит сумму наибольшей
REM возрастающей последовательности подряд идущих элементов. Если таких
REM последовательностей несколько, можно вывести любую из них. Исходные данные
REM объявлены так, как показано ниже. Запрещается использовать переменные, не
REM описанные ниже, но разрешается не использовать часть из них.

REM N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim l as integer
REM dim lmax as integer
REM dim s as integer
REM dim smax as integer

REM for i=1 to N
REM input a(i)
REM next i
REM ...
REM end

N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM l AS INTEGER
DIM lmax AS INTEGER
DIM s AS INTEGER
DIM smax AS INTEGER

FOR i = 1 TO N
INPUT a(i)
NEXT i
lmax = 0
l = 1
s = a(1)
FOR i = 2 TO N
IF a(i) > a(i - 1) THEN
l = l + 1
s = s + a(i)
ELSE
l = 1
s = a(i)
END IF
IF l > lmax THEN
lmax = l
smax = s
END IF
NEXT i
PRINT smax
END

Код:
REM Задание c2-17. Дан целочисленный массив из 30 элементов. Элементы массива 
REM могут принимать любые целые значения. Опишите на русском языке или на одном из
REM языков программирования алгоритм, который находит и выводит номер элемента
REM массива, наименее отличающегося от среднего арифметического всех его элементов.
REM Исходные данные объявлены так, как показано ниже. Запрещается использовать
REM переменные, не описанные ниже, но разрешается не использовать часть из них.

REM N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim k as int eger
REM dim s as single
REM dim min as single
REM for i=1 to N
REM input a(i)
REM next i
REM ...
REM end
N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM k AS INTEGER
DIM s AS SINGLE
DIM min AS SINGLE

FOR i = 1 TO N
INPUT a(i)
NEXT i

s = 0
FOR i = 1 TO N
s = s + a(i)
NEXT i

s = s / N
k = 1
FOR i = 2 TO N
IF ABS(a(i) - s) < ABS(a(k) - s) THEN
k = i
END IF
NEXT i
PRINT k
END

Код:
REM Задание c2-18. Дан целочисленный массив из 30 элементов. Элементы массива могут
REM принимать произвольные целые значения. Опишите на русском языке или на одном из
REM языков программирования алгоритм, который находит и выводит номера двух
REM элементов массива, сумма которых минимальна. Исходные данные объявлены так, как
REM показано ниже. Запрещается использовать переменные, не описанные ниже, но
REM разрешается не использовать часть из них.

REM N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim j as integer
REM dim min as integer
REM dim min2 as integer
REM dim s as integer
REM for i=1 to N
REM input a(i)
REM next i
REM ...
REM end

N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM min AS INTEGER
DIM min2 AS INTEGER
DIM s AS INTEGER
FOR i = 1 TO N
INPUT a(i)
NEXT i

IF a(1) < a(2) THEN
min = 1
min2 = 2
ELSE
min = 2
min2 = 1
END IF
FOR i = 3 TO N
IF a(i) < a(min) THEN
min2 = min
min = i
ELSEIF a(i) < a(min2) THEN
min2 = i
END IF
NEXT i
PRINT min; min2
END

Код:
REM Задание c2-19. Дан целочисленный массив из 30 элементов. Элементы массива могут 
REM принимать произвольные целые значения. Опишите на русском языке или на одном из
REM языков программирования алгоритм, который находит и выводит номера двух
REM элементов массива, наименее отличающихся друг от друга. Исходные данные
REM объявлены так, как показано ниже. Запрещается использовать переменные, не
REM описанные ниже, но разрешается не использовать часть из них.

REM N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim j as integer
REM dim min1 as integer
REM dim min2 as integer
REM for i=1 to N
REM input a(i)
REM next i
REM ...
REM end

N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM min1 AS INTEGER
DIM min2 AS INTEGER
FOR i = 1 TO N
INPUT a(i)
NEXT i

min = 1
min2 = 2
s = ABS(a(1) - a(2))
FOR i = 1 TO N - 1
FOR j = i + 1 TO N
IF ABS(a(i) - a(j)) < s THEN
s = ABS(a(i) - a(j))
min = i
min2 = j
END IF
NEXT j
NEXT i
PRINT min; min2
END

Код:
REM Задание c2-20. Дан целочисленный массив из 30 элементов. Элементы массива могут 
REM принимать значения от –1000 до 1000. Опишите на русском языке или на одном из
R EM языков программирования алгоритм, который находит и выводит среднее
REM арифметическое всех элементов массива, оканчивающихся цифро й 5. Гарантируется,
REM что хотя бы один такое элемент в массиве есть. Исходные данные объявлены так,
REM как показано ниже. Запрещается использовать переменные, не описанные ниже,
REM но разрешается не использовать часть из них.

REM N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim x as integer
REM dim y as integer
REM dim s as single
REM for i=1 to N
REM input a(i)
REM next i
REM ...
REM end

N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM x AS INTEGER
DIM y AS INTEGER
DIM s AS SINGLE
FOR i = 1 TO N
INPUT a(i)
NEXT i

x = 0
y = 0
FOR i = 1 TO N
IF ABS(a(i)) MOD 10 = 5 THEN
x = x + 1
y = y + a(i)
END IF
NEXT i
s = y / x
PRINT USING "###.##"; s
END

Код:
REM Задание c2-21. Дан целочисленный массив из 30 элементов. Элементы массива могут 
REM принимать значения от 0 до 1000. Опишите на русском языке или на одном из языков
REM программирования алгоритм, который находит и выводит среднее арифметическое всех
REM элементов массива, имеющих нечётное значение. Гарантируется, что хотя бы один
REM такое элемент в массиве есть. Исходные данные объявлены так, как показано ниже.
REM Запрещается использовать переменные, не описанные ниже, но разрешается не
REM использовать часть из них.

REM N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim x as integer
REM dim y as integer
REM dim s as single
REM for i=1 to N
REM input a(i)
REM next i
REM ...
REM end

N = 30
DIM a(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM x AS INTEGER
DIM y AS INTEGER
DIM s AS SINGLE
FOR i = 1 TO N
INPUT a(i)
NEXT i

x = 0
y = 0
FOR i = 1 TO N
IF a(i) MOD 2 <> 0 THEN
x = x + 1
y = y + a(i)
END IF
NEXT i
s = y / x
PRINT USING "###.##"; s
END

Код:
REM Задание c2-22. Опишите на русском языке или одном из языков программирования 
REM алгоритм подсчета максимального количества подряд идущих отрицательных элементов
REM в целочисленном массиве длины 30.

N = 30
DIM A(1 TO N) AS INTEGER
DIM i AS INTEGER, k AS INTEGER, kMax AS INTEGER

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

k = 0
kMax = 0
FOR i = 1 TO N
IF A(i) < 0 THEN
k = k + 1
ELSE
k = 0
END IF
IF k > kMax THEN
kMax = k
END IF
NEXT i
PRINT kMax
END

Код:
REM Задание c2-23. Дан целочисленный массив из 30 элементов. Элементы массива могут 
REM принимать целочисленные значения от -20 до 20 – сведения о температуре за каждый
REM день ноября. Опишите на русском языке или на одном из языков программирования
REM алгоритм, который находит и выводит максимальную температуру среди дней, когда
REM были заморозки (температура опускалась ниже ну ля). Гарантируется, что хотя бы
REM один день в ноябре была отрицательная температура. Исходные данные объявлены
REM так, как пока зано ниже. Запрещается использовать переменные, не описанные ниже,
REM но разрешается не использовать часть из них.

REM n=30
REM dim a(1..n) as integer
REM dim i as integer
REM dim j as integer
REM dim max as integer
REM for i=l to N
REM input a(i)
REM next i
REM ...
REM end

n = 30
DIM a(1 TO n) AS INTEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM max AS INTEGER
FOR i = 1 TO n
INPUT a(i)
NEXT i
max = -100
FOR i = 1 TO n
IF (a(i) < 0) AND (a(i) > max) THEN
max = a(i)
END IF
NEXT i
PRINT max
END

Код:
REM Задание c2-24. Опишите на русском языке или 
 одном из языков программирования 
REM алгоритм вычисления среднего арифметического элементов квадратной матрицы
REM размером 5 на 5, стоящих на главной диагонали.

N = 5
DIM A(1 TO N, 1 TO N) AS INTEGER
DIM i AS INTEGER, S AS INTEGER

FOR i = 1 TO N
FOR k = 1 TO N
INPUT A(i, k)
NEXT k
NEXT i

S = 0
FOR i = 1 TO N
S = S + A(i, i)
NEXT i
PRINT USING "###.##"; S / N
END

Код:
REM Задание c2-25. Дан целочисленный массив из 30 элементов, все элементы которого
REM – неотрицательные числа, не превосходящие 10000. Опишите на русском языке или на
REM одном из языков програм мирования алгоритм, который находит и выводит минимальное
REM трехзначное число, записанное в этом массиве. Если таких чисел нет, нужно
REM вывести сообщение «Таких чисел нет». Исходные данные объявлены так, как показано
REM ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не
REM использовать часть из них.
REM dim a(1..n) as integer
REM DIM i AS INTEGER
REM DIM j AS INTEGER
REM DIM min AS INTEGER
REM FOR i = l TO N
REM INPUT A(i)
REM NEXT i
REM ...
REM END

N = 30
DIM A(1 TO N) AS INTEGER
DIM i AS INTEGER
DIM min AS INTEGER

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

min = 1000
FOR i = 1 TO N
IF (100 <= A(i)) AND (A(i) < 1000) AND (A(i) < min) THEN
min = A(i)
END IF
NEXT i

IF min = 1000 THEN
PRINT "Нет таких элементов"
ELSE
PRINT min
END IF
END

Код:
REM Задание C2-26. Дан целочисленный массив из 30 элементов, все элементы которого – 
REM положительные числа, не превосходящие 100. Опишите на русском языке или на одном
REM из языков программирования алгоритм, который находит и выводит номер элемента,
REM имеющего максимальное количество целочисленных делителей (если таких элементов
REM несколько, то номер любого из них). Исходные данные объявлены так, как показано
REM ниже. Запрещается использовать переменные, не описанные ниже, но разрешается не
REM использовать часть из них

REM N = 30
REM DIM a(1 TO n) AS INTEGER
REM DIM i AS INTEGER
REM DIM j AS INTEGER
REM DIM k AS INTEGER
REM DIM imax AS INTEGER
REM DIM kmax AS INTEGER

REM FOR i = 1 TO n
REM INPUT a(i)
REM NEXT i
REM ...
REM end

N = 30
DIM a(1 TO N) AS IN TEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM k AS INTEGER
DIM imax AS INTEGER
DIM kmax AS INTEGER

FOR i = 1 TO N
INPUT a(i)
NEXT i

FOR i = 1 TO N
k = 0
FOR j = 1 TO a(i)
IF a(i) MOD j = 0 THEN
k = k + 1
END IF
NEXT j

IF (i = 1) OR (k > kmax) THEN
imax = i
kmax = k
END IF
NEXT i
PRINT a(imax)
END


Оценить выпуск »
Нам очень важно Ваше мнение об этом выпуске рассылки!

Задать вопрос экспертам этой рассылки »

Скажите "спасибо" эксперту, который помог Вам!

Отправьте СМС-сообщение с тестом #thank НОМЕР_ОТВЕТА
на короткий номер 1151 (Россия)

Номер ответа и конкретный текст СМС указан внизу каждого ответа.

Полный список номеров »

* Стоимость одного СМС-сообщения от 7.15 руб. и зависит от оператора сотовой связи. (полный список тарифов)
** При ошибочном вводе номера ответа или текста #thank услуга считается оказанной, денежные средства не возвращаются.
*** Сумма выплаты эксперту-автору ответа расчитывается из суммы перечислений на портал от биллинговой компании.



В избранное