КурсоWeek #67 30 ноября 2007 года

advertisement
КурсоWeek
#67
kypcoweek@progmeistars.lv
30 ноября 2007 года
®
Бюллетень SIA
Pulkveža Brieža 6-1, tel. 7336035, www.progmeistars.lv
Администрация планирует при общении с курсантами
использовать электронную почту самым существенным
образом.
Поступление на курсы.
Без тестирования принимаются школьники 5-9
классов на прикладное отделение.
Без тестирования
традиционно переходят на
основное или начальное отделения
лучшие курсанты
начального, прикладного и подготовительного отделений.
Без тестирования
принимаются призеры
олимпиад. Поступающий предъявляет администрации
диплом.
Без тестирования
принимаются ученики c
хорошими отметками по математике. Поступающий
предъявляет администрации табель или справку из школы.
Остальные
школьники
принимаются по
результатам
собеседования
(до 13 января) или
тестирования (13 января).
О времени собеседования
следует договориться с администрацией (тел.7336035).
Чтобы Вас допустили к тестированию, Вам следует
по
12
января
зарегистрироваться по интернету
www.progmeistars.lv
или по телефону 7336035.
Приглашайте своих толковых друзей учиться на наших
курсах!
Кружки и семинар по математике
активно работают. Кружок для 6-7 классов ведет сейчас
С.И.Мельник. Кружок для 8-9 классов - В.Молдавский.
Семинар по математике
для 10-12 классов ведет
А.Я.Каневский. Для курсантов эти занятия бесплатны.
Prolog&Lisp –
это логично и функционально.
После Нового года преподаватель Е.Ельник планирует
прочесть интереснейший спецкурс Prolog&Lisp. Первая
часть статьи написана Е.Ельником. К последующим частям
руку приложил С.И.Мельник. Он составил вторую часть
статьи и подобрал в интернете подходящие тексты для
третьей части.
Первая часть.
Е.Ельник
Самыми известными подходами (или парадигмами) в
программировании являются процедурный (или директивный)
и объектно-ориентированный подходы. Используя эти
подходы, и создаются почти все реальные коммерческие
проекты. Курс рассказывает о двух самых распространённых
альтернативных подходах в программировании. Разбираются
задачи, которые удобнее решать, используя именно
альтернативные подходы. Рассматриваются логический
(ProLog) и функциональный (LisP) языки программирования, а
также некоторые теоретические вопросы, напрямую
связанные с темой, например:

конечные автоматы

логика 1-ого порядка

