====== Проект по подготовке к ЕГЭ по информатике ====== ===== Основная теория по теме ===== Для того, чтобы успешно писать программы на Турбо-Паскале, нужно знать некоторые понятия по теме программирования. Ниже вы можете ознакомиться с основной теорией. * [[http://valera.asf.ru/delphi/book/tp01.shtml|Общие сведения о паскале ]] Общие сведения по языку Паскаль, история развития, этапы программирования. * [[http://valera.asf.ru/delphi/book/tp02.shtml|Среда Турбо-Паскаль]] Описание интегрированной среды программирования. Наиболее часто употребляемые команды встроенного текстового редактора. * [[http://valera.asf.ru/delphi/book/tp03.shtml|Алфавит и структура языка Турбо-Паскаль]] Перечень употребляемых в языке символов. Используемые при написании программ объекты. Правила написания идентификаторов. * [[http://valera.asf.ru/delphi/book/tp04.shtml|Общая струкура программы]] Стандартные разделы типичной паскаль-программы. Порядок следования и правила написания. * [[http://valera.asf.ru/delphi/book/tp05.shtml|Типы переменных]] Классификация и характеристики типов, используемых в языке. * [[http://valera.asf.ru/delphi/book/tp06.shtml|Операции и стандартные функции]] Приоритет операций, стандартные математические функции и процедуры Турбо-Паскаля, функции преобразования типов, порядковые функции. * [[http://valera.asf.ru/delphi/book/tp07.shtml|Операторы Турбо-Паскаля]] Описание операторов ввода-вывода данных. * [[http://valera.asf.ru/delphi/book/tp08.shtml|Условные операторы]] Описание оператора выбора CASE и условного оператора IF. * [[http://valera.asf.ru/delphi/book/tp09.shtml|Операторы цикла]] Описание цикла с параметром FOR, а также операторов WHILE и REPEAT. * [[http://valera.asf.ru/delphi/book/tp10.shtml|Массивы]] Способы описания и приемы работы с массивами. * [[http://valera.asf.ru/delphi/book/tp11.shtml|Строковые переменные]] Описание строковых переменных и некоторые стандартные процедуры и функции работы со строками. * [[http://valera.asf.ru/delphi/book/tp12.shtml|Множества]] Описание структурированного типа "Множество" (SET) * [[http://valera.asf.ru/delphi/book/tp13.shtml|Переменные типа "запись"]] Описание и работа с типом RECORD * [[http://valera.asf.ru/delphi/book/tp14.shtml|Процедуры и функции]] Понятие о подпрограммах (процедурах и функциях). Примеры описания и реализации. * [[http://valera.asf.ru/delphi/book/tp15.shtml|Текстовые файлы]] Способы записи информации на внешние носители информации. А также чтение данных из файлов. * [[http://valera.asf.ru/delphi/book/tp16.shtml|Блок-схемы алгоритмов]] Описание унифицированных алгоритмических структур с примером. ===== Полезные интернет ресурсы ===== В этом разделе представлены ссылки на интернет ресурсы, которые могут вам помочь в подготовке к ЕГЭ по информатике. ------ * 1.Министерство образования и науки Российской Федерации\\ [[http://www.mon.gov.ru/|www.mon.gov.ru]] \\ * 2.Федеральный институт педагогических измерений\\ [[http://www.fipi.ru/|www.fipi.ru]] \\ * 3.«Демонстрационный вариант ЕГЭ 2007»\\ [[http://www.nwportal.ru/ege/inf2007.htm|www.nwportal.ru]]\\ * 4.Сайт информационной поддержки ЕГЭ\\ [[http://www.ege.ru/|www.ege.ru]]\\ * 5.Российский общеобразовательный портал\\ [[http://www.school.edu.ru/|www.school.edu.ru]]\\ * 6.Московское образование\\ [[http://www.mosedu.ru/|www.mosedu.ru]]\\ * 7.Он-лайн тестирование\\ [[http://www.klyaksa.net/test_online/|www.klyaksa.net]]\\ * 8.Электронный репетитор\\ [[http://www.c-mentor.ru/download/ege_inform.shtml|www.c-mentor.ru]]\\ * 9.Московский институт открытого образования\\ [[http://schools.keldysh.ru/faculty-it/ege/ege.htm|schools.keldysh.ru]]\\ * 10.Задачи для подготовки к ЕГЭ\\ [[http://www.aktanish.ru/edu/school/aktsh3/info/ege.htm|www.aktanish.ru]]\\ * 11.Молодежный форум по образованию\\ [[http://forum.allsoch.ru/|forum.allsoch.ru]]\\ * 12.Он-лайн тест на «егеизм». Проверься!\\ [[http://www.ht.ru/on-line/tests/egeism.php|www.ht.ru]]\\ * 13.Сайт полезных ссылок по ЕГЭ\\ [[http://www.eltarea.ru/rb-topic_t_194.htm|www.eltarea.ru]]\\ * 14.Каталог интернет-ресурсов для абитуриентов\\ [[http://www.abiturcenter.ru/|www.abiturcenter.ru]]\\ * 15.Федеральный портал «Российское образование»\\ [[http://www.edu.ru/|www.edu.ru]]\\ * 16.Информатика и ИКТ в образовании\\ [[http://www.rusedu.info/Article92.html|www.rusedu.info]]\\ ===== Разбор некоторых задач ===== В этом разделе представлены задачи, которые могут помочь вам в подготовке к государственному эгзамену. ------ C1 **Условие задачи:** Требовалось написать программу, которая решает уравнение "//ax + b = 0//" относительно x для любых чисел a и b, введенных с клавиатуры. Все числа считаются действительными. Программист торопился и написал программу неправильно. var a, b, x: real; begin readln(a,b,x); if b = 0 then write('x = 0') else if a = 0 then write('нет решений') else write('x =',-b/a); end Последовательно выполните три задания: 1) Приведите пример таких чисел a, b, x, при которых программа неверно решает поставленную задачу.\\ 2) Укажите, какая часть программы является лишней.\\ 3) Укажите, как нужно доработать программу, чтобы не было случаев ее неправильной работы. (Это можно сделать несколькими способами, поэтому можно указать любой способ доработки исходной программы.)\\ **Вариант решения задачи:** 1) a = 0, b = 0, x = 0 (значение x можно не указывать, допустим ответ, что x - любое число).\\ 2) Лишняя часть:\\ не нужно вводить x c клавиатуры\\ верно: readln(a,b);\\ 3) Возможная доработка:\\ readln(a,b); if a = 0 then if b = 0 then write('любое число') else write('нет решений') else write('x=',-b/a); ------- C2 **Условие задачи:** Опишите на русском языке или одном из языков программирования алгоритм поиска номера первого из двух последовательных элементов в целочисленном массиве из 30 элементов, сумма которых максимальна (если таких пар несколько, то можно выбрать любую из них). **Наиболее эффективное написание программы:** const N=30; var a:array[1..N] of integer; MaxSum, MaxNum, i: integer; begin MaxNum:=1; MaxSum:=a[1]+a[2]; for i:=2 to N-1 do begin if a[i]+a[i+1]>MaxSum then begin MaxNum:=1; MaxSum:=a[i]+a[i+1]; end end; writeln(MaxNum); end. ----- C2 **условие задачи:** Опишите на русском языке или на одном из языков программирования алгоритм подсчета числа элементов равных максимальному в числовом массиве из 30 элементов. **Комментарии к решению задачи:** Введем целочисленную переменную //Max//, в которую будем заносить максимальный из просмотренных элементов массива, и целочисленную переменную //Num//, в которой будем подсчитывать число повторений максимального элемента в просмотренной части массива. В цикле до конца массива: сравниваем очередной элемент массива с текущим значением переменной //Max//, если он больше, то заносим его значение в //Max// и устанавливаем счётчик //Num// в 1, если они равны, то увеличиваем счетчик //Num// на 1. По окончании цикла переменная //Num// содержит число повторений мксимального элемента массива. **Пример правильной и эффективной программы (на основе алгоритма, использующего однократный проход по массиву):** const N=30; var a:array[1..N] of integer; Max, Num, i: integer; begin Max:=a[1]; Num:=1; for i:=2 to N do begin if a[i]>Max then begin Max:=a[i]; Num:=1; end else if a[i]=Max then Num:=Num+1; end; writeln(Num); end.