Очно-дистанційні курси інформатиків

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Куратор

Сообщений 1 страница 30 из 158

1

Наводжу цитати з окремих книг.

Отредактировано Rebryna V (2007-05-05 10:58:00)

0

2

Новые концепции программирования
Двадцать и более лет назад программисты реализовывали свои проекты путем непосредственного написания кода. С возрастанием размера и сложности проектов становилось все яснее, что такой подход неудачен. Проблема заключалась в непропорциональном возрастании сложности процесса создания самих программ. Пожалуй, большие программы можно без преувеличения назвать самым сложным творением человека. Из-за своей сложности такие программы нередко содержат ошибки. Ошибки в программном обеспечении потенциально могут стать причиной материального ущерба, а иногда и угрожать жизни людей (например, при управлении авиаполетами). В результате борьбы с проблемой сложности программного кода были выработаны три новые концепции программирования:
  объектно-ориентированное программирование (ООП);
  унифицированный язык моделирования (UML);
  специализированные средства разработки программного обеспечения.

Отредактировано Rebryna V (2007-05-05 11:12:18)

0

3

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

0

4

Объектно-ориентированное программирование
Главное в языке С# — реализация принципов объектно-ориентированного програм
мирования (ООП). Объектно-ориентированная методика неотделима от С#, и все С#-
программы в какой-то степени имеют объектную ориентацию. Поэтому, прежде чем
приступать к написанию даже простой С#-программы, необходимо понять основные
принципы ООП.
ООП — это мощный "рычаг", позволяющий усовершенствовать процесс программирования. С момента изобретения компьютера методы программирования менялись много раз и причем коренным образом, но в основном, с целью адаптации к непрерывному повышению сложности программ. Например, программирование для первых компьютеров осуществлялось посредством набора машинных инструкций (в двоичном коде) на передней панели компьютера. Этот метод работал до тех пор, пока длина программы не превышала нескольких сот инструкций. С ростом программ был изобретен Язык ассемблер, который позволил программисту писать гораздо большие и более сложные программы, используя символическое представление машинных инструкций. По мере роста программ появились языки высокого уровня (например, FORTRAN и COBOL), которые позволили программистам справляться с возрастающей сложностью программ. Когда эти первые компьютерные языки начали приближаться к критическому состоянию, было изобретено структурное программирование.
Каждая веха в развитии .программирования характеризовалась созданием методов и средств, позволяющих программисту писать все более сложные программы. С каждым шагом на этом пути изобретался Новый метод, который, опираясь на самые удачные элементы предыдущих методов, вносил что-то свое, осуществляя таким образом прогресс в области программирования в целом. Примерно по такой схеме развития инструментария для программистов "дошло дело" и до объектно-ориентированного программирования. Его появлению способствовал тот факт, что реализация многих проектов начала серьезно стопориться, поскольку структурный подход'уже не справлялся с поставленными задачами. Нужен был новый способ преодоления сложности программ, и решением этой проблемы стало объектно-ориентированное программирование.
Объектно-ориентированное программирование вобрало в себя лучшие идеи структурного программирования и объединило их с новыми концепциями. В результате появился более совершенный способ организации программы. Если говорить в самых общих чертах, программу можно организовать одним из двух способов: опираясь либо на код (т.е. на действия, или на то, что происходит в программе), либо на данные (т.е. на то, что подвергается определенному воздействию). При использовании исключительно методов структурного программирования программы обычно организовывались с опорой на действия. Такой подход можно представить себе в виде кода, воздействующего на данные.
Объектно-ориентированные программы работают совсем по-другому. Они организованы вокруг данных, а ключевой принцип такой организации гласит: именно данные должны управлять доступом к коду. В объектно-ориентированном языке программист определяет данные и код, который разрешен для выполнения действий над этими данными. Таким образом, тип данных точно определяет операции, которые могут быть к ним применены.
Для поддержки принципов объектно-ориентированного программирования все ООП-языки, включая С#, имеют три характерных черты: инкапсуляцию, полиморфизм и наследование.
Инкапсуляция
Инкапсуляция — это механизм программирования, который связывает код (дейст- вия) и данные, которыми он манипулирует, и при этом предохраняет их от вмеша- тельства извне и неправильного использования. В объектно-ориентированном языке код и данные можно связать таким образом, что будет создан автономный черный ящик. Внутри этого ящика находятся все необходимые данные и код. При таком связывании кода и данных создается объект. Другими словами, объект — это элемент, который поддерживает инкапсуляцию.
Код, данные или обе эти составляющие объекта могут быть закрытыми внутри него или открытыми. Закрытый код или закрытые данные известны лишь остальной части этого объекта и доступны только ей. Это означает, что к закрытому коду или данным не может получить доступ никакая другая часть программы, существующая вне этого объекта. Если код или данные являются открытыми, к ним (несмотря на то,  что они определены внутри объекта) могут получить доступ другие части программы.  Как правило, открытые части объекта используются для обеспечения управляемого  интерфейса с закрытыми элементами.
Основной единицей инкапсуляции в С# является класс. Класс определяет форму объекта. Он задает как данные, так и код, который будет оперировать этими данными. В С# класс используется для создания объектов. Объекты — это экземпляры класса. Таким образом, класс — это по сути набор шаблонных элементов, которые показывают, как построить объект.
Код и данные, которые составляют класс, называются членами класса. Данные, определенные в классе, называются переменными экземпляра (instance variable), а код, который оперирует этими данными, — методами-членами (member method), или просто методами. "Метод" — это термин, применяемый в С# для обозначения подпрограммы. Если вы знакомы с языками С или C++, то, вероятно, догадываетесь о том, что то, что С#-программист называет методом, С/С++-программист назовет функцией. А поскольку С# — прямой потомок C++, термин "функция" также приемлемо использовать, когда речь идет о С#-методе.
Полиморфизм
Полиморфизм (от греческого слова polymorphism, означающего "много форм") — это качество, которое позволяет одному интерфейсу получать доступ к целому классу действий. Простым примером полиморфизма может послужить руль автомобиля. Руль (интерфейс) остается рулем независимо от того, какой тип рулевого механизма используется в автомобиле. Другими словами, руль работает одинаково в любом случае: оснащен ли ваш автомобиль рулевым управлением прямого действия, рулевым управлением с усилителем или реечным управлением. Таким образом, поворот руля влево заставит автомобиль поехать влево независимо от типа используемого в нем рулевого управления. Достоинство такого единообразного интерфейса состоит, безусловно, в том, что, если вы знаете, как обращаться с рулем, вы сможете водить автомобиль любого типа.
Тот же принцип можно применить и к программированию. Рассмотрим, например, стек (stack), т.е. область памяти, функционирующую по принципу "последним пришел — первым обслужен". Предположим, вы пишете программу, для которой нужно организовать три различных типа стека. Один стек предназначен для целочисленных значений, второй — для значений с плавающей точкой, а третий — для символов. В этом случае для реализации каждого стека используется один и тот же алгоритм, несмотря на различие в типах сохраняемых данных. В случае не, объектно-ориентированного языка вам пришлось бы создать три набора "стековых" подпрограмм, имеющих различные имена. Но благодаря полиморфизму в среде С# можно создать один общий набор "стековых" подпрограмм, который обрабатывает все три типа стека. Иными словами, зная, как использовать один стек, можно использовать все остальные.
Концепцию полиморфизма часто выражают такой фразой: "один интерфейс — много методов". Это означает, что для выполнения группы подобных действий можно разработать общий интерфейс. Полиморфизм позволяет понизить степень сложности программы, предоставляя программисту возможность использовать один и тот же интерфейс для задания общего класса действий. Конкретное (нужное в том или ином случае) действие (метод) выбирается компилятором. Программисту нет необходимости делать это вручную. Его задача — правильно использовать общий интерфейс.
Наследование
Наследование — это процесс, благодаря которому один объект может приобретать свойства другого. Благодаря наследованию поддерживается концепция иерархической классификации. В виде управляемой иерархической (нисходящей) классификации организуется большинство областей знаний. Например, яблоки Красный Делишес являются частью классификации яблоки, которая в свою очередь является частью класса фрукты, а тот — частью еще большего класса пища. Таким образом, класс пища обладает определенными качествами (съедобность, питательность и пр.), которые применимы и к подклассу фрукты. Помимо этих качеств, класс фрукты имеет специфические характеристики (сочность, сладость и пр.), которые отличают их от других пищевых продуктов, В классе яблоки определяются качества, специфичные для яблок (растут на деревьях, не тропические и пр.). Класс Красный Делишес наследует качества всех предыдущих классов и при этом определяет качества, которые являются уникальными для этого сорта яблок.
Если не использовать иерархическое представление признаков, для каждого объекта пришлось бы в явной форме определить все присущие ему характеристики. Но благодаря наследованию объекту нужно доопределить только те качества, которые делают его уникальным внутри его класса, поскольку он (объект) наследует общие атрибуты своего родителя. Следовательно, именно механизм наследования позволяет одному объекту представлять конкретный экземпляр более общего класса.

