Другое > Hard'n'Soft
Изучение азов програмирования , советы начинающим и т.д и т.п
<< < (3/7) > >>
Имаго:
Ну так зачем советовать новичку в первую очередь учить ассемблер, если ему сейчас нужно разобраться в алгоритмизации?
Henty:
Алгоритмы понятнее на Паскале (ну Делфи, один хрен, структура та же).
Но частенько их пишут и на С++.
aptyp:
Надо начинать с начальных азов вообще низкоуровневое программирование. А если хочется быстрее научиться писать программы то высокоуровненый язык. А Pascal изучают в учебных учреждениях, не-потому что это правильно, а потому что так заведено. Вообще на информатике по жизни надо изучать Assembler, С++ или Python. А вот кодить на Delphi это как на экскаваторе в огороде копать землю вместо лопаты. :lol:
Имаго:
Henty, алгоритмы понятнее на любом человеческом языке! ^_^

Знаете такую штуку - учебный алгоритмический язык? Переведённый на русский язык паскаль. Так вот нас в школе каждую задачу по информатике заставляли решать с помощью алгоритма на этом самом УАЯ, иллюстрировать его блок-схемой, а потом подтверждать его работоспособность программой на бейсике. Вот так вдалбливалось понятие алогритмизации. А вот как это понятие aptyp будет осваивать с помощью ассемблера - остаётся загадкой.
aptyp:
Реально Pascal пусть юзают сами учителя. Поняв Assembler, освоив C++, даже Python если сроки "горят", можно считать что всё что нужно уже усвоено.
Имаго:
Не будем говорить о спец.школах, или тех уроках информатики, на которых рассказывают, как создать документ в ворде. В обыкновенной средней школе не учат быть программистами. И не учат конкретно какому-то языку от начала до конца - знакомят только с самыми простыми операторами, необходимыми для решения логических задач. Цель уроков информатики - научить решать логические задачи путём составления алгоритма. Всё. Поэтому и используются простейшие в освоении языки, конструкции которых похожи на речевые конструкции понятных школьникам языков - те же паскаль и бейсик. Так что, aptyp, ассемблер тут вообще не вяжется, не смотря на твою уверенность в том, что это основа, обязательная для всех. Я уже представляю какую-нибудь 14-15-летнюю школьницу, сортирующую числа методом пузырька на ассемблере... Пожалуй, единственная причина, по которой новичкам можно и нужно советовать более сложный, чем паскаль, C - его универсальность, на нём и простые задачи относительно легко решаются и для сложных заложен огромный потенциал. А уж при чём здесь пайтон - ума не приложу, ты, наверное, справочник по нему купил или прочитал где-то, что это круто?
aptyp:
На Assembler-е можно сделать если не-всё но многое умея мыслить. На Python по сравнеию C++ можно кодить в экстра кратчайшие сроки. Pascal уже не-актуален, можно конечно придирчиво выявлять различные "плюсы" этого языка относительно других, но это всё от лукавого типа, вообще этот язык реально уже отстой.
HardWareMan:
Вспоминается старая байка: "У какого языка больше плюсов: Паскаль или С? - У С и С++. Причем, у С++ их явно больше.". Все дело не в том, что удобнее/неудобнее, а в том, что более распространено. Исторически сложилось, что программисты ленивые сволочи и им лень писать токен целиком (легче плюхнуть "{" один раз, чем писать "begin"), вот их и сокращают. Ведь в итоге это ускоряет время написания кода. А настоящий ЯВУ должен читаться как обычный человеческий язык. Кроме как в этом я не вижу разницы между С и Паскалем/Дельфи (поверьте, основными типами данных, в рамки которых загоняет паскаль, пользуются только новички, впрочем это свойственно и самому С). Именно поэтому, С популярен, но менее читабелен неподготовленным человеком. Именно поэтому, сложно назвать С чистым ЯВУ. А вот Барсик - это классический ЯВУ. Не верите? "Почитайте" реально рабочую конфигурацию от "1С:Предприятие", даже демо которое. 1Сники перевели токены вижуалбарсика на русский. Я уверен, что ее прочтет и поймет любой школьник, который умеет читать. Ведь правда?
Касаемо трудности ассемблера. На чистом асме уже тоже никто не пишет. Все используют макроассемблер. А он позволяет обозвать кучку команд одним словом и использовать этот макрос для вставки в код. Т.е., один раз написанному куску кода можно задать понятное имя и вставлять его в основной код сколько душе угодно (это не вызов подпрограммы!). Есть мнение, что собственно С вылился из МАСМа.

Чтобы не быть голословным:
Имаго:
Примерно об этом я и говорил. А вот насчёт макроассемблера - Артур считает, что асм необходим для понимания процессов на уровне железа, так что речь скорее о "чистом" ассемблере.

Собственно, паскаль и бейсик будут актуальными, пока существует общеобразовательная школа.
Henty:
В принципе, АСМ только програмерам нужен, обычной гламурной школоте до фени, как там что внутрях работает. Им лишь вы в Аське и в Вконтакте посидеть.
Те, кто заинтересуются, идут дальше сами. ИМХО, в школах лучше Паскаля заменителя не найти. Тем более в среде Delphi всё красивенько и модненько)  ^_^
Silver_Shadow:
Мне вот наоборот программировать учиться(действительно учиться) не тянет. Раньше тоже мечты были и решения, щас возьмусь и буду учить программить, чтоб потом игрушку сделать на языке. Но потом немного поучив, сие было зослано подальше от глаз. Думаю для начала желания программировать, не надо вообще какой либо язык выбирать. Надо сначала иметь идею, а имено "чего бы мне такого интересного написать?" И не вдаваясь в основы программирования начинаешь делать это, а в процессе создавания, и основы изучаются.
Это 1 способ
2 способ это когда тебя заставляют, а имено когда ты учишся в институте на программера, и если ты не сделаешь кое какие проги тебя выпихнут оттуда
Я по стечению обстаятельств попадал и под 1-й способ и под 2-й способ
Но никогда не изучал с основ, ибо не тянуло и не интересно было

Добавлено позже:
Да, и за учебники программирования я брался только когда в институте заставляли, или прогу не мог написать без нее, или даже описать.
MetalliC:
gepar, 5коп от меня:
если хочешь научиться прогерству с целью потом, как-нибудь в будущем, заниматься этим профессионально, имхо лучше лучше учиться так:

для начала узнать азы алгоритмов, типа школьного курса информатики с языком Ершова :) (или его уже нет в школьном курсе ?)
а потом, сходу браться за любой из обьектно-ориентированных языков: С++, Java или Object Pascal (Delphi), и обязательно с хорошей книжкой (по С++ для начинающих и не только рекомендую "Как программировать на С" Дейтел & Дейтел)

Это из жизненного опыта, сам сначала на бэйсике учился, потом АСМ, потом паскаль и другие АСМы, всё это на любительском уровне - писал всякое-разное для себя или по надобности. А потом, как устроился программером, со всем этим "багажем" в голове, было ОЧЕНЬ тяжело переключиться на объектный подход.

и подобное не только со мной бывало, из-за этого вообще предлагали школьников сходу ООП учить, чтоб потом им мозги после бейсиков/паскалей "вправлять" не приходилось...
Vitalij:
Silver_Shadow

--- Цитата ---Надо сначала иметь идею, а имено "чего бы мне такого интересного написать?" И не вдаваясь в основы программирования начинаешь делать это, а в процессе создавания, и основы изучаются.
--- Конец цитаты ---
Это очень хороший способ. Надо поставить задачу, разработать алгоритм и начать воплощать на каком-либо языке.
Есть интересная книга - И. В. Красиков, И. Е. Красикова "Алгоритмы. Просто как дважды два".
HardWareMan:

--- Цитата: Henty от 15 Октябрь 2009, 19:13:17 ---В принципе, АСМ только програмерам нужен, обычной гламурной школоте до фени, как там что внутрях работает. Им лишь вы в Аське и в Вконтакте посидеть.
Те, кто заинтересуются, идут дальше сами. ИМХО, в школах лучше Паскаля заменителя не найти. Тем более в среде Delphi всё красивенько и модненько)  ^_^
--- Конец цитаты ---
Так потом и рождаются быдлокодеры, которые пишут индусский код. %)
gepar:

--- Цитата: MetalliC ---для начала узнать азы алгоритмов, типа школьного курса информатики с языком Ершова  (или его уже нет в школьном курсе ?)
--- Конец цитаты ---
А где такую книженция взять то можно ?В электронном виде чего-то подобного случаем нет ?
У нас в Украине никакой подобной не наблюдал , книга же что была по информатике у нас просто ужасная , сразу вспоминаю ответы на вопросы по поводу подсчёта веса файла (2,6 байта 3,5 байта брррр) .
MetalliC:

--- Цитата: gepar от 16 Октябрь 2009, 11:55:01 ---А где такую книженция взять то можно ?В электронном виде чего-то подобного случаем нет ?
У нас в Украине никакой подобной не наблюдал , книга же что была по информатике у нас просто ужасная , сразу вспоминаю ответы на вопросы по поводу подсчёта веса файла (2,6 байта 3,5 байта брррр) .

--- Конец цитаты ---
конкретных книг не знаю,
но в общем и без них лехко обойтись, цель - научиться представлять чего-либо в виде алгоритма.
типа, "квадратное уравнение": считаем дискриминант, если он больше нуля - ........, если меньше - ........ и т.д.

ну или "утро": идём в ванну, открываем кран, если есть вода - умываемся, иначе {материмся, идем к стояку и проверяем кран, если он открыт {ещё больше материмся, пытаемся набрать воду с бачка ))) и т.п.

если ты и так уже можешь описывать/представлять решение каких-либо задач в виде алгоритмов, можешь не заморачиваться и идти сразу к языкам программирования.
gepar:
Застрял при выполнении одного из заданий :
решить sin(|a+b|)-|cos(a-b)|
Нашёл в инете что модуль это sqrt(sqr(x)) , но ничего толкового из того что я обозначал не получилось так как компилятор либо требовал скобку либо двоеточие либо когда я и то и то ставил говорил что всё равно так нельзя  :)Вообщем напишите плыз как это уравнение правильно вписать надо (достаточно самого кусочка где обозначаеться как именно записать это уравнение) .
P.S Уравнение конечно не важное тобишь мне его никому сдавать на проверку не нужно , но чисто для себя я бы хотел разобраться .
Fly:

--- Цитата: gepar ---Нашёл в инете что модуль это sqrt(sqr(x))
--- Конец цитаты ---
Вообще это корень из квадрата. Куда проще для модуля использовать функцию abs(x).:)
По идее так должно быть:
sin(abs(a + b)) - abs(cos(a - b))
gepar:
Fly,сейчас попробую проделать , паралельно возник вопрос - как можно присвоить переменной значение типа <=2 и т.д (ну тобишь как присвоить значение a<3 так чтобы паскаль это понял и дальше потом не матерился ) .
P.S Сори что беспокою , у меня просто знакомых людей знающих паскаль нет в реале к сожалению .

Добавлено позже:
Fly, с модулем разобрался , спасибо за подсказку .

Добавлено позже:
и ещё маленький вопросик к специалистам : как определить введено чётное или не чётное число , ато много задач построено по принципе если число чётное сделать то и то , а если не чётное то то и это ...
BaNdiT:

--- Цитата ---как определить введено чётное или не чётное число
--- Конец цитаты ---
if ((x mod 2)=0) then <четное> else <не четное>.
Оператор mod даёт остаток от деления на число. Если число чётное - он делится на 2 без остатка.
Навигация
Главная страница сообщений
Следующая страница
Предыдущая страница

Перейти к полной версии