булевы функции
Не опоздайте!
Курсантам прикладного, начального и основного
отделений, а также школьникам, принятым до 4 января,
следует заплатить за курсы и зарегистрироваться: на
спецкурсы
основного отделения - до 11.01.2008
включительно, на остальные семестры (I-V семестр)- до
15.01.2008 включительно. Поступившие по результатам
собеседования 13 января платят и регистрируются 14-16
января. Примеры регистрации можно найти в конце раздела
"правила поступления" на www.progmeistars.lv , а также
через обьявление «Оплата и регистрация за следующий
семестр»
на
главной
странице
нашего
сайта. Зарегистрироваться после оплаты нужно на курсах
или по e-mail по адресу kursi@progmeistars.lv.
Стандартная ошибка курсантов - произведена
оплата, но нет регистрации. Звоним, выясняем: «А я хочу так
же, как и в прошлом году». Повторяем еще раз: группы
каждый семестр расформировываются. Нужно предложить
курсам несколько вариантов. Конечно, Вы можете включить
и прежнее время занятий.
Вторая часть.
Есть
программирование
императивное
и
программирование декларативное.
В императивном программировании программа
представлена в виде набора действий, которые должны быть
выполнены, т.е. код описывает решение задачи. Типичные
представители императивных языков — Pascal или C.
В идеале декларативного программировании код
описывает саму задачу (а не один из способов её решения, как
в императивном), т.е. программист описывает условия задачи,
её точную формулировку и способы получения результата, а
выбор алгоритма решения, получение результата – дело
исполняющей системы. Основное внимание в декларативном
программировании уделяется тому, что нужно сделать, а не
тому как это нужно сделать.
Пишите письма!
Уважаемые курсанты! Данные о ваших элетронных
адресах, имеющиеся в нашем распоряжении, устарели и
весьма неполны. Вы уже присылаете нам свои новые адреса.
Администрация обращается к вам с просьбой делать это
активнее. В своих письмах четко указывайте кто
автор
письма. Наш адрес kursi@progmeistars.lv.
1
КурсоWeek
#67 30 ноября 2007 года
kypcoweek@progmeistars.lv
Основные
разновидности
декларативного
программирования: функциональное программирование
(типичные представители - Lisp, Haskell) и логическое
программирование (типичный представитель – Prolog)
В логическом программировании программа
представляет собой не набор команд и инструкций, а
описание абстрактной модели решаемой задачи в виде
логических аксиом. Формулируются сведения о задаче и
предположения, достаточные для её решения.
Программа выполняется путем постановки задачи,
описанной в виде задачи проверки целевого логического
утверждения (вопроса). Выполнение программы состоит в
попытке доказать целевое утверждение, используя
сформулированные предположения (аксиомы и способы их
преобразования).
В функциональном программировании программа
представляет собой не набор инструкций для компьютера, а
совокупность функций, вызывающих друг друга и самих
себя, зачастую опосредованно. Вычисления продолжаются
до тех пор, пока функция, которая вызвала и запустила всю
программу, не вернёт результат пользователю.
постановке задачи, формализованной в виде логического
утверждения, подлежащего доказательству, - такое
утверждение
называется
целевым
утверждением.
Выполнение программы состоит в попытке решить задачу, т.
е. доказать целевое утверждение, используя предположения,
заданные в логической программе.
США сравнили уровень научных
знаний у школьников.
http://www.podrobnosti.ua/society/2007/11/17/474566.htmlВ
США сравнили уровень научных знаний у
школьников 45-ти государств мира. Восьмиклассники США
знают математику и науку (понятие "наука" в американских
школах означает набор знаний в области точных наук физики, химии, биологии и пр.) на уровне школьников
Европы. Однако учащиеся из стран Азии существенно
опережают и американцев, и европейцев.
Американский Институт Исследований опубликовал
доклад с названием "Удача улыбается подготовленным
умам", в котором сравнивается уровень научных знаний у
школьников США и 45-ти государств мира.
По данным доклада, наиболее фундаментальными
знаниями по математике обладают учащиеся Сингапура
(набрали 605 баллов), Южной Кореи (589), Гонконга (586),
Тайваня (585) и Японии (570). В десятку лучших также
входят школьники Бельгии (537), Нидерландов (536),
Эстонии (531), и Венгрии (529). Россия, Латвия, Малайзия, и
Словакия набрали по 508 баллов, разделив 10 место. США
оказались на 12-м месте (504), опередив Литву (13-е место,
502). Из постсоветских государств в рейтинге были учтены
также Армения (19-е место, 478 балла) и Молдова (24-е
место, 460).
Для сравнения, восьмиклассники Англии и
Шотландии получили по 498 баллов, Израиля - 496, Италии 484, Ирана - 411, Палестины - 390, Саудовской Аравии - 332.
Последнее место в рейтинге заняли школьники ЮАР (264
балла).
"Базовым уровнем" при оценке математических
знаний является дельта в 469 - 566 баллов. Таким образом,
знания школьников Сингапура, Южной Кореи, Гонконга,
Тайваня и Японии - "выше базового". 22 государства (в том
числе, США и Россия) находятся на базовом уровне, 19
стран (включая Молдову) - "ниже базового".
Науку лучше всего знают в Сингапуре (578 баллов),
Тайване (571), Южной Корее (558), Гонконге (556), Японии
и Эстонии (по 552 балла). В десятку лидеров также входят
Англия (544), Венгрия (543), Нидерланды (536) и США с
Австралией (по 527 баллов). Литва - на 13-м месте (519
баллов), Россия - на 16-м (514), Латвия - на 17-м (512),
Молдова - на 24-м (472), Армения - на 27-м (461).
Для сравнения: школьники Италии получили 491
балл, Израиля - 488, Ирана - 453, Палестины - 435,
Саудовской Аравии - 398. ЮАР опять на последнем месте
(244).
"Базовым" для научных знаний считается уровень в
494 - 567 баллов, следовательно знания учащихся Молдовы и
Армении, а также еще 22-х государств, находятся "ниже
базового" уровня. В свою очередь, знания учащихся
Сингапура и Тайваня "выше базового", а 20-ти стран
(включая США и Россию) - на "базовом".
Третяя часть. Тексты
Ценность ФУНКЦИОНАЛЬНОГО
ПРОГРАММИРОВАНИЯ в современном мире
программирования
Сейчас очень много информации, понятий,
технологий и т.д. Это совершенно сбивает с толку, люди
перегружены информацией. Подход, где все основано на
небольшом количестве фиксированных понятий, и все
остальное строится из них, без добавления аксиом хорошая основа для вечно расширяющегося количества
терминов и разнообразия технологий.
Принципы ФП, если они усвоены правильно,
позволяют забывать детали и вспоминать их в нужный
момент без услилий после прочтения, скажем,
документации.
Логическое программирование, логическая программа
Логическим
программированием
называется
непосредственное использование логики в качестве языка
программирования. Логическое программирование, также
как и функциональное программирование, радикально
отклоняется от основного пути развития языков
программирования.
Логическое
программирование
строится не с помощью некоторой последовательности
абстракций и преобразований, отталкивающейся от
машинной архитектуры фон Неймана и присущего ей
набора операций, а на основе абстрактной модели, которая
никак не связана с каким-либо типом машинной модели.
Логическое программирование базируется на убеждении,
что не человека следует обучать мышлению в терминах
операций компьютера (на некотором историческом этапе
определенные ученые и инженеры считали подобный путь
простым и эффективным), а компьютер должен выполнять
инструкции, свойственные человеку. В своем предельном и
чистом виде логическое программирование предполагает,
что сами инструкции даже не задаются, а вместо этого
явно, в виде логических аксиом, формулируются сведения о
задаче и предположения, достаточные для ее решения.
Такое множество аксиом является альтернативой обычной
программе. Подобная программа может выполняться при
2
Download