Отредактировано Rebryna V (2007-05-06 14:55:48)

0

5

Ще три матеріали вислав електронною поштою.
Якщо є щось подібне у Вас, прошу тут розмістити.

0

6

Судячи з надісланих матеріалів, наступний проект має бути про Erlang. Знову перевчатись...

0

7

Пилипчук О.П. написал(а):

Судячи з надісланих матеріалів, наступний проект має бути про Erlang. Знову перевчатись...

Думаю, що це перебільшення.

0

8

Цікаве інтерв'ю з розробником:

http://www.dotsite.spb.ru/Publications/ … ion49.aspx

0

9

Оскільки служба 2bb.ru методичний форум грохнула, то треба відновити спілкування вчителів інформатики.
Допоможіть перевести з тестового форуму у такий, який можна адмініструвати. Для цього зареєструйтесь і що небуть напишіть.

http://metodinfo.3bb.ru

Ігор Олексійович був правий, що треба форум тримати у себе. Скоро буде. Хоча від хакерів ніхто не застрахований, як показав досвід Кам'янця-Подільського, Вінниці (олімпіадний сайт завалювали у самий непідходящий момент).

Це є проблема і треба якось з цим боротися чи миритися.

Якотюк Коля з Іршиків скопіював майже всі сторінки із попереднього форуму. Тому найбільш цінні посилання відновимо.

