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

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


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

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

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

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

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

Номер выпуска:220
Дата выхода:23.04.2011, 11:00
Администратор рассылки:lamed (Академик)
Подписчиков / экспертов:133 / 134
Вопросов / ответов:0 / 0

Статья отправлена lamed (Академик)
дата отправки: 23.04.2011, 09:11

ЕГЭ-2011. C2. Задачи 11-15. Basic

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


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

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

N = 5
DIM A(1 TO N, 1 TO N) AS INTEGER
DIM i AS INTEGER
DIM j AS INTEGER
DIM count AS INTEGER
DIM sred AS SINGLE

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

sred = 0
FO R i = 1 TO N
sred = sred + A(i, i)
NEXT

count = 0
IF sred < 0 THEN
sred = 0
END IF

FOR i = 1 TO N
FOR j = 1 TO N
IF A(i, j) * N > sred THEN
count = count + 1
END IF
NEXT j
NEXT i
PRINT count
END

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

REM const N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim j as integer
REM dim s as single
REM
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, j AS INTEGER, s 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

j = 0
FOR i = 1 TO N
IF a(i) * N > s THEN
j = j + 1
END IF
NEXT i
PRINT j
END

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

REM const N=30
REM dim a(1 to n) as integer
REM dim i as integer
REM dim j as integer
REM dim x as integer
REM
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, j AS INTEGER, x AS INTEGER

FOR i = 1 TO n
INPUT a(i)
NEXT i
INPUT x

REM Так называемый Short circuit в моей версии QBasic не работает
REM IF (i > n) or a(i)=x THEN...
REM если i> ;n, не должно рассматриваться второе условие, поскольку
REM сложное высказывание (дизъюнкция) уже истинно, однако..
REM В связи с этим применяем хитрость.
REM Используем переменную j как индикатор окончания цикла
REM Тогда цикл DO WHILE работает
i = 1
j = 1
DO WHILE j
IF (i > n) THEN
j = 0
ELSEIF a(i) = x THEN
j = 0
ELSE
i = i + 1
END IF
LOOP

IF (i > n) THEN
PRINT "Нет таких элементов"
ELSE
PRINT i
END IF
END

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

REM CONST n = 30
REM DIM a(1 TO n) AS INTEGER
REM DIM i AS INTEGER
REM DIM k AS INTEGER
REM DIM max AS INTEGER
REM DIM max2 AS INTEGER
REM
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, k AS INTEGER, max AS INTEGER, max2 AS INTEGER

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

IF a(1) > a(2) THEN
max = a(1)
max2 = a(2)
ELSE
max = a(2)
max2 = a(1)
END IF

FOR i = 3 TO n
IF a(i) > max THEN
max2 = max
max = a(i)
ELSEIF a(i) > max2 THEN
max2 = a(i)
END IF
NEXT i
PRINT max2
END

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

REM const 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
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, j AS INTEGER, k AS INTEGER

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

i = 1
j = 1
k = 0
DO WHILE j = 1
IF i > n THEN
j = 0
ELSEIF (k = 2) AND (a(i) > 0) THEN
j = 0
k = i
ELSE
IF a(i) > 0 THEN
k = k + 1
END IF
i = i + 1
END IF
LOOP
IF i > n THEN
PRINT "Меньше трех положительных элементов"
ELSE
PRINT i
END IF
END


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

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

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

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

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

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

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



В избранное