Главная Учителю ЕГЭ ГИА  

Основное меню

 
 

Контакты

 
krasakova@bk.ru
 

 
 

Найти: на urok-ikt.narod.ru на Яндексе

Главная / Подготовка к ЕГЭ / Составление программ

27 - составление программ

Видеоурок с разбором решения задания № 27 (2015).

Видеоурок с разбором решения задания С4 ЕГЭ 2013 (http://videouroki.net)

Решение задач:

Пример 1. (ЕГЭ-2014). По каналу связи передаётся последовательность положительных целых чисел, все числа не превышают 1000. Количество чисел известно, но может быть очень велико. Затем передаётся контрольное значение последовательности – наибольшее число R, удовлетворяющее следующим условиям:

  1. R – произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел; допускаются произведения различных элементов последовательности, равных по величине);
  2. R делится на 21.

Если такого числа R нет, то контрольное значение полагается равным 0.

В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.

Напишите эффективную, в том числе по используемой памяти, программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет проверять правильность контрольного значения.

Программа должна напечатать отчёт по следующей форме:

Вычисленное контрольное значение: …

Контроль пройден (или – Контроль не пройден)

Перед текстом программы кратко опишите используемый Вами алгоритм решения.

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

Пример входных данных:
6
70
21
997
7
9
300
21000

Пример выходных данных для приведённого выше примера входных данных:
Вычисленное контрольное значение: 21000
Контроль пройден

 
Пример готовой программы
 
 

Пример 2. По каналу связи передаются данные в виде последовательности положительных целых чисел. Количество чисел заранее неизвестно, но не менее двух, признаком конца данных считается число 0. После данных передаётся контрольное значение. Оно равно такому максимально возможному произведению двух чисел из переданного набора, которое делится на 7, но не делится на 49. Если такое произведение получить нельзя, контрольное значение считается равным 1.

Напишите эффективную, в том числе по памяти, программу, которая будет моделировать процесс приёма данных. Программа должна ввести все числа и контрольное значение и напечатать краткий отчёт, включающий количество принятых чисел, принятое контрольное значение, вычисленное контрольное значение и вывод о совпадении значений.

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

Описание входных данных

В каждой строке исходных данных содержится одно целое число. Сначала идут строки с основными данными – положительными числами, затем число 0 (признак окончания данных), в последней строке – контрольное значение.

Описание выходных данных

Программа должна вывести отчёт по форме, приведённой ниже в примере.

Пример входных данных: Пример выходных данных:

6

Введено чисел: 4

7

Контрольное значение: 64

8

Вычисленное значение: 63

9

Значения не совпали

0

 

64

 
 
  Пример готовой программы
 

Пример 3. (ЕГЭ-2013). На вход программе подаются сведения о пассажирах, желающих сдать свой багаж в камеру хранения на заранее известное время до полуночи. В первой строке сообщается число пассажиров N, которое не меньше 3, но не превосходит 1000; во второй строке – количество ячеек в камере хранения K, которое не меньше 10, но не превосходит 1000. Каждая из следующих N строк имеет следующий формат:

<Фамилия> <время сдачи багажа> <время освобождения ячейки>,

где <Фамилия> – строка, состоящая не более чем из 20 непробельных символов;

<время сдачи багажа> – через двоеточие два целых числа, соответствующие часам (от 00 до 23 – ровно 2 символа) и минутам (от 00 до 59 – ровно 2 символа);

<время освобождения ячейки> имеет тот же формат.

<Фамилия> и <время сдачи багажа>, а также <время сдачи багажа> и <время освобождения ячейки> разделены одним пробелом. Время освобождения больше времени сдачи.

Сведения отсортированы в порядке времени сдачи багажа. Каждому из пассажиров в камере хранения выделяется свободная ячейка с минимальным номером. Если в момент сдачи багажа свободных ячеек нет, то пассажир уходит, не дожидаясь освобождения одной из них.

Требуется написать программу (укажите используемую версию языка программирования, например Borland Pascal 7.0), которая будет выводить на экран для каждого пассажира номер ему предоставленной ячейки (можно сразу после ввода данных очередного пассажира). Если ячейка пассажиру не предоставлена, то его фамилия не печатается.

Пример входных данных: Результат работы программы на этих входных данных:
3 Иванов 1
10 Петров 2
Иванов 09:45 12:00 Сидоров 1
Петров 10:00 11:00  
Сидоров 12:00 13:12  
 
  Пример готовой программы
 