0

10

Rebryna V написал(а):

Якотюк Коля з Іршиків скопіював майже всі сторінки із попереднього форуму.

Супер! Цікаво, чи можна зберегти форум за допомогою програми Teleport. З простими сайтами працює нормально.

0

11

Для підстраховки вже є два форуми:
1. http://metodinfo.3bb.ru
2. http://metodinfo.ho.com.ua

Що будемо розвивати? До другого є доступ по ftp.

Не хочу відволікати від роботи над проектом, але думки почути цікаво. Розумію, що якщо форум розкрутиться (перший варіант), то його знову завалять. Другий можна копіювати. Працюю також над третім варіантом. Інформаційна безпека - це річ дійсно важлива.

0

12

Пилипчук О.П. написал(а):

Цікаво, чи можна зберегти форум за допомогою програми Teleport.

Мені також цікаво. Спробуй.

0

13

Цікаво, чому я читаю на форумі Тімуса повідомлення Попика датовані 2003 роком? "Верной дорогой идете, товарищи"? На жаль, запропонувати нічого не можу :(

0

14

Пилипчук О.П. написал(а):

Цікаво, чи можна зберегти форум за допомогою програми Teleport.

Спробував. Можна. Тільки один недолік. Кожна зі сторінок з повідомленнями зберігається під різними іменами стільки разів, скільки на ній повідомлень. Очевидно, так "розгрібаються" PHP-скрипти. Але головне - виходить копія форуму, яку можна читати і клацати посилання. У кого нормальний Інтернет - можна зробити копію і час від часу поновлювати.

0

15

Щодо форумів, то Шестопалов любязно виділив місце на своєму платному форумі.
Гляньте. Посилання є на олмпіадному сайті. Отже вже є 4 форуми. 5-й учнівський.
Це забагато, але я маю перевірити роботу. Ще буде шостий на сервері обласному.
Які Ваші думки? Чи не варто нам вже кудись перейти, щоб нічого не пропало.
Цінні посилання гуртом давайте зберігати.

Vitaly написал(а):

Цікаво, чому я читаю на форумі Тімуса повідомлення Попика датовані 2003 роком?

Думаю, що на платних форумах повідомлення можуть зберігатися довше.
Шестопалов пропонує свій платний ресурс, щоб привернути увагу вчителів до свого видавництва.
Я розробив структуру тем і можна там також працювати. Думаю, що цей ресурс надійний.
Як розгорнемо PHP i SQL на нашому Free BSD сервері, тоді переїдемо на наш.

0

16

Підставою для відрядження на конференцію (15-16.05 м.Кам-Под) є лист обласного управління освіти і науки № 140-9.3 від 11.05.07, який висланий на відділи і управління освіти електронною поштою.

Від району (міста) запрошується директор пілотної школи або представник відділу(управління) освіти, який займається питаннями комп'ютеризації навчального процесу. У випадку відрядження двох осіб потрібно узгодити питання поселення.

З питаннями реєстрації і поселення звертатися до Бабчинського Юрія Васильовича - тел.80979884668

0

17

Сьогодні заглянув на список учасників нашого форуму і був приємно вражений. Всі 100% побували на форумі.
Розподілені теми. Тепер до 1 червня треба уточнити програму. Нагадую свою пропозицію. Відповідальний за тему уточнює свою частину програми. І бур'яни на наших городах не повинні нам стати на перешкоді.

0

18

6 червня о 10 год вислав завдання для проміжного контролю самостійної роботи слухачів курсів.
Прошу не запізнюватися із відповіддю. Перевірте пошту!.

0

19

Вчора відбувся семінар керівників методичних об'єднань. На жаль лише двоє із нашої групи є керівниками.

0

20

Список вчителів інформатики, що проходять очно-дистанційне підвищення кваліфікації
1. Беспалько Ганна Анатоліївна, м.Хмельницький
2. Вапнічний Сергій Дмитрович, м.Старокостянтинів
3. Габельчук Юрій Петрович, Красилівський район
4. Гриб Гаяне Анатоліївна, м.Старокостянтинів
5. Зубик Віталій Віталійович Чемеровецький район
6. Мороз Олександр Орестович, Шепетівський район
7. Колісецький Володимир Іванович, м. Шепетівка
8. Пилипчук Олександр Павлович, Теофіпольський район
9. Сіренький Ігор Олексійович, Полонський район
10. Стукалова Ірина Володимирівна, м.Хмельницький
11. Цинчик Тетяна Петрівна, м.Кам’янець-Подільський
1-й етап. Настановча сесія. 23-24 квітня 2007 року – 16 год.
2-й етап. Самостійна робота. 25 квітня – 21 жовтня 2007 року. 120 год.
3-й етап (паралельно з другим).  25 квітня – 21 жовтня 2007 року консультації, взаємодопомога, обговорення через форуми, спілкування електронною поштою, тестування.
4-й етап. Підготовка до заключної сесії. Завершення роботи над проектами і курсовими роботами 22.10 -20.11
5-й етап. Підготовка до заключної сесії. 21.11-20.12
6-й етап. Заключна сесія. 21 грудня 2007 року. Захист проектів, конференція, тестування.
Перший проміжний контроль. 6-8 червня 2007 р.
Другий проміжний контроль. 7-10 вересня 2007 р.

0

21

Надійшов перший розв'язок від Цинчик Тетяни.

0

22

Більшість задач у контрольній роботі - не з інформатики, а з математики або фізики. Вміщуючи такі задачі у посібник їх ОБОВ'ЯЗКОВО треба супроводжувати формулами (площа поверхні кулі, опір при послідовному з'єднанні резисторів тощо). Ідеальний у цьому плані задачник, що додається до середовища Pascal ABC.

