Форум » Обработка числовых последовательностей » Тенденция? » Ответить

Тенденция?

tavabar: Рассматривая последние предложенные варианты ЕГЭ (тренировочные, репетиционные...), прихожу к выводу, что в С4 не планируется проверка знаний по обработке данных строкового типа. В основном это задачи на обработку числовых данных, просто посложнее, чем в С2. Стоит делать далеко идущие выводы?

Ответов - 22, стр: 1 2 All

Поляков: tavabar пишет: Рассматривая последние предложенные варианты ЕГЭ (тренировочные, репетиционные...), прихожу к выводу, что в С4 не планируется проверка знаний по обработке данных строкового типа. В основном это задачи на обработку числовых данных, просто посложнее, чем в С2. Стоит делать далеко идущие выводы? Мне кажется, что нужно обращать особое внимание на работы, которые идут через МИОО, все-таки это ближе к ФИПИ. :-) Формально могут дать все, что подпадает под классификатор.

PavelG: Мне кажется, что нужно обращать особое внимание на работы, которые идут через МИОО, все-таки это ближе к ФИПИ Возник вот какой вопрос: насколько полные варианты заданий МИОО(часть А,В,С) соответствуют по сложности реальным заданиям? И можно ли как-нибудь познакомиться с реальными вариантами прошлых лет? Спасибо.

Поляков: PavelG пишет: насколько полные варианты заданий МИОО(часть А,В,С) соответствуют по сложности реальным заданиям? Этого никто не знает. А кто знает - тот молчит. :-) И можно ли как-нибудь познакомиться с реальными вариантами прошлых лет? Легально - никак.


кот Бегемот: PavelG пишет: насколько полные варианты заданий МИОО(часть А,В,С) соответствуют по сложности реальным заданиям? Судя по материалам прошлых лет, демо-версии эти задания соответствуют очень даже, другое дело, что в ФИПИ сидят мудрецы, и никто не знает, что им взбредёт в голову в этом году. Так в прошлом году они всех здорово кинули, предложив на ЕГЭ ряд задач, которых и близко не было в демо-версии, в итоге, например, задачу на системы логических уравнений (часть В) решили 4% сдававших, так что никто не может гарантировать, что в этом году они не выкинут что-то подобное. К примеру, возьмут да и вернут логические задачи или введут задачи на работу с видеофайлами. Пути ФИПИшные неисповедимы.

Айбу: В С4, судя по тренировочной работе от 23 марта, снова появились строки. Причем, задача нестандартная, сложнее многих.

Поляков: Айбу пишет: В С4, судя по тренировочной работе от 23 марта, снова появились строки. Причем, задача нестандартная, сложнее многих. А в чем сложность? Ищем первый пробел с конца строки, выделяем последнее слово...

Айбу: В том, что нужно как-то изменить окончание. И отсортировать, как я понимаю, массив записей.

Поляков: Айбу пишет: В том, что нужно как-то изменить окончание. Не нужно. Два массива строк по 12 элементов. И отсортировать, как я понимаю, массив записей. Ну, это стандартная задача.

oval: Поляков пишет: Два массива строк по 12 элементов. А второй зачем строковый? Вот, например, вариант решения type data = record m:string; c:integer; end; var s: string; n,i,j:integer; a:array[1..12]of data; t:data; Begin readln(n); for i:=1 to 12 do begin a[ i].c:=0; case i of 1: a[ i].m:='январь'; 2: a[ i].m:='февраль'; 3: a[ i].m:='март'; 4: a[ i].m:='апрель'; 5: a[ i].m:='май'; 6: a[ i].m:='июнь'; 7: a[ i].m:='июль'; 8: a[ i].m:='август'; 9: a[ i].m:='сентябрь'; 10: a[ i].m:='октябрь'; 11: a[ i].m:='ноябрь'; 12: a[ i].m:='декабрь'; end; end; for i:=1 to n do begin readln(s); while pos(' ',s)<>0 do delete(s,1,pos(' ',s)); {в строке оставляем только название месяца} s:=copy(s,1,3); {по трем буквам месяц определяется однозначно} if s = 'янв' then a[1].c:=a[1].c+1; if s = 'фев' then a[2].c:=a[2].c+1; if s = 'мар' then a[3].c:=a[3].c+1; if s = 'апр' then a[4].c:=a[4].c+1; if s = 'мая' then a[5].c:=a[5].c+1; {"май" из трех букв, поэтому учитываем окончание} if s = 'июн' then a[6].c:=a[6].c+1; if s = 'июл' then a[7].c:=a[7].c+1; if s = 'авг' then a[8].c:=a[8].c+1; if s = 'сен' then a[9].c:=a[9].c+1; if s = 'окт' then a[10].c:=a[10].c+1; if s = 'ноя' then a[11].c:=a[11].c+1; if s = 'дек' then a[12].c:=a[12].c+1; end; for i := 1 to 11 do for j := i+1 to 12 do if a[j-1].c < a[j].c then begin t:=a[j-1];a[j-1]:=a[j];a[j]:=t end; for i:= 1 to 12 do if a.c <> 0 then writeln(a[ i].m+' ',a[ i].c) end. можно было не заморачиваться с тремя буквами, а сравнивать целиком с названием месяца учитывая окончание

Поляков: oval пишет: А второй зачем строковый? Например, так: [pre2]const m: array[1..12] of string = ('январь','февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'); mr: array[1..12] of string = ('января','февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');[/pre2]После этого if-цепочки можно красиво свернуть в циклы.

oval: const m: array[1..12] of string = ('январь','февраль', 'март', 'апрель', 'май', 'июнь', 'июль', 'август', 'сентябрь', 'октябрь', 'ноябрь', 'декабрь'); mr: array[1..12] of string = ('января','февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'); 1. только, что меня убеждали, что это не везде работает 2. + еще массив счетчиков Поляков пишет: После этого if-цепочки можно красиво свернуть в циклы. пожалуйстаif s = 'мая' then a[5].c:=a[5].c+1; {"май" из трех букв, поэтому учитываем окончание} for j:= 1 to 12 do if pos(s,a[j].m)<>0 then a[j].c:=a[j].c+1; end; в предыдущем посте выделено цветом, какие строки заменяет цикл

tavabar: oval пишет: while pos(' ',s)<>0 do delete(s,1,pos(' ',s)); Мне понравился этот способ получения последнего слова...

oval: tavabar пишет: Мне понравился этот способ получения последнего слова... Работает при условии, что после него нет пробела

Dmitry78: Добавил свое решение, идея та же самая, разница в получении месяца и немного в реализации type data = record p1:string; raz:integer; end; var Info: array[1..12] of data; n,k,i,m,j:integer; x:data; c:string; sl:string; begin cls; for i:=1 to 12 do Info[ i].raz:=0; readln(n); for i:=1 to n do begin read(c); for j:=1 to length(c)-3 do if c[j]=' ' then sl:=c[j+1]+c[j+2]+c[j+3]; if sl='янв' then begin Info[1].p1 := 'январь'; Info[1].raz :=Info[1].raz+1; end; if sl='фев' then begin Info[2].p1 := 'февраль'; Info[2].raz :=Info[2].raz+1; end; if sl='мар' then begin Info[3].p1 := 'март'; Info[3].raz :=Info[3].raz+1; end; if sl='апр' then begin Info[4].p1 := 'апрель'; Info[4].raz :=Info[4].raz+1; end; if (sl='мая') or (sl='май') then begin Info[5].p1 := 'май'; Info[5].raz :=Info[5].raz+1; end; if sl='июн' then begin Info[6].p1 := 'июнь'; Info[6].raz :=Info[6].raz+1; end; if sl='июл' then begin Info[7].p1 := 'июль'; Info[7].raz :=Info[7].raz+1; end; if sl='авг' then begin Info[8].p1 := 'август'; Info[8].raz :=Info[8].raz+1; end; if sl='сен' then begin Info[9].p1 := 'сентябрь'; Info[9].raz :=Info[9].raz+1; end; if sl='окт' then begin Info[10].p1 := 'октябрь'; Info[10].raz :=Info[10].raz+1; end; if sl='ноя' then begin Info[11].p1 := 'ноябрь'; Info[11].raz :=Info[11].raz+1; end; if sl='дек' then begin Info[11].p1 := 'декабрь'; Info[12].raz :=Info[12].raz+1; end; end; for i:=1 to 11 do for j:=i+1 to 12 do begin if info[ i].raz<info[j].raz then begin x:=info[ i]; info[ i]:=info[j]; info[j]:=x; end; end; for i:=1 to 12 do begin if Info[ i].raz<>0 then writeln(Info[ i].p1,' ',Info[ i].raz); end; end.

tavabar: tavabar пишет: Рассматривая предложенные варианты ЕГЭ (тренировочные, репетиционные...), прихожу к выводу, что в С4 не планируется проверка знаний по обработке данных строкового типа. В основном это задачи на обработку числовых данных, просто посложнее, чем в С2. Стоит делать далеко идущие выводы? Это писалось в середине марта... А сегодня уже ясно, что обработка данных строкового типа не проверялась... А сколько времени и сил отдавалось в последнее время на отработку именно таких задач... И последние тренировочные как-то ориентировали на это... Жаль... Не пригодилось...



полная версия страницы