Форум программистов, компьютерный форум, киберфорум
Наши страницы
Информатика
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
1

ЕГЭ 2012

30.04.2012, 20:41. Просмотров 4462. Ответов 34
Метки нет (Все метки)

Доброго времени суток. Прошу помощи с С4 ЕГЭ по информатике.

ЕГЭ 2012


ЕГЭ 2012

Если подскажете какую-нибудь литературу для подготовки к С4 буду еще более благодарен.

Добавлено через 1 час 9 минут
ps. кто не в теме: егэ через месяц. прошу помощи, чтобы разобраться как решать. хотя бы с алгоритмом.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.04.2012, 20:41
Ответы с готовыми решениями:

ЕГЭ
Ищу людей для помощи на егэ по информатики на 30 мая Помощь по сотовому (...

ЕГЭ по информатике
Всем привет! Я учусь в 10 ом классе, и у меня в школе на уроках информатики мы...

Егэ по информатике
Как это решать? И как решить проще В8 и быстрей, вместо того, чтобы всё это...

ЕГЭ В12
как решать такое задание? завтра экзамен, а я не знаю как его делать:D ...

ЕГЭ 2013
Уважаймые программисты, прошу вас помочь мне прорешать варианты к завтрашнему...

34
Jupiter
Каратель
Эксперт С++
6569 / 3990 / 400
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
Завершенные тесты: 2
30.04.2012, 21:10 2
считали N
цикл от 1 до N
1. считали страну
2. посчитали хеш
3. опеределили местоположение в таблице(массив) результатов
4. если ячейка равна нулю - значит такой страны ещё не было, вносим её в список(массив) стран
5. увеличили результат на еденицу
сортируем список стран по таблице результатов
1
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
01.05.2012, 07:29 3
Я бы сделал что-нибудь типа
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
type
  TSinger = record
    country : string;
    votes : integer;
  end;
var
  i, j, n, q : integer;
  singers : array [1..14] of TSinger;
  s : string;
  f : boolean;
  tmp : TSinger;
  
begin
  q := 0;
  readln(n); { Количество}
  
  for i :=1 to n do  begin
    readln(s);
    f := false; 
    
 {Поиск/ добавление страны и плюсование голоса}    
    for j := 1 to q do                        
      if singers[j].country = s then begin
        inc(singers[j].votes);
        f:=true; {страна найдена}
        break;
      end;
    if not f then begin {если не найдена - добавляем}
      inc(q);
      singers[q].country := s;
      singers[q].votes := 1;
    end;
  end;
  
 { Сортировка }
  for i := 1 to q do
   for j := i+1 to q do
    if singers[j].votes > singers[i].votes then begin
      tmp := singers[i];
      singers[i] :=singers[j];
      singers[j] := tmp;
    end;
 {Вывод}   
  for j := 1 to q do
    writeln (singers[j].country,' ',singers[j].votes);
  readln;
 
end.
Вообще я думал посложней что-то.... Хотя и эту задачу я без компа хоть с одной ошибкой, да написал бы... Вроде работает правильно. Написал только потому что мне эта Ега самому грозит... а я еще не готовился вообще.
Совет: не париться с хэшированием (даже не обязательно узнавать что это значит) и вообще с усложнением программы. Программа должна быть проста до нельзя. На еге нет времени на супер-пупер технологии оптимизации добавления строки в массив из 14 строк. Надо делать просто но так, чтоб работало (хотя бы соответствовало синтаксису).
По задаче советую просмотреть основные методы сортировки (пузырьковая и еще там какие-то, я названий не помню). Если есть вопросы по программе - отвечу.

Добавлено через 8 часов 28 минут
ОЙ, блин... вроде смотрел дельфистские темы, а оказался в сишной... Ну, в принципе автор просил хоть что-нибудь...
Но в качестве утренней зарядки перевел на си. Не буду говорить, что мои программки на 100% работают... но вроде результаты правильные
C
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
#include "stdio.h"
#include "string.h"
#include "conio.h"
 
 
main(){
 
 struct singer {
   char country[60];
   unsigned int votes;
 };
 int i, j, n, q, f;
 char s[60];
 singer singers[14];
 singer tmp;
 
 q = 0;
 scanf("%i",&n);
 gets(s);
 
 for (i = 0; i < n; ++i){
   gets(s);
   f = 0;
   
   for (j = 0; j < q; ++j)
     if (strcmp(singers[j].country,s) == 0){
       ++singers[j].votes;
       f = 1;
       break;
     }
     
     if (!f){
       strcpy(singers[q].country,s);
       singers[q].votes = 1;
       ++q;
     }   
 }
 
 for (i = 0; i < q; ++i)
   for (j = i + 1; j < q; ++j)
       if (singers[j].votes > singers[i].votes){
         memcpy(&tmp,&singers[i],sizeof(singer));
         memcpy(&singers[i],&singers[j],sizeof(singer));
         memcpy(&singers[j],&tmp,sizeof(singer));
       }
 for (j = 0; j < q; ++j)
   printf ("%s %i \n", singers[j].country, singers[j].votes);
 getch();
 return 0;
}
1
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
01.05.2012, 11:04  [ТС] 4
В вашей программе Visual Studio выдал 35 ошибок
Но все равно большое спасибо. Вопрос: как это вы так сделали например singers[i].votes
массив.переменная. И что в коде значит
C
1
2
singer singers[14];
 singer tmp;
В остальном код понятен и алгоритм тоже. Но реализация его остается под вопросом.
0
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
01.05.2012, 12:07 5
Я на borland C проверял... там кстати один "костыль" забыл убрать (19я строка)...
Всё-таки раздел про СИ, поэтому старался без плюсов сделать.

Во вложении проект для Visual Studio 2010. Вставил прямо в функцию main, материлась на "небезопасные функции", но программа запустилась. Может Вы не включили заголовочные файлы?

Ввод, при желании, можно привинтить любой. В демо-ЕГЭ за 2011г. написано просто "си" в примерах. Не знаю как это все проверяется... Но если действительно просто Си, значит как минимум cin/cout там не пойдет, т.к. это уже с++.
Кстати, по алгоритмам... Есть такая штука, кодификатор (на сайте фипи вместе с демо лежит)... Вот там алгоритмы в конце вроде перечислены..

C
1
singer singers[14];
Это обычное объявление: тип_переменной Имя_переменной.
Тип переменной - структура. Структура - это набор переменных. (Думаю об этом в интернете достаточно написано).
Я создал массив из 14 структур, описывающих исполнителя. Мне это удобно, т.к. иначе пришлось бы организовывать 2 массива (хотя может кому-то легче 2 массива).

Так вот, структуры хранятся в обычных переменных - значит можно из них сделать массив. Чтобы обратиться к полю(переменной) структуры, надо написать: "переменная_типа_структура.поле_структуры".
1
Вложения
Тип файла: zip пример.zip (8.7 Кб, 9 просмотров)
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
01.05.2012, 14:59  [ТС] 6
Хитро придумали. Честно говоря первый раз такое встречаю. Может опыта маловато или мозгов. Или того и другого

Сношу к чертям VS 11 и ставлю 10. Все равно не компилируется. Если про файлы ввода и вывода ничего в задачах не сказано, то в егэ думаю можно обойтись простой функцией scanf или gets. Большое спасибо. По какой книге вы учили си? Может зря я Крупника читал? И еще: перед самой программой нужно написать краткий ее алгоритм и на чем она должна выполняться. Нужно писать компилятор или язык? Например Dev-C++, Visual Studio или просто С?
0
Миниатюры
ЕГЭ 2012  
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
01.05.2012, 16:25 7
Ну... Это скорей всего больше от опыта зависит. И от задачи тоже: если бы об исполнителях было бы известно еще больше данных (возраст, ФИО, пол), выбор был бы очевиден. "Мозги" тут как раз выражаются в понимании: раз Вы поняли то, с чем не сталкивались, без особых объяснений, значит с умственными способностями всё хорошо.

А ошибку то какую выдает VS?

Книги читать в любом случае полезно. Крупника не читал.. Я сначала учил Pascal, Assembler (Win32), а С/С++ шли попутно. Как-то само запомнилось. Потом в технаре практика была, там и доучил по help'у. Ну и так много книг читал, в т.ч. Страуструпа...
А вообще одно дело прочитать, другое - уметь применять. В программировании, мне кажется, даже язык не столь важен, важно уметь его использовать.

В ЕГЭ, думаю, ничего писать дополнительно не нужно. В принципе, в демо-версии есть ответы, наверное надо ориентироваться на них. В любом случае, думаю, краткий алгоритм писать незачем и компилятор тоже. А вот на счет языка - не знаю (хотя оно и так видно). Проверяют то все-равно вручную.
1
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
01.05.2012, 16:32  [ТС] 8
У меня к сожалению практики никакой никогда не было. Я самоучка.
Благодарю за ответы
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.05.2012, 15:04 9
Пузырьком сортировать не очень эффективно, лучше использовать qsort.
А вообще я в недоумении от С4, не представляю, как за нее можно получить максимум баллов.
Особенно мне не нравится тот факт, что, насколько я знаю, даются только вырвиглазные языки(C/Pascal/Basic), в них очень большая вероятность ошибиться либо банально быть непонятым.
0
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
02.05.2012, 15:28  [ТС] 10
Цитата Сообщение от diagon Посмотреть сообщение
Пузырьком сортировать не очень эффективно, лучше использовать qsort.
А вообще я в недоумении от С4, не представляю, как за нее можно получить максимум баллов.
Особенно мне не нравится тот факт, что, насколько я знаю, даются только вырвиглазные языки(C/Pascal/Basic), в них очень большая вероятность ошибиться либо банально быть непонятым.
на сколько я знаю qsort и прочие функции, которые есть в языке использовать нельзя. алгоритм нужно придумывать свой, либо переписывать функцию в программу. С4 можно писать на любом языке программирования, но как я уже написал выше без стандартных функций.
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
02.05.2012, 15:46 11
Цитата Сообщение от rustock Посмотреть сообщение
на сколько я знаю qsort и прочие функции, которые есть в языке использовать нельзя. алгоритм нужно придумывать свой, либо переписывать функцию в программу.
Еще лучше >_<''
И даже функции вроде sqrt, strlen, scanf, printf самому писать придется? Как то не верится.

Цитата Сообщение от rustock Посмотреть сообщение
С4 можно писать на любом языке программирования, но как я уже написал выше без стандартных функций.
Тогда смысла в этом не особо много. Без STL С++ практически ничем не отличается от С. А на Java, C# и многих других языках вообще нельзя не использовать стандартные библиотеки.

Скорее всего, правило примерно такое:
"Вы можете использовать любые функции стандартной библиотеки, кроме тех, что неизвестны проверяющим экспертам".
Я искал в свое время, что именно можно использовать при решении с4, ничего полезного не нашел. Ну разве что ярость нескольких человек, которые использовали STL, и в итоге получили не все баллы(а если человек знает, как использовать STL, то вряд ли задание с4 оказалось для него слишком сложным).
0
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
02.05.2012, 15:59  [ТС] 12
функции sqrt, strlen,scanf,printf использовать можно это 100%. в книге Авдошина рассматриваются несколько задач С4 на си. и в ней используются данные функции. а вот qsort нет. там пузырек и еще какой-то способ.
По поводу языков уверен точно, что можно использовать любой. Спрашивал лично у фипишцев.

Вы тоже на си пишите?
0
Миниатюры
ЕГЭ 2012  
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
02.05.2012, 19:56 13
Они сами путаницу внесли. Особенно, если верить тому, что можно писать на "любом языке программирования"... Получается, можно написать на ассемблере для редкой RISC-машины программу и они будут бегать и искать спеца, чтобы понять какую-нибудь специфическую инструкцию? А может просто зарежут и разбирайся с ними сколько хочешь)))))

