Подготовка к ЕГЭ (С 4) Обработка данных, вводимых в виде символьных строк или последовательности чисел.

Презентация:



Advertisements
Похожие презентации
Подготовка к ЕГЭ. Часть С. C4: Обработка данных, вводимых в виде символьных строк (написать программу средней сложности из строк).
Advertisements

Пример задачи с решением C4 (высокий уровень, время – 60 мин)
Подготовка к ЕГЭ Задание C4 (вариант 1) Заключительный этап олимпиады по астрономии проводился для учеников 9-11-х классов, участвующих в общем.
Информатика. ЕГЭ. Задачи части С. C1 (повышенный уровень, время – 30 мин) Тема: Исправление ошибок в простой программе с условными операторами.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
ЕДИННЫЙ ГОСУДАРСТВЕННЫЙ ЭКЗАМЕН Часть С демо-варианта 2009.
Записи. При организации хранения информации на компьютере требуется группировать данные разного типа, относящиеся к одному объекту. Например, целесообразно.
Апрель - май 2011 г. Выполнил : Шамов Сергей Ученик 11 б класса МОУ ФСОШ 2 « с углубленным изучение отдельных предметов » Апрель - май 2011 г. Задания.
К.Ю. Поляков, Е.А. Ерёмин, 2013 Программирование на языке Паскаль § 66. Символьные строки 1.
Ключевая тема этого задания ЕГЭ – использование вложенных условных операторов, причем в тексте задания фрагмент программы обычно записан без отступов «лесенкой»
1 Программирование на языке Паскаль Часть II Символьные строки.
LOGO ЕГЭ. Информатика Рекомендации по выполнению заданий блока С (С2) Учитель информатики МОУ гимназии 1 Красакова О.Н. Новокуйбышевск, 2011 г.
Задания сЗадания сТребовалось написать программу, при выполнении которой с клавиатуры считываются координаты точки на плоскости (х, у - действительные.
ЕГЭ 2012 Информатика и ИКТ Консультация 3. Пример.
При решении многих задач приходится обрабатывать большое количество однотипных данных. Для хранения этих данных пришлось бы вводить большое количество.
Turbo Pascal 11-В Любченко Аня и Слободянюк Настя.
Подготовка к ЕГЭ. Решение заданий С 4.. Статград. декабрь На плоскости дан набор точек с целочисленными координатами. Необходимо найти четырёхугольник.
Результаты ГИА по информатике Ульяновск, ЕГЭ Участников 507 Пороговый балл - 40 Доля участников, не преодолевших «минимальный порог» (%) Доля участников,
ЕГЭ 2012 Информатика и ИКТ Консультация 4ЕГЭ 2012 Информатика и ИКТ Консультация 4.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Транксрипт:

Подготовка к ЕГЭ (С4) Обработка данных, вводимых в виде символьных строк или последовательности чисел.

стандартные функции для работы со строками используют стандартные функции (здесь s – это переменная типа string, символьная строка; n и r – целые переменные) n := Length(s); записать длину строки s в целую переменную n s1 := Copy(s, 2, 5); записать в символьную строку s1 подстроку строки s, которая начинается с символа с номером 2 и состоит из 5 символов (важно – не со 2-го по 5-ый символ!) n := Pos(Школа', s); записать в целую переменную n номер символа, с которого в строке s начинается подстрока Школа' (если ее нет, в переменную n записывается 0); так же можно искать отдельные символы (важно: сначала указываем, что ищем, а потом – где)

Стандартные процедуры Delete(s, 2, 5); удалить из строки s 5 символов, начиная со второго Insert(Школа', s, 3); вставить в строку s фрагмент Школа', начиная с третьего символа (между 2-м и 3-м) Val(s, n, r); преобразовать строку s в целое число и записать результат в переменную n ; если при этом произошла ошибка, в переменной r будет номер ошибочного символа, если все нормально – ноль

На вход программе подаются сведения о номерах школ учащихся, участвовавших в олимпиаде. В первой строке сообщается количество учащихся N, каждая из следующих N строк имеет формат: где – строка, состоящая не более чем из 20 символов, – строка, состоящая из 4-х символов (буква, точка, буква, точка), – не более чем двузначный номер. и, а также и разделены одним пробелом. Пример входной строки: Иванов П.С. 57 Требуется написать как можно более эффективную программу (укажите используемую версию языка программирования, например, Borland Pascal 7.0), которая будет выводить на экран информацию, из какой школы было меньше всего участников (таких школ может быть несколько). При этом необходимо вывести информацию только по школам, пославшим хотя бы одного участника. Следует учитывать, что N>=1000.

const LIM = 99; var C:array[1..LIM] of integer; i, p, N, k, r, Min: integer; s:string; begin for k:=1 to 99 do C[k]:=0; readln(N); for i:=1 to N do begin readln(s); { читаем очередную строку } { выделяем часть после второго пробела } p := Pos(' ', s); Delete(s, 1, p+5); { определяем номер школы k } Val(s, k, r); C[k] := C[k] + 1; { увеличиваем счетчик k-ой школы } end; Min := N; for k:=1 to LIM do if (C[k] <> 0) and (C[k]<Min) then Min := C[k]; for k:=1 to LIM do if C[k] = Min then writeln(k); end.

На что обратить внимание: – внимательно читайте условие, убедитесь, что вы понимаете смысл каждой строчки; для каждой мелочи постарайтесь определить, зачем она добавлена в условие, что она дает для решения задачи, что ограничивает, что не разрешает делать – определите, какая именно информация из условия нужна для решения задачи, а какая – не нужна

– определите, что именно требуется вывести на экран в результате работы программы – начинайте составлять программу с больших блоков, записывая ее сначала на псевдокоде, а потом уточняя детали

– проверяйте «крайние» варианты (например, возможность выхода за границы массива) – проверьте, правильно ли заданы (и заданы ли вообще) начальные значения для всех переменных

– будьте внимательны, когда в массиве есть «мертвые» элементы, которые не нужно учитывать; проверяйте, что в этом случае ваши алгоритмы (например, поиск минимального элемента) работают правильно – проверьте, правильно ли расставлены операторные скобки begin-end, ограничивающие тело цикла; их обязательно нужно ставить, если в теле цикла несколько операторов

– при использовании функции Pos не забывайте, что первый параметр – что ищем (образец), а второй – где ищем – чтобы эксперту было легче понять вашу программу (особенно, если она получилась «нестандартной»), пишите комментарии; объясняйте, что хранится в основных переменных

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

За что снимают баллы:

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

– неэффективность алгоритма: o используется алгоритм, имеющий сложность, когда есть алгоритм сложности o используется несколько проходов по массиву, когда достаточно одного o лишний расход памяти ( используются дополнительные массивы или размер массива определен неверно) o используются операции с вещественными числами, когда можно все решить в целых числах

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

– перепутаны знаки, логические операции or и and – применяется недопустимая операция, например, div или mod для вещественных чисел – неверно расставлены операторные скобки begin-end – в цикле for используется вещественная переменная (Паскаль) – в цикле while или repeat не изменяется переменная цикла, из-за чего происходит зацикливание

синтаксические ошибки (знаки пунктуации – запятые, точки, точки с запятой; неверное написание ключевых слов); чтобы получить 4 балла, при абсолютно верном решении нужно сделать не более одной синтаксической ошибки; на 3 балла – до трех ошибок, на 2 балла – до пяти и на 1 балл – до семи ошибок

Задачи для тренировки В файле: «Задания С4.doc»