1. Вы здесь:  
  2. Главная
  3. Методическая копилка
  4. Методичка
  5. Подготовка к ГИА
  6. Подготовка к ОГЭ
  7. Интерлиньяж. Как правильно готовить?
  1. Вы здесь:  
  2. Главная
  3. Методическая копилка
  4. Методичка
  5. Подготовка к ГИА
  6. Подготовка к ОГЭ
  7. Интерлиньяж. Как правильно готовить?
  1. Вы здесь:  
  2. Главная
  3. Методическая копилка
  4. Методичка
  5. Подготовка к ГИА
  6. Подготовка к ОГЭ
  7. Интерлиньяж. Как правильно готовить?

Главное меню

  • Главная
  • Новости
  • Статьи
  • Методическая копилка
    • Методичка
      • Подготовка к ГИА
        • Подготовка к ОГЭ
        • Подготовка к ЕГЭ
  • Конспекты уроков
    • 8 класс
      • Кодирование информации
    • 10 класс
      • Кодирование цвета

ОГЭ

Интерлиньяж. Как правильно готовить?

Информация о материале
Ефимов Павел Игоревич
ОГЭ
12 февраля 2024
Просмотров: 195

Интерлиньяж – пожалуй, самая противоречивая характеристика в технологии набора текстов. ГОСТ Р 7.0.3-2006 пункт 3.2.3.34 гласит, что интерлиньяж – межстрочный пробел, это пробел между нижней и верхней линиями смежных строк[1]. Учитывая различные начертания шрифта, данное определение не вносит какой-либо конкретики. Что считать верхней и нижней линиями строк?

Подробнее: Интерлиньяж. Как правильно готовить?

Решение задания 15.2 ГИА-9

Информация о материале
Ефимов Павел Игоревич
ОГЭ
06 февраля 2023
Просмотров: 333

 

3 причины, по которым стоит выполнять задание 15.2:

  1. Задание шаблонное. Достаточно знать и понимать шаблон, чтобы за 5 минут настроить его для решения поставленной задачи.

  2. Задание короткое. Обычно, программа для решения задачи 15.2 занимает не более 8 строк на Python, а чаще — еще меньше.

  3. Простота оценивания. Если программа прошла определенное количество тестов при проверке задания — вы получите максимальный балл. Даже если программа имеет недостатки, которые тесты не выявили.

Таким образом, небольшая подготовка и чуть большая тренировка при решении задач позволяют выполнить 15 задание за минимальное время на максимальный балл.

Итак, рассмотрим основные типы заданий. Найдем основные признаки в тексте задачи:

  1. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

  2. Программа получает на вход количество чисел в последовательности, а затем сами числа.

Таким образом, у нас появляются два основных шаблона алгоритма:

  1. Количество чисел неизвестно, определенное число (обычно, 0) является признаком конца последовательности

  2. Количество чисел вводится на этапе выполнения программы и строго определено.

 

Количество чисел неизвестно

Количество чисел вводится в программе

a=int(input())

[первоначальная инициализация дополнительных данных]

while a!=0:

[обработка значения]

a=int(input())

 

[вывод результатов]

n=int(input())

[первоначальная инициализация дополнительных данных]

for i in range(n):

a=int(input())

[обработка значения]

 

[вывод результатов]

 

В данных примерах использованы общепринятые в математике обозначения, которых я рекомендую придерживаться в дальнейшем.

n — этой буквой в математике обычно обозначается количество чего-либо. В данном случае, это количество чисел, которые нам надо ввести.

a — этой буквой в математике обозначаются элементы арифметических последовательностей. То есть, в нашем случае, это как раз те самые числа, которые мы должны вводить и обрабатывать.

 

Далее, вы видите три блока:

  1. Первоначальная инициализация дополнительных данных.

  2. Обработка значения

  3. Вывод результатов

Что мы напишем в этих блоках напрямую зависит от того, что нам надо вывести в качестве результата. И тут у нас есть несколько типовых обработок:

  1. Нахождение количества элементов последовательности, удовлетворяющих критериям

  2. Нахождение суммы элементов последовательности, удовлетворяющих критериям

  3. Нахождение минимального значения элементов последовательности, удовлетворяющих критериям.

  4. Нахождение максимального значения элементов последовательности, удовлетворяющих критериям.

  5. Нахождение среднего арифметического значения элементов последовательности, удовлетворяющих критериям.