Я думаю С/С++ (ввод/вывод, математика, строки), паскаля, бейсика и псевдокода вполне бы хватило. В школах это учат (должны, как мне кажется). И проблем особых нет. А ругать человека за то, что он использует более продвинутые средства избавления от велосипедизма, нельзя... Это неправильно.

Если посмотреть все их бумажки, то ясно, что их больше интересует алгоритмическая реализация, на уровне простых алгоритмов. Если бы они четко написали, какие библиотеки С/С++ можно использовать - все бы было ясно. Мне кажется все очень запутанно тут, учитывая, что даже ввод/вывод реализован как библиотека... Наверное это надо стандарты читать - но я тут не спец....

Не по теме:

Кстати, проходил тесты. Меня порадовал вопрос:

"Производится двухканальная (стерео) звукозапись с частотой дискретизации 16 кГц и 32-битным разрешением. Запись длится 12 минут, ее результаты записываются в файл, сжатие данных не производится."
Это реально сейчас на информатике учат???!=-O

0
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
02.05.2012, 20:04  [ТС] 14
Ага. Напишем на Brainfuck. Пусть мучаются
Это реально сейчас на информатике учат???!
Нет не учат. По крайней мере у нас. У нас учитель не справляется с элементарным А1 не говоря уже о всем остальном.
UPD: если есть вопросы по тестовой части пишите - помогу
0
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
02.05.2012, 20:58 15
Тема интересная.. Не хотелось оффтопить, но может Модератор любезно перенесет тему в более подходящее место...

