Рейтинг языков программирования по версии TIOBE на март 2016

Рейтинг языков программирования по версии TIOBE на март 2016

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

читать далее

 

Бесплатные курсы по программированию от Microsoft

Бесплатные курсы по программированию от Microsoft

Сегодня, в день знаний, я хочу рассказать о том, как бесплатно научиться программированию.
Microsoft Virtual Academy выпускает видеокурсы для тех, кто хочет научиться программировать. Совершенно бесплатно можно узнать, как делать сайты, игры, приложения.

читать далее

Роспотребнадзор опубликовал информационное письмо, посвященное портфелям, ранцам и учебным изданиям для школьников

Роспотребнадзор опубликовал информационное письмо, посвященное портфелям, ранцам и учебным изданиям для школьников

 

Федеральная служба по надзору в сфере защиты прав потребителей и благополучия человека в преддверии нового 2016-2017 учебного года выпустила информауционное письмо «О требованиях безопасности, предъявляемых к учебным изданиям, ученическим портфелям и ранцам для детей и подростков». В нем, в частности, напоминается о том, какие должны быть ранцы и учебники, чтобы не испортить осанку и зрение.

читать далее

300: математика, информатика, физика

300: математика, информатика, физика

Один из выпускников, получивших 300 баллов на трёх ЕГЭ, поделился с «Учёбой.ру» секретами подготовки к экзамену и дал советы тем, кто будет сдавать выпускные экзамены в следующем году.

Читать далее: http://4ege.ru/materials_podgotovka/52913-300-matematika-informatika-fizika.html

ЕГЭ 2016

Пару дней назад был ЕГЭ по информатике. Мои ученики отписались и сообщили о своих ощущениях. Все довольно предсказуемо. Для тех, кто готовился давно и регулярно, экзамен не показался слишком сложным. Для тех кто занимался на курсах или под конец решил не заниматься отдавая предпочтение подготовке к другим экзаменам или просто ссылаясь на усталость экзамен показался сложным. Теперь ждем результатов.

Один из важных выводов, который я сделал для себя — это то что не нужно решать 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.
С4

Инструкция для тех, кто хочет стать программистом с нуля

Инструкция для тех, кто хочет стать программистом с нуля

Кризис заставляет многих сменить место работы или даже полностью поменять специальность. Приходится осваивать новые навыки и профессии. Прекрасным выбором в этом случае может стать профессия программиста. Это интересно, комфортно и прибыльно. В этой статье мы постараемся ответить на вопрос, как построить карьеру программиста с нуля.

Читать далее

Решение задачи 27

На плоскости задано множество точек с целочисленными координатами. Необходимо найти минимально возможную площадь невырожденного (т. е. имеющего ненулевую площадь) треугольника, одна вершина которого расположена в начале координат, а две другие лежат на биссектрисах углов, образованных осями координат, и при этом принадлежат заданному множеству. Если такого треугольника не существует, необходимо вывести соответствующее сообщение. 
Напишите эффективную по времени и по используемой памяти программу для решения этой задачи. 
Программа считается эффективной по времени, если при увеличении количества точек в k раз время работы возрастает не более чем в k раз.  Программа считается эффективной по памяти, если размер памяти для хранения всех необходимых данных не зависит от количества точек и не превышает 1 килобайта. 
Перед текстом программы кратко опишите алгоритм решения и укажите язык программирования и его версию. 
 
Входные данные 
В первой строке задаётся N – количество точек в заданном множестве. 
Каждая из следующих строк содержит два целых числа – координаты очередной точки. 
 
Пример входных данных: 
3 
6 6 
-8 8 
9 7 
 
Выходные данные 
Если искомый треугольник существует, программа должна напечатать одно число: минимально возможную площадь треугольника, удовлетворяющего условиям. Если искомый треугольник не существует, программа должна 
напечатать сообщение: «Треугольник не существует».
Пример выходных данных для приведённого выше примера входных данных: 
48

Решение задачи
Как известно биссектриса - это крыса, которая делит угол пополам. Отсюда, можно догадаться, что точка лежащая на биссектрисе имеет одинаковую абсолютную (без знака) координату по x и y. Например: (6,6), (8,-8), (-10,-10). То есть при решении задачи для запоминании координаты точки достаточно запомнить одно число: абсолютное значение X или Y. Далее задача сводится к нахождение двух координат с минимальными абсолютными значениями, то есть в нашем случае к нахождению двух минимальных чисел. В конце нужно посчитать площадь.
Нарисуйте на бумаге треугольник с координатами (0,0),(6,6),(-4,4), вспомните теорему Пифагора и легко поймете формулу вычисления площади.path6909.
Так же нужно проверить, что такой треугольник может существовать. В нашей задаче для этого достаточно, чтобы точки не лежали на одной прямой. Для проверки этого можно перемножить знаки координат. Например, у точек (6,6) и (-4,4) произведение знаков будет -1, такой треугольник может существовать. А у точек (-4,4) и (5,-5), произведение равно +1, это вырожденный треугольник.
var
  N: integer; {количество точек} 
  x, y: integer; {координаты очередной точки} 
  tmin1, tmin2: integer; {минимальные координаты точек}
  z: Integer;{Проверка на вырожденость}
  s: real; {площадь} 
  i: integer;

begin
  readln(N); 
  tmin1 := MaxInt;tmin2 := MaxInt; 
  z:=1;
  for i := 1 to N do 
  begin
    readln(x, y); 
    if (abs(x) = abs(y)) then begin
      if abs(x) < tmin1 then begin
        tmin2 := tmin1;
        tmin1 := abs(x);
        z:=z*Sign(x)*Sign(y);
      end
        else 
      if abs(x) < tmin2 then begin
        tmin2 := abs(x);
        z:=z*Sign(x)*Sign(y);
      end;
    end;
  end; 
  if z=1 then writeln('Треугольник не существует') 
  else begin
    s := tmin1 * tmin2 / 2;     
    writeln(s);
  end;
end.

Хулиганы в классе — причина снижения будущих доходов одноклассников?

Наличие в классе в первые годы обучения одноклассников-хулиганов оказывает влияние на последующую сдачу экзаменов, поступлению в колледж и на будущий денежный доход учеников класса — к такому выводу пришли исследователи Scott E.Carrell, Mark Hoekstra и  Elira Kuka в недавно опубликованной работе “The Long-Run Effects of Disruptive Peers” («Влияние в долгосрочной перспективе одноклассников-хулиганов»).

Существует относительно мало свидетельств о влиянии в долгосрочной перспективе образовательных и трудовых последствий детства сверстников, пишут авторы исследования. По приведённым данным, воздействие сверстников-хулиганов в классе из 25 человек ухудшает экзаменационные отметки в среднем на  0,02 балла, а в дальнейшем и уменьшает прибыль молодых людей в возрасте 26 лет на 3-4 процента. По оценкам исследователей, удаление только одного хулигана из класса в течение одного года поднимет текущую дисконтированную стоимость будущих доходов одноклассников на $ 100,000.
Результаты исследования показывают важность равноправного состава учащихся в классе для будущих образовательных достижений, говорится в труде. Авторы  работы считают, что необходимо находить пути преодоления “разрушительного” влияния хулиганов на сверстников в классе для улучшения долгосрочных результатов.
В исследовании приняли участие 20 тыс учеников 3-5 классов графства Алачуа (Флорида) в 1995-1996 и 2002-2003 годах.