Если вдруг вспомню или обнаружу еще какие-то типы заданий — обязательно допишу.

 

Начнем по порядку.

1. Нахождение количества элементов последовательности, удовлетворяющих критериям.

Для того, чтобы мы могли найти количество элементов последовательности, нам нужна переменная, в которой мы это количество будем хранить. Далее мы будем следовать правилу: переменную суммы инициализируем нулем, переменную произведения — единицей. Это правило должно выполнятся всегда, если нам не сообщают что-то другого в условии задачи. Количество значений — это сумма, так как мы будем каждый раз прибавлять единичку, когда будем находить нужное значение.

Итак, блок инициализации:

c=0

Буквой c в информатике обычно обозначается количество чего-либо, которое не задается, а подсчитывается.

 

Блок обработки:

if [критерий] :

c+=1

 

Блок вывода результатов:

print(c)

 

2. Нахождение суммы элементов последовательности, удовлетворяющих критериям/

Для нахождения суммы элементов, нам нужна переменная, в которой мы будем накапливать сумму. Обычно, ее обозначают буквой s.

Блок инициализации:

s=0

 

Блок обработки:

if [критерий] :

s+=a

 

Блок вывода результатов:

print(s)

 

3. Нахождение минимального значения элементов последовательности, удовлетворяющих критериям.

При нахождении минимального или максимального значения, необходимо руководствоваться следующими правилами:

при нахождении минимального значения, переменную инициализируем невероятно большим значением (значение невероятности читаем в условии);

при нахождении максимального значения, переменную инициализируем минимально возможным или невероятно минимальным значением (тоже, нужно читать условие).

Минимальное значение будем обозначать именем mina.

Блок инициализации:

mina=30001

Обычно, в задачах, значения чисел не превышают 30 000, следовательно число 30 001 будет невероятно большим.

 

Блок обработки:

if [критерий] :

mina=min(mina,a)

 

Блок вывода результатов:

 

print(mina)

 

4. Нахождение максимального значения элементов последовательности, удовлетворяющих критериям.

Максимальное значение будем обозначать именем maxa.

 

Блок инициализации:

maxa=-30001

Если в задаче сказано, что, значения чисел по модулю не превышают 30 000, следовательно возможно присутствие отрицательных чисел. Тогда число -30 001 будет невероятно маленьким. Иначе можно использовать значение 0, но перед этим надо внимательно прочитать условие.

 

Блок обработки:

if [критерий] :

maxa=max(maxa,a)

 

Блок вывода результатов:

 

print(maxa)

 

5. Нахождение среднего арифметического значения элементов последовательности, удовлетворяющих критериям.

 

Это задание является комбинацией 1 и 2 варианта заданий, так как нам надо найти и количество, и сумму. Заодно, это задание демонстрирует, как мы можем комбинировать различные варианты, если вдруг такое вылезет в условии.

 

Итак, блок инициализации:

c=0

s=0

 

Блок обработки:

if [критерий] :

c+=1

s+=a

 

Блок вывода результатов:

print(s/c)

 

В последнем случае, нужно быть очень осторожным, так как у нас операция деления. Нужно очень внимательно читать условие, что там написано. Если вы не найдете упоминания, что в последовательности гарантированно есть числа, удовлетворяющие условию, то необходимо произвести проверку, является ли c нулем.

if c==0:

[читаем условие, что в этом случае надо сделать]

else:

print(s/c)

 

 

Критерии.

 

Это часть условия, в которой рассказывается, какие именно числа мы ищем. И тут можно воспользоваться следующим справочником:

 

№ п/п

Выражение на языке Python

Как читать по-русски

1

a%b==0

Число а делится на число b (число a кратно числу b)

2

a%10==b

Десятичная запись числа a заканчивается на цифру b

2.1

a%q==b

Как возможный вариант, запись числа a в системе счисления с основанием q заканчивается на b (остаток от деления a на q равен b)

3

a>9 and a<100

Сложное условие, говорит, что a — двузначное число

3.1

a>99 and a<1000

То же самое, только a — трехзначное число.

3.2

a in range(100,1000)

То же, что и предыдущий пример, только для «истинных питонистов».

4

a%2==1

a — нечетное число

4.1

a%2==0

Внезапно, a — четное число.

5

abs(a)

Модуль (абсолютное значение) числа a.

 

Это далеко не весь перечень возможных вариантов, но и этого должно хватить для многих задач.

 

Ну а теперь, смотрим, как это применить:

Задача 1.

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 6 и оканчивающихся на 8. Программа получает на вход количество чисел в последовательности, а затем сами числа.

Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.

Программа должна вывести одно число: количество чисел, кратных 6 и оканчивающихся на 8.

 

Итак, я выделил самое главное в программе. Что здесь особенного: в программе упоминается последовательность натуральных чисел. Вспомним, что натуральными называются числа, используемые для счета предметов. Это целые положительные числа. Но при этом, в условии есть упоминание, что « числа по модулю не превышают...», то есть как бы намекают нам, что числа могут быть и отрицательные. Что это? Разработчики «торопились и допустили ошибку», как когда-то было популярно писать в одном из заданий, или хотят вас запутать? Не знаю, но мы всегда знаем, как можно себя подстраховать.

 

Итак:

Рассматриваем вариант:

Количество чисел вводится в программе

программа должна вывести количество чисел,

критерий: кратных 6 и оканчивающихся на 8

собираем программу:

 

n=int(input())

c=0

for i in range(n):

a=int(input())

if abs(a)%6==0 and abs(a)%10==8:

c+=1

print(c)

 

Рассмотрим другой вариант задания:

Напишите программу, которая в последовательности натуральных чисел находит среднее арифметическое двузначных чисел или сообщает, что таких чисел нет (выводит «NO»). Программа получает на вход натуральные числа,

количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).

Количество чисел не превышает 100. Введённые числа не превышают 300.

Программа должна вывести среднее арифметическое двузначных чисел или вывести «NO», если таких чисел нет. Значение выводить с точностью до десятых.

 

Хитрое задание.

С одной стороны, разработчики страхуют вас от ошибки деления на 0 — просят вывести строку «NO», если чисел, удовлетворяющих критерию не найдем. С другой стороны, требуют вывести значение с точностью до десятых. Для этого придется применить маленький трюк:

print("{:.1f}".format(s/c))

 

Здесь мы используем форматный вывод. Этой строкой мы говорим, что нам нужно вывести после запятой 1 символ, то есть как раз, точность до десятых.

 

Рассматриваем вариант:

Количество чисел неизвестно (оканчивается нулем)

Программа должна вывести среднее арифметическое чисел

критерий: двузначные числа

 

собираем программу:

 

a=int(input())

s=0

c=0

while a!=0:

if a>9 and a<100:

s+=a

c+=1

a=int(input())

if c==0:

print(«NO»)

else:

print("{:.1f}".format(s/c))

Готовимся к ГИА. Задание 4

Информация о материале
Ефимов Павел Игоревич
ОГЭ
25 февраля 2016
Просмотров: 852

Задание 4 Государственной итоговой аттестации проверяет знания об организации данных в виде файловой системы.

Подробнее: Готовимся к ГИА. Задание 4

Готовимся к ГИА. Задание 3

Информация о материале
Ефимов Павел Игоревич
ОГЭ
24 февраля 2016
Просмотров: 579

Третья задание в ГИА.

Данное задание относится к разделу информационного моделирования и представления информации.

Подробнее: Готовимся к ГИА. Задание 3

Готовимся к ГИА. Задание 2

Информация о материале
Ефимов Павел Игоревич
ОГЭ
23 февраля 2016
Просмотров: 607

Второе задание из ГИА.

Это - ну очень упрощенное задание из ЕГЭ. Задание, относящееся к разделу Логика.

Подробнее: Готовимся к ГИА. Задание 2

  1. Готовимся к ГИА. Задание 1

Страница 1 из 2

  • 1
  • 2