Так вот. Нашел что-то на Яндексе.
И встретил знакомое уже мне задание Робот... http://ege.yandex.ru/informatics/question/A13/1
И ее, мне кажется, грубым перебором решить очень трудновато.
А так, остальные задания типа А показались мне легкими.

Дерево игр напугало слегка, рисование тоже )) . Была раньше в демошках задача про бензин. Вот её тоже не помню как решать.
Так я и не нашел ничего по роботу.
Часть В пока не смотрел...
0
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
02.05.2012, 21:19  [ТС] 16
Рисуем траектории, по которой будет двигаться робот, их всегда несколько (по часовой или против часовой стрелке, по вертикали, по горизонтали). Так как условие движения робота цикл, то проще отметить те точки из которых начать движение он не может, а именно те, двигаясь из которых, он упирается в стену, имеющую нижнюю и правую грани. Отметив эти клетки вычитаем из общего кол-ва: 36-10=26.
2
Миниатюры
ЕГЭ 2012  
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
09.05.2012, 08:34 17
Судя по этой ссылке на форум ЕГЭ, STL использовать можно... Я правда этих метод. рекомендаций никогда в глаза не видел. Есть вероятность, что не все проверяющие их смотрят... Ну или те, кто жаловались за низкие баллы при STL, просто-напросто ошиблись в синтаксисе вызова.