0

23

Пилипчук О.П. написал(а):

Вміщуючи такі задачі у посібник їх ОБОВ'ЯЗКОВО треба супроводжувати формулами

А хто сказав, що ці задачі підуть у посібник?

0

24

Vitaly написал(а):

А хто сказав, що ці задачі підуть у посібник?

Я написав не "ЦІ" а "ТАКІ". Все, що робиться в межах проекту, робиться з однією метою: зробити якісний посібник. Якщо нам пропонують задачі такого типу, значить пропонують варіант для посібника. Мені задачі не дуже сподобались: так формулювались прості задачі для консолі. Для візуального програмування прості задачі виглядають зовсім не так.

Проста задача. Створити проект з однією кнопкою, при клацанні на якій поверхня форми стає зеленою.

Складніша задача. Вдосконалити попередню задачу так, щоб кнопка не "зеленіла" разом з формою.

Є набір об'єктів з досить примітивною "поведінкою", з яких легко починати візуальні експерименти. А математика має з'явитися пізніше.

0

25

Пилипчук О.П. написал(а):

Я написав не "ЦІ" а "ТАКІ".

Я розумію:) Повністю погоджуюся, що задачі для консольного та візуального режимів - різні.

0

26

От вам всім приклад того, як непросто перебудувати мислення програміста на якесь інше програмування. Можливо цією дискусією ми змусимо куратора підбирати для другого такого контролю іншого типу задачі. Але я не відчув того, що C# це якесь інше програмування. Можливо десь є ще зариті якісь секрети, які приваблять нас потім. А поки, що задачі першого контролю показали, що все таки ми крутимось в межах уже вироблених у нас стереотипів.

0

27

А чому в нас не попросили самі скомпільовані проекти, а якісь doc-файли із звітами. Чи не можна ці контролі зарахувати вже за курсові роботи? Тоді й посібник писати не буде потрібно  ;)

0

28

Igor Sirenky написал(а):

Чи не можна ці контролі зарахувати вже за курсові роботи? Тоді й посібник писати не буде потрібно  ;)

Гарні мрії, приєднуюся ;)
Я читаю, читаю, а до своєї теми ще так далеко!

Отредактировано Vitaly (2007-06-09 16:06:54)

0

29

Чи не працював хто-небудь з системами WIKI? Це - система колективної розробки документів. Приклад - вікіпедія

http://uk.wikipedia.org

Я пробував редагувати статтю в цій енциклопедіїї. Кажуть, можна створити власний проект за такою системою (приблизно так, як наш форум). Тоді дійсно всі разом працювали б над посібником, відразу було б видно, що вже зроблено, легко було б виправляти помилки.

Отредактировано Пилипчук О.П. (2007-06-10 12:35:00)

0

30

Пилипчук О.П. написал(а):

Мені задачі не дуже сподобались: так формулювались прості задачі для консолі. Для візуального програмування прості задачі виглядають зовсім не так.

Мені також не все подобається в роботі очно-дистанційних курсів. Я надіслав задачі і прошу замість їх обговорення прислати звіт про розв'язання. Із 11 отримав вчасно лише три звіти. ЦЕ МЕНІ ДУЖЕ НЕ ПОДОБАЄТЬСЯ.
Якщо є потреба колективно розібратися у середовищі і командах, давайте планувати двохденний семінар-практикум. Є підозра, що до інсталювання середовища і розв'язування задач руки ще не дійшли. А вже пора. Проміжний контроль дав мені те, що я хотів побачити.
Закликаю до роботи негайно.
Звіти із запізненням чекаю від решти. Нагадую, почали ми роботу 23 квітня. Сьогодні 10 червня.

0