5 больших сборников с тестами о программировании.
Читать далее: http://4ege.ru/trening-informatika/53452-testy-po-programmirovaniyu.html
5 больших сборников с тестами о программировании.
Читать далее: http://4ege.ru/trening-informatika/53452-testy-po-programmirovaniyu.html
TIOBE — индекс, оценивающий популярность языков программирования, основываясь на количестве поисковых запросов, содержащих название языка. Статистика подводится ежемесячно, и недавно были опубликованы последние результаты.
Сегодня, в день знаний, я хочу рассказать о том, как бесплатно научиться программированию.
Microsoft Virtual Academy выпускает видеокурсы для тех, кто хочет научиться программировать. Совершенно бесплатно можно узнать, как делать сайты, игры, приложения.
Федеральная служба по надзору в сфере защиты прав потребителей и благополучия человека в преддверии нового 2016-2017 учебного года выпустила информауционное письмо «О требованиях безопасности, предъявляемых к учебным изданиям, ученическим портфелям и ранцам для детей и подростков». В нем, в частности, напоминается о том, какие должны быть ранцы и учебники, чтобы не испортить осанку и зрение.
300: математика, информатика, физика
Один из выпускников, получивших 300 баллов на трёх ЕГЭ, поделился с «Учёбой.ру» секретами подготовки к экзамену и дал советы тем, кто будет сдавать выпускные экзамены в следующем году.
Читать далее: http://4ege.ru/materials_podgotovka/52913-300-matematika-informatika-fizika.html
Пару дней назад был ЕГЭ по информатике. Мои ученики отписались и сообщили о своих ощущениях. Все довольно предсказуемо. Для тех, кто готовился давно и регулярно, экзамен не показался слишком сложным. Для тех кто занимался на курсах или под конец решил не заниматься отдавая предпочтение подготовке к другим экзаменам или просто ссылаясь на усталость экзамен показался сложным. Теперь ждем результатов.
Один из важных выводов, который я сделал для себя — это то что не нужно решать 27 задачу. Для решения 27 задачи нужен отдельный курс по программированию, а не попытки натаскать на ее решение. Все равно если ученик программировать не умеет 27 задачу он не решит.
Если кто-то из моих учеников прочитает этот пост, то хочу сказать Вам больше спасибо. Мне было очень приятно вас учить.
Спасибо!
На плоскости задано множество точек с целочисленными координатами.
Необходимо найти количество отрезков, обладающих следующими
свойствами:
1) оба конца отрезка принадлежат заданному множеству;
2) ни один конец отрезка не лежит на осях координат;
3) отрезок пересекается с обеими осями координат.
Напишите эффективную по времени и по используемой памяти программу
для решения этой задачи.
Программа считается эффективной по времени, если при увеличении
количества точек в k раз время работы возрастает не более чем в k раз.
Программа считается эффективной по памяти, если размер памяти для
хранения всех необходимых данных не зависит от количества точек и не
превышает 1 килобайта.
Перед текстом программы кратко опишите алгоритм решения и укажите
язык программирования и его версию.
Входные данные
В первой строке задаётся N – количество точек в заданном множестве.
Каждая из следующих строк содержит два целых числа x и y – координаты
очередной точки. Гарантируется, что 1 ≤ N ≤ 10000; –1000 ≤ x, y ≤ 1000.
Пример входных данных:
4
6 6
-8 8
-9 -9
7 -5
Выходные данные
Необходимо вывести единственное число: количество удовлетворяющих
требованиям отрезков.
Пример выходных данных для приведённого выше примера входных данных:
2
Решение
Пронумеруем координатные области 1 от до 4.
Область 1 (+,+)
Область 2 (-,+)
Область 3 (-,-)
Область 4 (+,-)
Когда вводится точка, проверяем не лежит ли она на оси.
Если лежит, то просто переходим к вводу очередной точки.
Далее определяем в какой области эта точка находится 1,2,3 или 4. Записываем в массив областей под ее номером, что такая точка уже есть.
Далее смотрим, есть ли точка в противоположной области. Если есть, то увеличиваем количесто отрезков пересекающих обе оси на 1.
var i,k,obl,x,y,N: Integer; Oblast: array[1..4] of boolean; begin ReadLn(N); k:=0; Oblast[1]:=false; Oblast[2]:=false; Oblast[3]:=false; Oblast[4]:=false; for i:=1 to N do begin ReadLn(x,y); if (x=0) or (y=0) then continue; if (x>0) and (y>0) then Obl:=1; if (x<0) and (y>0) then Obl:=2; if (x<0) and (y<0) then Obl:=3; if (x>0) and (y<0) then Obl:=4; Oblast[obl]:=true; if obl=1 then if Oblast[3]=true then k:=k+1; if obl=2 then if Oblast[4]=true then k:=k+1; if obl=3 then if Oblast[1]=true then k:=k+1; if obl=4 then if Oblast[2]=true then k:=k+1; end; end; WriteLn(k); end.
![]() |