4. Программа написана на языке программирования, отличном от Бейсика или Паскаля,
например, на языках С, С++, С#, Java, Perl, PHP и т.д. Такая программа, тем не менее,
должна быть оценена. Это же относится и к особенностям современных версий языков
Паскаль и Бейсик. При необходимости эксперт может воспользоваться справочной
литературой.
5. В программе используется подпрограмма из стандартной библиотеки, например,
сортировка реализована процедурой sort стандартной библиотеки STL языка С++. За
использование библиотечной процедуры и других стандартизованных средств
расширения языка программирования, оценка не снижается. Если при вызове (или
описании) процедуры допущены логические или синтаксические ошибки, то они
учитываются наравне с прочими ошибками.
P.S. У меня уже мысль вспомнить (=выучить) STL :-)
0
rustock
8 / 8 / 2
Регистрация: 29.11.2010
Сообщений: 154
09.05.2012, 09:16  [ТС] 18
Цитата Сообщение от LonelyWanderer Посмотреть сообщение
P.S. У меня уже мысль вспомнить (=выучить) STL :-)
До ЕГЭ чуть больше 2 недель. Думаю, нужно писать на том, что знаешь лучше всего. Я вообще хотел джаву выучить и писать на ней, но... лень..

Для разминки предлагаю задачу С4 из ЕГЭ прошлого года.
С4 на цифры! они существуют!

Касаемо С3:
я узнал, что дерево лучше не строить т.к. данным способом получить максимальный балл за задание практически нереально. Поэтому лучше всего делать рекуррентными соотношениями.
0
diagon
Higher
1937 / 1203 / 120
Регистрация: 02.05.2010
Сообщений: 2,925
Записей в блоге: 2
09.05.2012, 10:07 19
Цитата Сообщение от rustock Посмотреть сообщение
я узнал, что дерево лучше не строить т.к. данным способом получить максимальный балл за задание практически нереально. Поэтому лучше всего делать рекуррентными соотношениями.
Ну задания на рекуррентные соотношения деревом вообще нереально делать, зато динамика там простейшая. А с играми как быть? Там либо строить дерево и смотреть по нему, либо метод ретроспективного анализа, или как его там. А этот метод иногда очень сложно применять..
1
LonelyWanderer
14 / 14 / 1
Регистрация: 22.04.2012
Сообщений: 25
09.05.2012, 10:30 20
Да я тоже так думаю. Набросал решение на STL (для интереса) ... Споткнулся немного с сортировкой (скажем, архитектурная проблема)... Но код шикарный: объявлений больше, чем кода. Вот отлаживать это трудно на бумаге...

Я про С3 прошлых годов. Там вроде про камешки должно было что-то. Слышал, что на реальных ЕГЭ иногда додумываются заменять некоторые задания (правда не части С).


Не по теме:

Просто меня никто не готовил, так что я вообще не в курсе этого всего. Имею 4 пропуска и адрес школы где-то у черта на куличках, которой нет на карте. В интернете нашел письмо президенту, что в этой школе учиться невозможно.... Блин... Ну нашли где ЕГЭ проводить!!!!



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

Кстати, заметил еще одну фишку. При проверке на нечетность и поиске остатков надо помнить что для отрицательных чисел остаток отрицательный, поэтому if (a%2 != 0) лучше , чем if (a%2 == 1). Мелочь, но балл :-)
1
09.05.2012, 10:30
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
09.05.2012, 10:30

Задания по ЕГЭ
Скажите в ЕГЭ могут быть задания где надо работать с компьютером? Например...

Пособие по ЕГЭ
Здравствуйте! 1) Какое можете посоветовать пособие по егэ в виде...

Задача из ЕГЭ(А11)
Доброе утро, Уважаемые форумчане! Никак не могу понять какой ответ правильный....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru