OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Воскресенье, 25 Июль, 2021 04:00

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 161 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.
Автор Сообщение
СообщениеДобавлено: Четверг, 25 Октябрь, 2007 20:42 

Зарегистрирован: Четверг, 12 Июль, 2007 23:18
Сообщения: 1982
Откуда: Узбекистан, Чирчик
ScrollLock писал(а):
Это надо не объяснять, а просто запоминать.

Вот это вот очень и очень плохо.
Сегодня помнишь -- завтра забудешь.
А вот если сможешь понять, то даже если и забудешь -- то сможешь вывести логически...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Октябрь, 2007 21:26 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
Илья Ермаков писал(а):
Я тоже знаю, как можно научить на С (и хорошо научить). Но и знаю, как можно на Обероне. И потому выбираю последний, вследствие опытного сравнения и выбора.

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

GeniePro писал(а):
Вот это вот очень и очень плохо.
Сегодня помнишь -- завтра забудешь.

В любом языке надо чего-то запомимать. А если забыл какую-то редкую конструкцию или библиотечную функцию, то можно открыть справочник.

GeniePro писал(а):
А вот если сможешь понять, то даже если и забудешь -- то сможешь вывести логически...

Если что-то не использовать подолгу, то забывается не только сам факт, но и способ его логического вывода/доказательства. Хотя быть может это у меня такое мышление, что многие доказательства для математического анализа мне надо было учить (не наизусть, конечно, но иногда и так). И от всего этого разнообразния теорем у меня в голове почти ничего не осталось года за 2 и вывести их из аксиом я вряд ли смогу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Октябрь, 2007 21:37 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9422
Откуда: Россия, Орёл
ScrollLock писал(а):
Вот это уже интересно - не просто обсуждение синтаксиса языков, а практический опыт. Тогда если говорить о школьниках, какие принципиальные различия на практике между BlackBox и Си? И не идеологического, а практического характера? Вызывает ли сложность работа со средой BlackBox, а какие вещи из Си понимаются хуже всего?

По поводу обучения на Си - у меня опыт работы не со школьниками, а со студентами-первокурсниками. У которых в школе не было информатики как таковой, и когда у нас на "Прикладной математике" их сразу С++-сом по голове, без обучения собственно программированию и алгоритмизации, то они попали в кандидаты на отчисление, я взялся позаниматься. Подробнее рассказывал в соседней ветке - viewtopic.php?f=7&t=466.

Поскольку до этого вёл два года в школе обучение на Паскале (год на Турбике, год на ББ), то имел возможность сравнить. На КП было бы, безусловно, легче, и скажу больше - если бы не было опыта преподавания на нём, то не удалось бы выучить на Си. Потому что только спроецировав свой опыт на этот язык, как бы "сэмулировав" на нём нужный фундамент, удалось это сделать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Четверг, 25 Октябрь, 2007 22:01 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
Илья Ермаков писал(а):
У которых в школе не было информатики как таковой, и когда у нас на "Прикладной математике" их сразу С++-сом по голове, без обучения собственно программированию и алгоритмизации, то они попали в кандидаты на отчисление, я взялся позаниматься. Подробнее рассказывал в соседней ветке -

Я читал ту ветку. Из Вашего рассказа я понимаю, что в той ситуации был определяющим именно подход, а не сам язык, и что конструкции C/C++ были использованы для обучения алгоритмизации.

Цитата:
На КП было бы, безусловно, легче, и скажу больше - если бы не было опыта преподавания на нём, то не удалось бы выучить на Си.

А в чём именно состояло облегчение по сравнению с Turbo Pascal? Я видел и Turbo Pascal (в нём довольно долго работал), и естественно BlackBox. Но Turbo Pascal оставляет впечатление более продуманной и интуитивно понятной среды.

Кстати, если у Вас была довольно длительная практика ведения курса BlackBox в школах, то не делали ли Вы раздаточный материал, методички? Это как раз то, что не хватает проекту Информатика-21.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 00:57 
Аватара пользователя

Зарегистрирован: Суббота, 19 Ноябрь, 2005 15:59
Сообщения: 803
Откуда: Зеленоград
ScrollLock писал(а):
Кстати, если у Вас была довольно длительная практика ведения курса BlackBox в школах, то не делали ли Вы раздаточный материал, методички? Это как раз то, что не хватает проекту Информатика-21.

Once upon a time (кажется, это было на королевском форуме) info21 выложил "раздаточный материал" 8-й лекции своего спецкурса на физфаке.
Схема полного прохода и линейного поиска, предостережение против неумной оптимизации, ну и знаменитое уже деление умов на критические и подражательные. :)
Качество материала и его оформления произвело на меня впечатление.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 01:06 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
AVC писал(а):
Once upon a time (кажется, это было на королевском форуме) info21 выложил "раздаточный материал" 8-й лекции своего спецкурса на физфаке.

Где её можно скачать и посмотреть? Мне просто интересно посмотреть на стиль изложения и то, рассматривался ли там "холивар" for...break vs while и про философскую часть (ну там, где про критические и подражательные).

P.S. Похоже, у Оберона появились подражатели - язык программирования D. Я не вникал детально, но это ООП-язык со сборкой мусора и более простой по сравнению с C++, с наличием модулей и без развитого макропроцессора (даже модули вроде были).
http://www.digitalmars.com/d/comparison.html
Есть даже компилятор GNU D, так что он также не зависит от какой-то отдельной корпорации.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 09:38 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4619
Откуда: Россия, Орёл
ScrollLock писал(а):
Вот это уже интересно - не просто обсуждение синтаксиса языков, а практический опыт. Тогда если говорить о школьниках, какие принципиальные различия на практике между BlackBox и Си? И не идеологического, а практического характера? Вызывает ли сложность работа со средой BlackBox, а какие вещи из Си понимаются хуже всего?

Из Си понимаются хуже всего УКАЗАТЕЛИ. Говорю вам на основе своего 4 годичного опыта работы со студентами прикладной математики 1-5 курсов.

ScrollLock писал(а):
В любом языке надо чего-то запомимать. А если забыл какую-то редкую конструкцию или библиотечную функцию, то можно открыть справочник.
Во-первых, указатели - это не редкая конструкция и не библ. функция, - это язык, который надо ПОНИМАТЬ.
Во-вторых, одно дело - запомнить простое правило (указатель на... - POINTER TO), а другое - кучу частных случаев или правило в 10 раз более сложное для понимания. Это я про то, что указатели тоже можно объяснить как правило, а не запоминать - базовый тип/производный тип/операции описания типов ('*', '[' ']', '(' ')'). И вот именно это я и хотел бы посмотреть, как Вы объясните школьникам, когда усвоение туго идёт у способных студентов (+ у которых уже есть база - турбо паскаль в школе).

И когда люди, у которых более-менее что-то начинает получаться, бьются лбом о стену "Указатели языка Си" (80%) - у 50% руки опустились, интерес пропал, - и строки они уже не понимают, и с массивами туго, работа с динамическими объектами тоже и всё - плавают такие студенты последующие курсы кое как, сидят не шее тех единиц, которые поняли и никаких программистов, особенно системных, из них уже не получится.

А, извините, при группе 15 человек, я не имею возможности заниматься с ними всеми дополнительно в объеме равном как минимум объёму аудиторных занятий, чтобы подтянуть их как положено. И всё это потому, что первый язык - Си/Си++.

Кстати, изначально ситуация была получше, пока первый год у прикладников был паскаль, и только потом Си/Си++. И когда убирали паскаль - я был за - зачем системщикам тратить время на паскаль, когда для них всё равно нужен Си.

Результат я почувствовал на своей шкуре - когда ты к студенту и на козе подъехал и на корове и в припрыжкку - а он, хоть тресни, не хочет понять этих звёздочек. Слишком сложно. И понимают те единицы, которым самим интересно и они копаются всё свободное время. И про них говорят, что им программирование дано - они программисты, а остальные не уродились - и в касту программистов им заказано. Другой же путь - Оберон и тут я Вам утверждаю - из этих заинтересованных единиц получатся первоклассные специалисты, а из 70% мы сделаем средних.

P.S. Всё это я Вам говорю только на своём опыте. Не думайте, что я заядлый паскалист по воспитанию/школе. Я тоже не сразу пришел к Оберонам. Начинал с basica и ассемблера на Z80. А когда появилась возможность работать на x86 и выбор - паскаль/си - паскаль мне был просто противен из-за невозможности просто так присвоить целому символ - сами понимаете, какой был выбор.


Последний раз редактировалось Евгений Темиргалеев Пятница, 26 Октябрь, 2007 09:53, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 09:52 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4619
Откуда: Россия, Орёл
ScrollLock писал(а):
P.P.S. Далеко не во всех школьных курсах Паскаля разбирают, что такое указатели. Поэтому я тоже не вижу "лезть" в их дебри при преподавании Си.

В Паскале нет сборщика мусора - что чревато, особенно среди начинающих, всем хорошо известными ошибками. Поэтому эту тему часто опускают. В Обероне/КП-ББ есть сборщик мусора, поэтому указатели - можно разбирать и использовать в школе даже в средних классах.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 10:25 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
Евгений Темиргалеев писал(а):
Из Си понимаются хуже всего УКАЗАТЕЛИ.

Действительно весьма сложная тема.

Евгений Темиргалеев писал(а):
Это я про то, что указатели тоже можно объяснить как правило, а не запоминать - базовый тип/производный тип/операции описания типов ('*', '[' ']', '(' ')').

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

Евгений Темиргалеев писал(а):
В Паскале нет сборщика мусора - что чревато, особенно среди начинающих, всем хорошо известными ошибками.

Это во времена DOS утечка памяти или обращение по некорректому адресу влекли нажатие RESET, а в линейке Windows NT защита значительно лучше!

P.S. Неужели замена * на POINTER TO так меняет дело?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 11:58 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4619
Откуда: Россия, Орёл
ScrollLock писал(а):
P.S. Неужели замена * на POINTER TO так меняет дело?

Да, меняет. Т. к. это привычный для начинающего человеческий язык. Это во-первых.

Во-вторых,
(1) наличие простых и строгих правил - понял и запомнил
в противовес
а) сложным правилам - трудно понять и запомнить
б) запоминанию нескольких конкретных примеров вместо правил - шаг влево/вправо - снова непонятно + запомнить понятое правило легче нежели кучу примеров.

Си* в общем язык сложный, а Оберон* простой. Почему - еще раз повторюсь - сравните объемы стандартов.
И даже говоря об изучении конкретно о языков: сами посудите, что лучше (для основной массы) - освоить (понять) почти полностью (полностью) Оберон или понять чуть чуть (совсем не понять) Си.
* Под Си и Обероном тут правильнее понимать вообще языки, которые можно отнести к (1) либо к (а)-(б).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 12:07 
Аватара пользователя

Зарегистрирован: Вторник, 19 Сентябрь, 2006 21:54
Сообщения: 2418
Откуда: Россия, Томск
ScrollLock писал(а):
Учат же дети в школьном курсе химии куда бОльшие объёмы материала, чем пяток видов указателей (хотя в школе хватит и одного вида)

Правильно ли я понимаю, что в КП только три вида указателей: на массив, на запись и на процедуру? Или имелись в виду какие-то другие виды?


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 12:11 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4619
Откуда: Россия, Орёл
ScrollLock писал(а):
Евгений Темиргалеев писал(а):
В Паскале нет сборщика мусора - что чревато, особенно среди начинающих, всем хорошо известными ошибками.

Это во времена DOS утечка памяти или обращение по некорректому адресу влекли нажатие RESET, а в линейке Windows NT защита значительно лучше!
С этим не поспоришь. Однако цели обучения это не решает. Ошибки эти идут от непонимания. Непонимание - от сложности. Сложность усвоения большинством - исключение из рассмотрения.

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 12:16 
Модератор
Аватара пользователя

Зарегистрирован: Среда, 16 Ноябрь, 2005 00:53
Сообщения: 4619
Откуда: Россия, Орёл
Александр Ильин писал(а):
Правильно ли я понимаю, что в КП только три вида указателей: на массив, на запись и на процедуру? Или имелись в виду какие-то другие виды?

В КП только два вида - на массив и на запись. А "на процедуру" - процедурный тип. И это вполне оправданное абстрагирование от низкого уровня.

"Указатель на данные" - мы может данные читать/писать по заданному адресу. "Указатель на процедуру" - мы можем вызвать проц., расп. по заданному адресу.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 12:32 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9422
Откуда: Россия, Орёл
ScrollLock писал(а):
Кстати, если у Вас была довольно длительная практика ведения курса BlackBox в школах, то не делали ли Вы раздаточный материал, методички? Это как раз то, что не хватает проекту Информатика-21.

Не довольно длительная, а год.... Год на Турбике, год на ББ.
Прошлый год вёл спецкурс уже в вузе, но способные старшеклассники туда тоже ходили.
С методичками туго - из-за нехватки времени пытался делать, бросал.
В прошлом году готовил только рукописные конспекты (шут его знает, почему рукописные, как-то удобней было), выложил их на http://ermakov.metasystems.ru/.

Однако в этом году дело пошло - вот уже четвёртую неделю заставляю себя делать параллельно с занятиями пособие. Попробую пообещать, что теперь доведу его до конца :-)
Однако спецкурс теперь специализированный, для профильников - "Современные методы системного программирования". Там тоже всё с азом - и алгоритмизация, и т.п., - но с соотв. уклоном... И название пособия - "Практическое введение в системное программирование". Будет главы три готово - начну выкладывать.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 17:41 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
Илья Ермаков писал(а):
Прошлый год вёл спецкурс уже в вузе, но способные старшеклассники туда тоже ходили.
С методичками туго - из-за нехватки времени пытался делать, бросал.

Понятно... А по какому же учебнику они тогда учатся? А то в школе 1741 учительница не хотела начинать курс Си без предварительного плана курса и раздаточного материала хотя бы на месяц.

Илья Ермаков писал(а):
Не довольно длительная, а год.... Год на Турбике, год на ББ.

А Вы им сразу даёте технологию написания программы или так же рассказываете большой объём материала про историю развития языков, Дейкстру и т.п. (который интересен, но на практике не очень нужен, особенно школьникам)? Какая примерно структура курса?

Конспекты по Си для школьников, разработанные с моим участием, выложены по адресу. Раздаточный материал и детальные планы школьных уроков непосредственно для учащихся в Сети пока недоступны (и я почти не участвую в их разработке).
http://voskov-in1741.narod.ru/c_lesson1.htm
Мы решили почти полностью отказаться от теории и сразу перейти к делу - написанию программ. Конечно, теория там есть, но самый минимум.
Думаю, что скоро сделаю главы по указателям, calloc/malloc, матрицам, строкам, графике (хотя времени на это почти нет и точных сроков нет), программа WATCOM C SORT (перевод QBSORT).

Евгений Темиргалеев писал(а):
б) запоминанию нескольких конкретных примеров вместо правил - шаг влево/вправо - снова непонятно + запомнить понятое правило легче нежели кучу примеров.

В случае с указателями несколькими примерами употребления можно покрыть почти все нужны школьного курса. Те, кто хочет большего, уже "созрели" для чтения серьёзной литературы.
Кстати, есть эмпирически доказанный факт - естественный язык можно выучить, не имея чёткого представления о его грамматике, а на интуитивном уровне, на множестве примеров. Именно так мы учим родной язык в детстве. Поэтому не вижу причин того, что основанное на примерах и минимуме теории обучение не будет работать в случае программирования.

Евгений Темиргалеев писал(а):
И даже говоря об изучении конкретно о языков: сами посудите, что лучше (для основной массы) - освоить (понять) почти полностью (полностью) Оберон или понять чуть чуть (совсем не понять) Си.

Полагаю, что в случае Си получится не "чуть-чуть", а вполне приличная часть языка, но без некоторых вещей, связанных с указателями, побитовыми логическими операциями, системами счисления макропроцессором, особенностей линковки нескольких файлов и т.п. И лучше пусть сверхпопулярный синтаксис Си, чем такая "экзотика", как Оберон.

Цитата:
Да, меняет. Т. к. это привычный для начинающего человеческий язык. Это во-первых.

А с другой стороны, звёздочка похожа на сноску в тексте.
И сравните:
VAR A: ARRAY 16 OF INTEGER
int A[16];
Полагаю, что второй вариант лаконичнее и в чём-то понятнее - меньше слов читать и [ ] сразу говорят, что это массив. И меньше возможности ошибиться и перепутать местами слова...


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 18:42 
Модератор
Аватара пользователя

Зарегистрирован: Понедельник, 14 Ноябрь, 2005 18:39
Сообщения: 9422
Откуда: Россия, Орёл
ScrollLock писал(а):
Понятно... А по какому же учебнику они тогда учатся? А то в школе 1741 учительница не хотела начинать курс Си без предварительного плана курса и раздаточного материала хотя бы на месяц.

Не забывайте, что у меня были факультативные занятия. А не основной курс. Большая разница, и в части требований к обеспечению метод. материалами - тоже. На факультативе "хозяин-барин" :-)

Цитата:
А Вы им сразу даёте технологию написания программы или так же рассказываете большой объём материала про историю развития языков, Дейкстру и т.п. (который интересен, но на практике не очень нужен, особенно школьникам)? Какая примерно структура курса?

Школьникам никакого большого объёма теории не давал. Обычная структура, с последовательным освоением средств алгоритмизации и программирования. Тогда я ещё не представлял мощности подхода с использованием исполнителей, и сам не особо знал принципов и схем алгоритмизации.
В спецкурсе для студентов, естественно, приличный объём истории и начальной теории даётся (в объёме четырёх первых пар) - ибо эрудицию им иметь надо, они профильники.
Алгоритмизацию будем учить на исполнителях в BlackBox Lab. Далее - использование типов данных. Понятие о метаданных и их использовании.
Далее - плавный выход на проектирование и архитектурные средства, от модулей и ООП до компонентных паттернов.

Цитата:
Кстати, есть эмпирически доказанный факт - естественный язык можно выучить, не имея чёткого представления о его грамматике, а на интуитивном уровне, на множестве примеров.

1) А прикиньте, сколько лет мы учимся "на множестве примеров"? И то - только выучить, а овладеть в совершенстве на примерах - гораздо труднее. Чтобы это сделать (например, получить ту самую "подкорочную грамотность") нужно перечитать сотни книг, которые послужат примерами и "отпечатают" это в мозгу.
2) Без понимания, только на запоминании ученик не будет чувствовать себя уверенным. Кроме того, он не получит способности обучаться дальше - и будет "развиваться" максимум через поиск очередного примера, который покажет "у какую кнопку тыкнуть"...

Цитата:
И лучше пусть сверхпопулярный синтаксис Си, чем такая "экзотика", как Оберон.

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

Цитата:
И сравните:
VAR A: ARRAY 16 OF INTEGER
int A[16];
Полагаю, что второй вариант лаконичнее и в чём-то понятнее - меньше слов читать и [ ] сразу говорят, что это массив. И меньше возможности ошибиться и перепутать местами слова...

int[16] A; A[16] int.. :-)
Первый вариант подобен структуре естественного языка. Точно так же, как отсутствие точки с запятой после последнего оператора в блоке.
Вообще, Вы просто ищете "задним числом" доказательства для любимого языка :-)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 19:12 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
Илья Ермаков писал(а):
1) А прикиньте, сколько лет мы учимся "на множестве примеров"? И то - только выучить, а овладеть в совершенстве на примерах - гораздо труднее.

Но ведь при программировании примеры можно подобрать так, что они будут иллюстрировать базовые концепции языка и способствовать пониманию сути.

Илья Ермаков писал(а):
Без понимания, только на запоминании ученик не будет чувствовать себя уверенным. Кроме того, он не получит способности обучаться дальше - и будет "развиваться" максимум через поиск очередного примера, который покажет "у какую кнопку тыкнуть"...

Я согласен, что без понимания нельзя - тем более в программировании. Даже в тех методичках по Си есть короткое теоретическое введение. Но как верно подметил info21, большинство людей - практики, а не теоретики и не поймут теорию без богатого практического материала.

Илья Ермаков писал(а):
Обычная структура, с последовательным освоением средств алгоритмизации и программирования.

Обычная структура - понятие растяжимое. Можете описать, с чего он начинался и на каком уроке разбиралась hello, world и т.п.? Какая последовательность изучения управляющих конструкций и алгоритмов (ну хотя бы примерно)?

Илья Ермаков писал(а):
Первый вариант подобен структуре естественного языка. Точно так же, как отсутствие точки с запятой после последнего оператора в блоке.
Вообще, Вы просто ищете "задним числом" доказательства для любимого языка

Изначально мне больше всего нравилось DIM A$(10) или DIM A%(10) =) (или даже DIM A(10) AS INTEGER) ;)
И вообще int a[16]; - "целочисленный массив a на 16 элементов" - тоже естественно :)

Цитата:
Лучше показать хорошее, а массовому обучатся очень быстро.

Но ведь синтаксис Си далеко не так плох. Иначе его бы не взяла на вооружение команды PHP, Java, C# Мне он нравится больше бейсиковского и паскалевского (когда увидел, быстро перешёл с QBASIC и Turbo Pascal). Распространение среди школьников сдерживает малое количество книг по Си, ориентированных на них. А вот для Бейсика и Паскаля хорошую и наглядную книгу проще найти.


Последний раз редактировалось ScrollLock Пятница, 26 Октябрь, 2007 19:21, всего редактировалось 1 раз.

Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 19:15 

Зарегистрирован: Понедельник, 30 Июль, 2007 10:53
Сообщения: 1538
Откуда: Беларусь, Минск
Илья Ермаков писал(а):
int[16] A; A[16] int.. :-)
Первый вариант подобен структуре естественного языка. Точно так же, как отсутствие точки с запятой после последнего оператора в блоке.
Вообще, Вы просто ищете "задним числом" доказательства для любимого языка :-)
Что-то я не понял этой фразы. Что естественнее или где ставить смайлик?
Объявление:
VAR A: ARRAY 16 OF INTEGER;
аналог в естественном языке:
A is array 16 of integer.

Объявление:
int[16] A
аналог:
There is int[16] A.

Не знаю, кому как, но конструкции "there is"/"there are" у меня никогда не получались. Поэтому, я, наверное, больше люблю Паскали : ).


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 19:41 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1643
ScrollLock писал(а):
И сравните:
VAR A: ARRAY 16 OF INTEGER
int A[16];
Полагаю, что второй вариант лаконичнее и в чём-то понятнее - меньше слов читать и [ ] сразу говорят, что это массив. И меньше возможности ошибиться и перепутать местами слова...

Надо полагать, что "папы Юникса" тоже ж не дураками были? Однако, в своём "пост-Юниксе" - Инферно, в его базовом языке - Лимбо, при общей сишной нотации выражений, они оставили паскалевские объявления... "Это жжжж - неспроста"... :о) И они это объяснили как раз адекватностью, ясностью, простотой и удобством именно паскалевской формы объявлений...
К тому же, вы лукавите, приводя слишком простой пример. Советую посмотреть файл заголовков signal.h и, в нём обратить внимание изучающих Си на объявление самого типа signal... Спорим, что даже программист Си со стажем (но не программировавший в Юникс-средах) не сможет "с лёту" внятно объяснить, что это объявление означает... :о)


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 26 Октябрь, 2007 19:53 

Зарегистрирован: Среда, 01 Август, 2007 00:13
Сообщения: 160
Владимир Лось писал(а):
Советую посмотреть файл заголовков signal.h и, в нём обратить внимание изучающих Си на объявление самого типа signal...

"С лёту" такое, конечно же, разобрать сложно, но в целом всё понятно - функция возвращает указатель на функцию, у неё два аргумента - целое число и указатель на функцию.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 161 ]  На страницу Пред.  1, 2, 3, 4, 5, 6, 7, 8, 9  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
cron
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2021, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB