Archive for Март 2010

Хороший вводный текст к ООП

Март 15, 2010

Потиху изучаю Питон. Решил почитать, что по этому поводу пишет intut.ru.  Введение в ОПП у них меня порадовало — просто и доступно. Можно спокойно использовать этот текст для объяснения новичкам.

Абстракция в ООП позволяет составить из данных и алгоритмов обработки этих данных объекты, отвлекаясь от несущественных (на некотором уровне) с точки зрения составленной информационной модели деталей. Таким образом, программа подвергается декомпозиции на части «дозированной» сложности. Отдельный объект, даже вместе с совокупностью его связей с другими объектами, человеком воспринимается легче (именно так он привык оперировать в реальном мире), чем что-то неструктурированное и монотонное.

Перед тем как начать написание даже самой простенькой объектно-ориентированной программы, необходимо провести анализ предметной области, для того чтобы выявить в ней классы объектов.

При выделении объектов необходимо абстрагироваться (отвлечься) от большинства присущих им свойств и сконцентрироваться на свойствах, значимых для задачи..

Выделяемые объекты необязательно должны походить на физические объекты — ведь это абстракции, за которыми скрываются процессы, взаимодействия, отношения.

Удачная декомпозиция стоит многого. От нее зависят не только количественные характеристики кода (быстродействие, занимаемая память), но и трудоемкость дальнейшего развития и сопровождения. При отсутствии соответствующего опыта лучше не загадывать будущих путей развития программы, а делать ее как можно проще, под конкретную задачу.

Даже если просто перечислить все существительные, встретившиеся в описании задачи (явно или неявно), получится неплохой список кандидатов в классы.

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

Реклама

Postgres 8.4 c php 5.3.2 на Windows XP

Март 12, 2010

Что нужно сделать, что бы после двух часов настройки вместе заработали Apache, php, postgress последних версий.

Правильно :) Написать магическую строчку в httpd.conf

LoadFile "C:/Program Files/PostgreSQL/8.4/bin/libpq.dll"

Очередная книга с олимпиадными задачами

Март 12, 2010

Буквально позавчера получил с oz.by книгу «Олимпиадные задачи по программированию» автора Ф. Меньшикова. И уже успел сегодня её опробовать. Меня пригласил Локатун провести часик занятий с утра.

В книге предлагается пройти курс из 15 тренировок. Каждая тренировка состоит из 6 задач. Для каждой задачи есть разбор решения и…. тесты на компакт-диске с простой тестирующей системой. Т.е. теперь я смогу более организованно проводить занятия в школе.

Надо будет попробовать еще раз поставить тестирующую систему Сикорского (в прошлый раз её благополучно снесли с виндой).

Python красавец

Март 4, 2010

Вот так просто находим список простых чисел от 1 до N используя «решето» Эратосфена.

import math
# coding: UTF-8

def primes(N):
  sieve = set(range(2, N))
  for i in range(2, math.sqrt(N)):
    if i in sieve:
      sieve -= set(range(2*i, N, i))
  return sieve

print primes(100)

Diofant выдал мне диплом

Март 2, 2010

Пришло письмо с дипломом. Честное слово, даже не могу вспомнить, что участвовал в каком то конкурсе :)

Математика:
Русская версия
Английская версия

Кстати с этого сайта иногда давал задачки на занятиях по информатике.