Пример 4. По каналу связи передаётся последовательность положительных целых чисел. Все числа не превышают 1000, их количество известно, но может быть очень велико. Затем передаётся контрольное значение – наибольшее число R, удовлетворяющее следующим условиям:

  1. R – произведение двух различных переданных элементов последовательности («различные» означает, что не рассматриваются квадраты переданных чисел; допускаются произведения различных элементов последовательности, равных по величине);
  2. R не делится на 10.

В результате помех при передаче как сами числа, так и контрольное значение могут быть искажены.

Напишите эффективную, в том числе по используемой памяти, программу, которая будет проверять правильность контрольного значения. Программа должна напечатать отчёт по следующей форме:

Получено чисел: …

Принятое контрольное значение: …

Вычисленное контрольное значение: …

Контроль пройден (или Контроль не пройден)

Если удовлетворяющее условию контрольное значение определить невозможно, вычисленное контрольное значение не выводится, но выводится фраза «Контроль не пройден».

 Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию.

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

Пример входных данных:
5
60
7
8
15
20
105

Выходные данные
Программа должна напечатать отчёт по образцу, приведённому в условии.

Пример выходных данных для приведённого выше примера входных данных:
Получено чисел: 5
Принятое контрольное значение: 105
Вычисленное контрольное значение: 105
Контроль пройден

 
  Пример готовой программы
 

Пример 5. На вход программе подаются сведения о сдаче экзаменов учениками 9-х классов некоторой средней школы. В первой строке сообщается количество учеников N, которое не меньше 10, но не превосходит 100, каждая из следующих N строк имеет следующий формат:

<Фамилия> <Имя> <оценки>,

где <Фамилия> – строка, состоящая не более чем из 20 символов, <Имя> – строка, состоящая не более чем из 15 символов, <оценки> – через пробел три целых числа, соответствующие оценкам по пятибалльной системе. <Фамилия> и <Имя>, а также <Имя> и <оценки> разделены одним пробелом. Пример входной строки:

Иванов Петр 4 5 3
Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран фамилии и имена трех худших по среднему баллу учеников. Если среди остальных есть ученики, набравшие тот же средний балл, что и один из трех худших, то следует вывести и их фамилии и имена.
 
 
  Пример готовой программы
 

Пример 6. Дед Мороз и Снегурочка приходят на детские утренники с мешком конфет. Дед Мороз делит конфеты поровну между всеми присутствующими детьми (детей на утреннике никогда не бывает больше 100), а оставшиеся конфеты отдает Снегурочке. Снегурочка каждый раз записывает в блокнот количество полученных конфет. Если конфеты разделились между всеми детьми без остатка, Снегурочка ничего не получает и ничего не записывает. Когда утренники закончились, Деду Морозу стало интересно, какое число чаще всего записывала Снегурочка. Дед Мороз и Снегурочка – волшебные, поэтому число утренников N, на которых они побывали, может быть очень большим.

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

Желательно, чтобы программа была эффективной как по времени работы, так и по используемой памяти. Программу будем считать эффективной по памяти, если используемая память не зависит от размера входных данных (то есть числа утренников).

Программу будем считать эффективной по времени, если при увеличении размера входных данных N в t раз (t – любое число) время её работы увеличивается не более чем в t раз.

Описание входных данных

В первой строке вводится одно целое положительное число – количество утренников N.
Каждая из следующих N строк содержит два целых числа: сначала D – количество пришедших на очередной утренник детей, а затем K – количество конфет в мешке Деда Мороза на этом утреннике. Гарантируется выполнение следующих соотношений:
1 ≤ N ≤ 10000
1 ≤ D ≤ 100 (для каждого D)
D ≤ K ≤ 1000 (для каждой пары D, K)

Описание выходных данных

Программа должна вывести одно число – то, которое Снегурочка записывала чаще всего. Если несколько чисел записывались одинаково часто, надо вывести большее из них. Если Снегурочка ни разу ничего не записывала, надо вывести ноль.

Пример входных данных: Пример выходных данных:

7

31

10  58

 

15  315

 

20  408

 

100  1000

 

32  63

 

32  63

 

11  121

 
  Пример готовой программы
 
 
 

Учащиеся гимназии могут задать вопросы по решению задач.

 

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

 
 

Рейтинг@Mail.ru

Дистанционное обучение

начальная школа
5 класс
6 класс
7 класс
8 класс
9 класс
10 класс
11 класс
 

 

Copyright © 2011 Красакова О.Н. E-mail: krasakova@bk.ru