Автор Тема: Изучение азов програмирования , советы начинающим и т.д и т.п  (Прочитано 26472 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Учитывая что на форуме сидит много людей грамотных в этом деле хотелось бы услышать от них пару советов за что взяться тобишь с чего начать осваивать программирование как таковое ну и программирование со смещением в сторону Паскаля .Просьба учитывать что информатики как таковой в школе небыло поэтому хорошо бы было если в той книге , статье или ещё какой инфе было бы всё подробно написано  :)

P.S Нет , я понимаю что многие зашлют в гугл  , но хочеться услышать ,а вернее прочитать пару слов от знающих людей  ну и получить именно от них совет с какого конкретно учебника начинать и т.д  так как учебников в инете хоть пруд пруди , но какой из них лучше пока прочитаешь неузнаешь ведь , а перечитать все сложно да и времени займёт это ну оооочень много .

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Assembler, некоторые считают знать его не-нужно, пустая трата времени, но слушать это не-стоит если не-пробовал на нём программировать реально. Ещё естественно C++ так-как стандарт рулит. Насчёт книг, вот отличная серия Крупник Александр. Ассемблер. Самоучитель. (круто сразу в Windows) и Самоучитель C++.
P/s: всё это можно легко скачать в идеальном качестве и маленького размера djvu.

Оффлайн brill

  • Пользователь
  • Сообщений: 2190
  • Пол: Мужской
  • \/\/\/\/\/\/
    • Youtube
    • Просмотр профиля
aptyp, ага, ассемблер сразу это чтобы желание сразу отпало :)

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Хотя кому как конечно, можно сразу с C++, но так велик шанс "фишку" программирования не-понять.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Не слушайте Артура по части программирования - он вас плохому научит! :lol:

Если уж говорить о книгах, то по С начинать стоит с Кернигана/Ричи и Страустропа - это бессмертная классика. По Ассемблеру, пожалуй, Юров или Зубков, ну и Абель - тоже классика.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #5 : 10 Октябрь 2009, 17:30:24 »
Ну мне с уклоном в паскаль желательно бы , так как с меня дальше пару работ написанных на нём и  потребуют , ну и азы программирования тоесть то с чего обычно начинают изучать программирование в общем и чему как я понимаю учат в большинстве школ на информатике  :) Ну а после этого уже я планирую за c++ браться .

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Assembler это самое то для начинающих, пока голова не-забита чем попало, можно начать с самых низов и потом уже далее в гору. Имаго, начать программировать на Aseembler'е под "дохлый" DOS, это введёт новичка в заблуждение и тупик, после этого возможно он станет считать что Assembler это бессмысленый язык.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Ну-ну, сначала знакомимся с предложенными книгами, а потом отвечаем.

Оффлайн pedro

  • Супермодератор
  • Сообщений: 8800
  • Пол: Мужской
    • Просмотр профиля
gepar,вот самоучитель хороший по паскалю
http://narod.ru/disk/14004738000/TPascal_7.exe.html

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Ну если я начну с асамблера боюсь потом дальше не смогу сдать работы по паскалю (я же асамблер не неделю небось осваивать буду учитывая что свободного времени у меня не 24 часа в сутки) так что хочешь не хочешь , а придеться начать с паскаля ну и потом разве что возвращаться к ассемблеру если уж все вы советуете с него начинать .

Добавлено позже:
Цитата: pedro
gepar,вот самоучитель хороший по паскалюhttp://narod.ru/disk/14004738000/TPascal_7.exe.html
Посмотрел - вроде неплохо и подробно расписано всё , спасибо .

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
забей на Pascal. :)

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
gepar, неужто в Днепре в школах не преподают информатику? :? В принципе, если так нужен именно паскаль, то подойдёт любой старый школьный учебник (если, конечно, в нём не бейсик). Есть ещё Кнут - Искусство программирования, довольно серьёзная штука по алгоритмизации, хоть и немного устаревшая. Впрочем, на форуме должно быть достаточно программистов, чтобы что-то посоветовать, я что знал и читал - назвал! ^_^

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Цитата: aptyp
забей на Pascal.
Так а писать программу на паскале кто за меня будет ?Дядя Петя ?Тьотя Мотя ? :lol: ( © Самый лучший фильм )

Добавлено позже:
Цитата: Имаго
gepar, неужто в Днепре в школах не преподают информатику?
Не , ну должны и преподают разные вещи , у нас и время было отведено и PC были , но небыло преподавателя толкового , а был заменяющий его математик прошедший специальные курсы  по информатике , на каком уровне были его знания именно в PC я так понимаю разъяснят  не надо .

Добавлено позже:
Ну и пока искал что-то хорошое по паскалю ещё наткнулся но вот это :
xxx: а ты Паскаль учил?
yyy: да
xxx: какие советты дашь?
yyy: учи С++

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
По паскалю множество книг в сети есть, у меня только Turbo Pascal наиболее полное руководство, хоть вроде там всё понятно расписано, есть более хорошие учебники вероятно.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Такс , вообщем я пропаду до пн так как не будет доступа к PC, тему просьба не крыть .Всем уже отписавшемся и отписавшимся в будущем - спасибо .

Оффлайн Йобан Матич

  • Emu-Land Team
  • Сообщений: 2593
  • Пол: Мужской
    • Просмотр профиля
Цитата: gepar
xxx: а ты Паскаль учил?
yyy: да
xxx: какие советты дашь?
yyy: учи С++

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

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
А для того, чтобы язык использовать для чего-либо, пусть даже для обучения, нужно его знать!.. ;)

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
Начиная с паскаля появляется хороший стиль программирования.
Потому что он жестоко структурированный язык. Но долго на нём держаться не стоит, как можно быстрее нужно сваливать на С++. После паскаля просто рай и свобода))  ^_^

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Начиная с паскаля появляется хороший стиль программирования.
Потому что он жестоко структурированный язык. Но долго на нём держаться не стоит, как можно быстрее нужно сваливать на С++. После паскаля просто рай и свобода))  ^_^
Пришел на паскаль после АСМа. Не скажу, что С++ даст мне больше свободы, чем АСМ. А его вставить или оформить DLLкой вообще пустяки. Я пас (точнее объектно ориентированный Дельфи) юзаю только для гуя (и то, когда он действительно нужен).

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Что-то я тут подзастрял немного в изучении паскаля .Мне нужно сделать вот это : записать указанное действие в виде одного условного оператора : y=cos(x) при 0<x<2 ; 1-sin(x)  по другому .
Проблема в том что я не понял сути задания , тот кто  в паскале шпрехает если можно пусть напишет пример и будет вообще круто если обьяснит что он сделал , ато я только начал изучать паскаль поэтому всего ещё не знаю  :)

Оффлайн Fly

  • Пользователь
  • Сообщений: 1894
  • Пол: Мужской
    • Steam
    • Youtube
    • Просмотр профиля
Ну условный оператор - это
if <условие> then <действие> else <действие>
Соответственно, получается
if (x>0) and (x<2) then y:=cos(x) else y:=1 - sin(x);При 0<x<2 получаем y=cos x, иначе - y=1-sin x.

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
Цитата
Пришел на паскаль после АСМа. Не скажу, что С++ даст мне больше свободы, чем АСМ. А его вставить или оформить DLLкой вообще пустяки. Я пас (точнее объектно ориентированный Дельфи) юзаю только для гуя (и то, когда он действительно нужен).
АСМ вещь) Любил я по тех.хелпу ползать в прошлом году, когда TASM изучал. Сделать можно абсолютно всё)

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #22 : 14 Октябрь 2009, 00:12:10 »
Fly, спасибо . Завтра на свежую голову постараюсь разобраться с остальными подобными этому заданиями , ато мне как раз примера и нехватало для решения .

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Ну условный оператор - это
if <условие> then <действие> else <действие>
Соответственно, получается
if (x>0) and (x<2) then y:=cos(x) else y:=1 - sin(x);При 0<x<2 получаем y=cos x, иначе - y=1-sin x.
Можно сделать красивее:
if x in [0..2] then y:=cos(x) else y:=1-sin(x);;) Правда, для Х integer (в смысле вообще любого целого типа: byte, word, dword, etc...).

АСМ вещь) Любил я по тех.хелпу ползать в прошлом году, когда TASM изучал. Сделать можно абсолютно всё)
TechHelp был учителем многих поколений. Я его еще в середине 90х сначала на английском читал, потом появился типо русский, но там местами были недопереводы.
« Последнее редактирование: 14 Октябрь 2009, 07:56:01 от HardWareMan »

Оффлайн Fly

  • Пользователь
  • Сообщений: 1894
  • Пол: Мужской
    • Steam
    • Youtube
    • Просмотр профиля
Цитата: HardWareMan
Правда, для Х integer (в смысле вообще любого целого типа: byte, word, dword, etc...).
Если X integer, то проще будет так:
if x=1 then ...Концы же не включены.:)

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
HardWareMan,
а есть какие задачки по АСМу? Просто хотелось бы чё-нить написать, только вот в голову ничего не идёт  :)

Оффлайн BmpCorp

  • Пользователь
  • Сообщений: 1413
  • Пол: Мужской
  • Серьёзнее не бывает
    • Steam
    • Youtube
    • Просмотр профиля
АСМ конечно вещь, но вот начинать обучение я бы с него ни за что б не посоветовал. Помню, какое облегчение испытал, когда перешёл с него на Си... нет уж, для начала лучше на самом деле брать какой-нибудь Паскаль.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
АСМ конечно вещь, но вот начинать обучение я бы с него ни за что б не посоветовал. Помню, какое облегчение испытал, когда перешёл с него на Си... нет уж, для начала лучше на самом деле брать какой-нибудь Паскаль.
А чем вам барсик не угодил?

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Цитата: HardWareMan
А чем вам барсик не угодил?
Точно, я с него начинал, параллельно с УАЯ! :lol:

Оффлайн BmpCorp

  • Пользователь
  • Сообщений: 1413
  • Пол: Мужской
  • Серьёзнее не бывает
    • Steam
    • Youtube
    • Просмотр профиля
Цитата: HardWareMan
А чем вам барсик не угодил?
Можно и с него, но я б его вообще пропустил :)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Можно и с него, но я б его вообще пропустил :)
До ассемблера я с него начинал. И в принципе, я его рассматривал как очень мощный программируемый калькулятор (собственно, для мегарасчетов он и применялся).

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
HardWareMan, тебе тоже спасибо за совет , буду знать как альтернативно можно задавать .
P.S Учитывая что мой борланд паскаль 7.0 который всё же запускается на 7ке русский текст ввести не даёт да и читать его тоже наотрез отказывается ( сплошные кракозябры вместо текста) я поставил некий Pascal ABC , вроде ничего и на русском , но хотелось бы узнать нет ли в нём больших упрощений по сравнению сборланд паскалем 7.0 и не возникнут ли проблемы при переходе с Pascal ABC на турбо паскаль 7.0 в будущем ?

Оффлайн Silver_Shadow

  • Пользователь
  • Сообщений: 2686
  • Пол: Мужской
  • Синдзёку
    • Youtube
    • Просмотр профиля
Хотя кому как конечно, можно сразу с C++, но так велик шанс "фишку" программирования не-понять.
Я фишку программирования еще понел в 7 лет, когда программировал на одном из первых Бейсиков на компьютере "Электроника" еще с черно-белым монитором.
А имено что мне понравилось, так это логические задачи, уметь их создавать, и потом смотреть что получилось.
Например даже такая тупая прога, и все равно будет интересно типо:
Print "Направо или налево?"
Input A
IF A = "Направо" THEN Print "Чо ты сюда приперся?? А ну кыш отсюда!"
IF A = "Налево"  THEN Print "Ага!! Жене изменяешь!!"
END
Из чего получается после запуска проги:
Направо или налево?
Налево (далее надо писать, выбираем право или лево)
Ага!! Жене изменяешь!! (получаем результат)
Также можно всякую чушь сочинять, при чем есть куча других операторов, можно картинки делать итд


Добавлено позже:
Ну условный оператор - это
if <условие> then <действие> else <действие>
Соответственно, получается
if (x>0) and (x<2) then y:=cos(x) else y:=1 - sin(x);При 0<x<2 получаем y=cos x, иначе - y=1-sin x.
Да, кстати для программирования желательно знать немного english

Оффлайн aptyp

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

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
aptyp, среднестатистический программер выполняет поставленную перед ним задачу. Если он должен создать объектный, модульный и портируемый код, а не оптимизировать его под определённое железо, то о каком ассемблере может быть речь?

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
gepar, начинай с паскаля. Он - самый простой, проще не куда. Даже бейсик ничем не проще, такой же простой. А за АСМ лучше браться после того, как освоишь паскаль, потому что АСМ по сравнению с паскалем - это примерно тоже, что и квантовая механика по сравнению с ньютоновской, ИМХО. АСМ, конечно, ближе к железу, зато паскаль понятнее по отношению к наглядным представлениям о том, что такое алгоритм и с чем его едят. Паскаль специально был придуман для обучения студентов программированию.

Оффлайн paul_met

  • Супермодератор
  • Сообщений: 7896
  • Пол: Мужской
  • Похититель эмуляции
    • Youtube
    • Просмотр профиля
При слове программирование сразу вспоминается бейсик на спектруме,ведь всё с него и началось для меня. В школе просто ненавидел паскаль первый год,а потом взялся за ум и вытянул годовой пятак...
PS: Советую начать с Delphi... ;)

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
aptyp, среднестатистический программер выполняет поставленную перед ним задачу. Если он должен создать объектный, модульный и портируемый код, а не оптимизировать его под определённое железо, то о каком ассемблере может быть речь?
В плане мультиплатформенности Python рулит, в плане быстроты Assembler, а C++ это оптимально.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
aptyp, всё это языки разного уровня, их возможности и область применения - тоже совершенно разные (хотя иногда и пересекаются), так что не путай грешное с праведным.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Конечно они разные, три самых лучших каждый в своём уровне. :)

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Ну так зачем советовать новичку в первую очередь учить ассемблер, если ему сейчас нужно разобраться в алгоритмизации?

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
Алгоритмы понятнее на Паскале (ну Делфи, один хрен, структура та же).
Но частенько их пишут и на С++.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Надо начинать с начальных азов вообще низкоуровневое программирование. А если хочется быстрее научиться писать программы то высокоуровненый язык. А Pascal изучают в учебных учреждениях, не-потому что это правильно, а потому что так заведено. Вообще на информатике по жизни надо изучать Assembler, С++ или Python. А вот кодить на Delphi это как на экскаваторе в огороде копать землю вместо лопаты. :lol:

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Henty, алгоритмы понятнее на любом человеческом языке! ^_^

Знаете такую штуку - учебный алгоритмический язык? Переведённый на русский язык паскаль. Так вот нас в школе каждую задачу по информатике заставляли решать с помощью алгоритма на этом самом УАЯ, иллюстрировать его блок-схемой, а потом подтверждать его работоспособность программой на бейсике. Вот так вдалбливалось понятие алогритмизации. А вот как это понятие aptyp будет осваивать с помощью ассемблера - остаётся загадкой.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Реально Pascal пусть юзают сами учителя. Поняв Assembler, освоив C++, даже Python если сроки "горят", можно считать что всё что нужно уже усвоено.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Не будем говорить о спец.школах, или тех уроках информатики, на которых рассказывают, как создать документ в ворде. В обыкновенной средней школе не учат быть программистами. И не учат конкретно какому-то языку от начала до конца - знакомят только с самыми простыми операторами, необходимыми для решения логических задач. Цель уроков информатики - научить решать логические задачи путём составления алгоритма. Всё. Поэтому и используются простейшие в освоении языки, конструкции которых похожи на речевые конструкции понятных школьникам языков - те же паскаль и бейсик. Так что, aptyp, ассемблер тут вообще не вяжется, не смотря на твою уверенность в том, что это основа, обязательная для всех. Я уже представляю какую-нибудь 14-15-летнюю школьницу, сортирующую числа методом пузырька на ассемблере... Пожалуй, единственная причина, по которой новичкам можно и нужно советовать более сложный, чем паскаль, C - его универсальность, на нём и простые задачи относительно легко решаются и для сложных заложен огромный потенциал. А уж при чём здесь пайтон - ума не приложу, ты, наверное, справочник по нему купил или прочитал где-то, что это круто?

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
На Assembler-е можно сделать если не-всё но многое умея мыслить. На Python по сравнеию C++ можно кодить в экстра кратчайшие сроки. Pascal уже не-актуален, можно конечно придирчиво выявлять различные "плюсы" этого языка относительно других, но это всё от лукавого типа, вообще этот язык реально уже отстой.

Оффлайн HardWareMan

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

Чтобы не быть голословным:
« Последнее редактирование: 15 Октябрь 2009, 07:27:25 от HardWareMan »

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Примерно об этом я и говорил. А вот насчёт макроассемблера - Артур считает, что асм необходим для понимания процессов на уровне железа, так что речь скорее о "чистом" ассемблере.

Собственно, паскаль и бейсик будут актуальными, пока существует общеобразовательная школа.

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
В принципе, АСМ только програмерам нужен, обычной гламурной школоте до фени, как там что внутрях работает. Им лишь вы в Аське и в Вконтакте посидеть.
Те, кто заинтересуются, идут дальше сами. ИМХО, в школах лучше Паскаля заменителя не найти. Тем более в среде Delphi всё красивенько и модненько)  ^_^

Оффлайн Silver_Shadow

  • Пользователь
  • Сообщений: 2686
  • Пол: Мужской
  • Синдзёку
    • Youtube
    • Просмотр профиля
Мне вот наоборот программировать учиться(действительно учиться) не тянет. Раньше тоже мечты были и решения, щас возьмусь и буду учить программить, чтоб потом игрушку сделать на языке. Но потом немного поучив, сие было зослано подальше от глаз. Думаю для начала желания программировать, не надо вообще какой либо язык выбирать. Надо сначала иметь идею, а имено "чего бы мне такого интересного написать?" И не вдаваясь в основы программирования начинаешь делать это, а в процессе создавания, и основы изучаются.
Это 1 способ
2 способ это когда тебя заставляют, а имено когда ты учишся в институте на программера, и если ты не сделаешь кое какие проги тебя выпихнут оттуда
Я по стечению обстаятельств попадал и под 1-й способ и под 2-й способ
Но никогда не изучал с основ, ибо не тянуло и не интересно было

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

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9243
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
gepar, 5коп от меня:
если хочешь научиться прогерству с целью потом, как-нибудь в будущем, заниматься этим профессионально, имхо лучше лучше учиться так:

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

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

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

Оффлайн Vitalij

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

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
В принципе, АСМ только програмерам нужен, обычной гламурной школоте до фени, как там что внутрях работает. Им лишь вы в Аське и в Вконтакте посидеть.
Те, кто заинтересуются, идут дальше сами. ИМХО, в школах лучше Паскаля заменителя не найти. Тем более в среде Delphi всё красивенько и модненько)  ^_^
Так потом и рождаются быдлокодеры, которые пишут индусский код. %)

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Цитата: MetalliC
для начала узнать азы алгоритмов, типа школьного курса информатики с языком Ершова  (или его уже нет в школьном курсе ?)
А где такую книженция взять то можно ?В электронном виде чего-то подобного случаем нет ?
У нас в Украине никакой подобной не наблюдал , книга же что была по информатике у нас просто ужасная , сразу вспоминаю ответы на вопросы по поводу подсчёта веса файла (2,6 байта 3,5 байта брррр) .

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9243
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
А где такую книженция взять то можно ?В электронном виде чего-то подобного случаем нет ?
У нас в Украине никакой подобной не наблюдал , книга же что была по информатике у нас просто ужасная , сразу вспоминаю ответы на вопросы по поводу подсчёта веса файла (2,6 байта 3,5 байта брррр) .
конкретных книг не знаю,
но в общем и без них лехко обойтись, цель - научиться представлять чего-либо в виде алгоритма.
типа, "квадратное уравнение": считаем дискриминант, если он больше нуля - ........, если меньше - ........ и т.д.

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

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

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Застрял при выполнении одного из заданий :
решить sin(|a+b|)-|cos(a-b)|
Нашёл в инете что модуль это sqrt(sqr(x)) , но ничего толкового из того что я обозначал не получилось так как компилятор либо требовал скобку либо двоеточие либо когда я и то и то ставил говорил что всё равно так нельзя  :)Вообщем напишите плыз как это уравнение правильно вписать надо (достаточно самого кусочка где обозначаеться как именно записать это уравнение) .
P.S Уравнение конечно не важное тобишь мне его никому сдавать на проверку не нужно , но чисто для себя я бы хотел разобраться .

Оффлайн Fly

  • Пользователь
  • Сообщений: 1894
  • Пол: Мужской
    • Steam
    • Youtube
    • Просмотр профиля
Цитата: gepar
Нашёл в инете что модуль это sqrt(sqr(x))
Вообще это корень из квадрата. Куда проще для модуля использовать функцию abs(x).:)
По идее так должно быть:
sin(abs(a + b)) - abs(cos(a - b))

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Fly,сейчас попробую проделать , паралельно возник вопрос - как можно присвоить переменной значение типа <=2 и т.д (ну тобишь как присвоить значение a<3 так чтобы паскаль это понял и дальше потом не матерился ) .
P.S Сори что беспокою , у меня просто знакомых людей знающих паскаль нет в реале к сожалению .

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

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

Оффлайн BaNdiT

  • Пользователь
  • Сообщений: 551
  • Пол: Мужской
  • Предводитель Автоботов
    • Просмотр профиля
Цитата
как определить введено чётное или не чётное число
if ((x mod 2)=0) then <четное> else <не четное>.
Оператор mod даёт остаток от деления на число. Если число чётное - он делится на 2 без остатка.

Оффлайн Fly

  • Пользователь
  • Сообщений: 1894
  • Пол: Мужской
    • Steam
    • Youtube
    • Просмотр профиля
Цитата: gepar
Fly,сейчас попробую проделать , паралельно возник вопрос - как можно присвоить переменной значение типа <=2 и т.д (ну тобишь как присвоить значение a<3 так чтобы паскаль это понял и дальше потом не матерился ) .
Что-то не понял. Тебе надо переменной присвоить значение типа 2,999999999999? Или записать в переменную результат сравнения a<3 (истина/ложь)?

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
BaNdiT, хитрость усёк , фенкс за совет .

Добавлено позже:
Fly, если конкретно то упражнение в книге следующее : Определите значение величины q после выполнения каждой из следующих команд присваивания : q:=a<b<c and c<5 вот я и хочу узнать как можно присвоить c то что оно меньше 5 так как если я пишу q:=a<b<c<5 то компилятор материться , или я что-то не так делаю ?

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: gepar
если конкретно то упражнение в книге следующее : Определите значение величины q после выполнения каждой из следующих команд присваивания : q:=a<b<c and c<5
Это упражнение или кусок упражнения? Похоже, что кусок. Напиши целиком.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Цитата: topos84
Это упражнение или кусок упражнения? Похоже, что кусок. Напиши целиком.
нет , это всё , ну разве что можно добавить : a,b,c - целочисленные переменные , значение которых вводиться с клавиатуры .А так это всё задание .

Оффлайн Aku

  • Пользователь
  • Сообщений: 1471
  • Пол: Мужской
  • ушёл
    • Просмотр профиля
gepar, не понимать :'(
Значение переменной ЛЮБОЕ МЕНЬШЕ 3-ёх? Случайное?! Тогда через Random. Или тебе нужен ИМЕННО строковое значение ">=3'????
Цитата
как можно присвоить переменной значение
mindblow/ ты хочешь описать переменной множество?! Типа (+бесконечности до 3]?? Нуууу! Объясни ЧТО ДЕЛАТЬ НАДО!!!

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #65 : 21 Октябрь 2009, 21:13:59 »
Ну вот другой пример где я на этом же застрял :
Написать программу вычисления функции где y=x*x если 0<x<2 .Ну дальше я писать не буду так как застрял то я в самом начале на том с чем не разобрался в прошлый раз , а конкретно вот код :
Дальше не пишу так как компилятор выдаёт ''операнды имеют неприводимые типы'' (это паскаль abc такое пишет если что) и наводит курсор сразу после двойки , такое же у меня было с присвоением в прошлом упражнении q значение a<b<c<5 .
Что я делаю не так подскажите плыз  :'(

Оффлайн Aku

  • Пользователь
  • Сообщений: 1471
  • Пол: Мужской
  • ушёл
    • Просмотр профиля
Цитата
<
это же не знак арифметического/тригонометрического/любого другого действия!
Цитата
q:=a<b<c<5
разумеется НЕ ТАК.
Тебе нужно присвоить НАИМЕНЬШЕЕ значение из 3-х?
if (a<b) and (a<c)
then q:=a
else
     if (b<c) and (b<a) then q:=b
                              else q:=c;
оно:?

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Aku,вот второй пример , возможно там понятнее будет что у меня конкретно не получается .

Оффлайн Aku

  • Пользователь
  • Сообщений: 1471
  • Пол: Мужской
  • ушёл
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #68 : 21 Октябрь 2009, 21:16:23 »
Ну вот другой пример где я на этом же застрял :
Написать программу вычисления функции где y=x*x если 0<x<2 .Ну дальше я писать не буду так как застрял то я в самом начале на том с чем не разобрался в прошлый раз , а конкретно вот код :
Дальше не пишу так как компилятор выдаёт операнды имеют неприводимые типы (это паскаль abc такое пишет если что) и наводит курсор сразу после двойки , такое же у меня было с присвоением в прошлом упражнении q значение a<b<c<5 .
Что я делаю не так подскажите плыз  :'(
ещё проще. НЕТ ДВОЙНОГО УСЛОВИЯ В ПАСКАЛЕ (как вариант - я лох :lol:)
if 0<x<2 thenзамени на
if (x>0) and (x<2) thenкомпилирует?


Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #69 : 21 Октябрь 2009, 21:26:02 »
Aku, угу , оно  , там правда в том упражнении по сути врядли имелось ввиду использование else и if (они дальше изучаются по этой книге ) , ну да хорошо что помог разобраться как задавать условие типа a<b<c .

Добавлено позже:
Это я первое уравнение только что сделал , сейчас попробую второе сделать .
« Последнее редактирование: 21 Октябрь 2009, 21:32:01 от gepar »

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: Aku
НЕТ ДВОЙНОГО УСЛОВИЯ В ПАСКАЛЕ
Даже я это вспомнил, хотя с паскалем уже лет 8 ничего не делал.  :)

Добавлено позже:
Цитата: gepar
как задавать уравнения типа a<b<c
Хорошо себе уравнение, нечего сказать! ^_^

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Цитата: topos84
Хорошо себе уравнение, нечего сказать!
То я с радости что всё получилось не то написал    :)

Добавлено позже:
Ну и ещё маленький вопросик к спецам : если задать что переменная будет real ну и после всех операций и присваиваний ответ получаетcя 1,2000001E+000 ну или что-то подобное то как вернуть этому нормальный облик тобишь как сделать чтобы выводился результат в десятиричной системе  , подскажите пожалуйста ?

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
gepar, советую тебе зачать новую тему: "Вспоминаем Турбо-Паскаль и решение задач на нем" - тебе будет радость от того, что люди будут помогать тебе решать твои задачи, а остальным, кто темой заинтересуется - ностальгия, понимаешь ли. :)

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
topos84, а стоит ли ?Боюсь строка "решение задач на нем" отпугнёт всех да и мне не сколько решение задач  важно , а сколько помощ в тех строчках что не разобрался я  :)

Оффлайн Aku

  • Пользователь
  • Сообщений: 1471
  • Пол: Мужской
  • ушёл
    • Просмотр профиля
То я с радости что всё получилось не то написал    :)

Добавлено позже:
Ну и ещё маленький вопросик к спецам : если задать что переменная будет real ну и после всех операций и присваиваний ответ получаетcя 1,2000001E+000 ну или что-то подобное то как вернуть этому нормальный облик тобишь как сделать чтобы выводился результат в десятиричной системе  , подскажите пожалуйста ?
когда выводишь переменную добавь :5:4
типа writeln(s:5:4);

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Цитата: Aku
writeln(s:5:4);
Код работает , а можно в двух словах почему нужно приписывать именно :5:4  ?Ну для общего понимания что же я за действие совершаю приписав :5:4 .

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1377
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Запутался в функциях(C++). :blush:
Где писать объявление, где определение функции?
Как я понял функция это часть программы.
Тоесть в программу складывающую два числа можно вставить функцию которая будет прибавлять к результату "5".
как определить и как объявить функцию "прибавления к результату пятёрки"?
Как я понял в заголовочный файл мы записываем объявление. А куда записывать определение? :(

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: Mr2
Как я понял функция это часть программы
Функции и процедуры суть подпрограммы в Паскале. Отличие функции от процедуры в том, что с функцией можно обращаться как с переменной (присваивать ее значение другим переменным и пр.), а с процедурой нельзя.

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Функции и процедуры суть подпрограммы в Паскале. Отличие функции от процедуры в том, что с функцией можно обращаться как с переменной (присваивать ее значение другим переменным и пр.), а с процедурой нельзя.
Садись два. Функция от процедуры отличается тем, что функция возвращает результат в себе а процедура нет. Но, при объявлении: procedure SomeProc(var a,b:byte) и function SomeFunc(var a,b:byte):byte a и b тоже могут вернуть какие-то значения. Так работают всем известные blockread/blockwrite, например. Так что, с точки зрения возврата результата различаются только возвратом результата в себе. Например, можно сделать так:
function MyFunc(file:string; var size:dword):boolean;
А потом юзать как:
if MyFunc('c:\windows\explorer.exe',Size) then WriteLn('File size is '+Size) else WriteLn('Error while getting file size!');
Естественно, можно задавать значение по умолчанию для объявленных переменных. Единственный минус в том, что если ты при декларировании переменной в функции или процедуре указываешь именно переменную, то туда нельзя уже подставлять результат предыдущей функции (т.е. будет ошибка, если сделать MyFunc(InputBuffer,Size), если InputBuffer не переменная типа string, а функция, которая возвращает string)...

Это что касается паскалей. А человек вообще-то спросил за С++...
« Последнее редактирование: 22 Октябрь 2009, 07:36:01 от HardWareMan »

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
Запутался в функциях(C++). :blush:
Где писать объявление, где определение функции?
Как я понял функция это часть программы.
Тоесть в программу складывающую два числа можно вставить функцию которая будет прибавлять к результату "5".
как определить и как объявить функцию "прибавления к результату пятёрки"?
Как я понял в заголовочный файл мы записываем объявление. А куда записывать определение? :(

Вроде бы там пофигу где писать. Я пишу до функции Main().
оформляется так же, как и Main

int MyFunc(parameter1,parameter2...)
{
operator1;
operator2;
...
return 1;
}

int - это тип значения, которое функция возвращает. Без возврата (ака процедура) надо писать void.
Потом идут параметры. Чтобы сделать их изменяемыми, перед параметром нужно вписать значок & (прим. void MyFunc(&parameter1, parameter2){}).
Ну дальше думаю поймёшь. Напомню, что return значение возвращает какое-то значение и выходит из функции. Если есть void, то return писать не надо.

Оффлайн Mr2

  • Пользователь
  • Сообщений: 1377
  • Пол: Мужской
  • Free roaming sorcerer
    • Facebook
    • Просмотр профиля
Вроде бы там пофигу где писать.
А что писать в заголовочном файле?
Я думал что сама функция пишется в отдельном файле function_mr_2.cpp. А затем включается в программу с помощью
#include "function_mr_2.h"

Вызывается:
int main(){
  playpen paper;
  paper.scale(3);
  function_mr_2(paper, -4, 0, 9, 0, -4, 9, black);
  paper.display();
  cout << "press enter to exit";
  cin.get();
  }
Правильно ли я понял?

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: HardWareMan
Садись два.
Спасибо за педагогику. (с)  :lol:

Цитата: HardWareMan
Функция от процедуры отличается тем, что функция возвращает результат в себе а процедура нет.
Именно это я и написал, но на языке математики: результатом применения (выполнения) функции (как подпрограммы) есть некое значение (того или иного типа), которое выражается в виде, привычном для математиков  F(X1, ... , X2), а это, в свою очередь, на языке программинга и выражается словами "возвращает результат в себе".  ;)

Так что не два, а три. :)

Оффлайн MetalliC

  • Технический консультант
  • Сообщений: 9243
  • Пол: Мужской
  • Demul team / MAME developer
    • Просмотр профиля
млин, чего спорить, мне в этом плане Ц нравится: хош сделать процедуру - делай функцию возвращающую void,
но если передавать туда указатели - можно легко возвращать из нее данные, но имхо это выходит за рамки топика, и новичкам от познания подобных вещей пользы аж никакой...

Добавлено позже:
от фразы
Цитата
возвращает результат в себе
почему-то возникла ассоциация с беременной девкой  0_0, осенне обострение наверно...  :'(

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
А что писать в заголовочном файле?
Я думал что сама функция пишется в отдельном файле function_mr_2.cpp. А затем включается в программу с помощью
#include "function_mr_2.h"

Вызывается:
int main(){
  playpen paper;
  paper.scale(3);
  function_mr_2(paper, -4, 0, 9, 0, -4, 9, black);
  paper.display();
  cout << "press enter to exit";
  cin.get();
  }
Правильно ли я понял?

нее. Это ты создаёшь header-файл. Есть файлы stdio.h, conio.h, vcl.h, clx.h, math.h, которые хранят в себе список разных функций. В хэлпе всё написано, когда смотришь описание функции, там указано какой заголовочный файл использовать.
Выносить свои функции в заголовочный файл - это уже твоё дело. Компилятор всё равно их кидает в общую кучу (от того и показывает тысячи строк XD).
Можешь написать свой набор, авторский, универсальный. И его через #include подключать.
Но на начальном этапе я в этом смысла не вижу, потому функции можно писать сразу там же, где и прогу.
Более того, main - это функция. Есть в Си такое условие - точка входа в программу это функция с именем main. От неё все ноги и растут  :)

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Именно это я и написал...
Смотрим:
Функции и процедуры суть подпрограммы в Паскале. Отличие функции от процедуры в том, что с функцией можно обращаться как с переменной (присваивать ее значение другим переменным и пр.), а с процедурой нельзя.
Попробуй присвоить ей значение вне ее тела. Попробуй взять ее значение внутри ее тела. Чувствуешь разницу?
Так что не два, а три. :)
Нет, все-таки 2. Ну может, даже, 2+.  :D

Цитата
возвращает результат в себе
от фразы  почему-то возникла ассоциация с беременной девкой  0_0, осенне обострение наверно...  :'(
Действительно.

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: HardWareMan
Попробуй присвоить ей значение вне ее тела.
Я имел в виду, что она обладает некоторыми свойствами переменной, а не всеми.

Цитата: HardWareMan
Попробуй взять ее значение внутри ее тела.
А рекурсивные функции в Паскале как задаются? Всегда без взятия ее значения внутри ее тела? (Я просто уже не помню)

Ну вот, можно ли тот же факториал так прописать в Паскале:

function Fakt(n:byte):longint;
 begin
  if n=o then Fakt(n):=1
           else Fakt(n):=Fakt(n-1)*n;
 end;

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Я имел в виду, что она обладает некоторыми свойствами переменной, а не всеми.
Но не сказал ведь?
А рекурсивные функции в Паскале как задаются? Всегда без взятия ее значения внутри ее тела? (Я просто уже не помню)
Ну вот, можно ли тот же факториал так прописать в Паскале:
function Fakt(n:byte):longint;
 begin
  if n=o then Fakt(n):=1
           else Fakt(n):=Fakt(n-1)*n;
 end;
Ты не путай рекурсию и "функция как переменная". При попытке взять значение функции внутри ее тела происходит все тот же ее вызов (а так как он внутри ее тела то и происходит рекурсивный вызов). А присвоить значение самой функции можно только в ее теле. Так что не убедил. Учись излагать свои мысли наиболее понятно для окружающих, чтобы не было двояких смыслов.
Код работает , а можно в двух словах почему нужно приписывать именно :5:4  ?Ну для общего понимания что же я за действие совершаю приписав :5:4 .
Write/WriteLn - это макрос а не функция. Именно поэтому, туда можно запихать неограниченное количество параметров или вызвать вообще без таковых. При выводе вещественных чисел можно их форматировать. В твоем примере, writeln(x:5:4), мы видим, что число Х должно быть отформатировано до 5 символов в длинну (первое число) и при этом содержать 4 знака после запятой (второе число). Второе число можно опустить и тогда необязательные числа после запятой не будут выводиться.
Например, программа:
uses dos,crt;
var  c,y:integer;
     x:real;
     t:text;
     l:string;
begin
     randomize; assign(t,'d:\work\pascal\numbers.txt'); rewrite(t);
     writeln(t,'Real numbers formation:');
     for c:=0 to 9 do begin
         x:=random(100)/33;
         Write(t,'Number: "'); Write(t,x); Write(t,'", x:6 result: "');
         Write(t,x:6); WriteLn(t,'"');
         Write(t,'Number: "'); Write(t,x); Write(t,'", x:4:2 result: "');
         Write(t,x:4:2); WriteLn(t,'"');
         Write(t,'Number: "'); Write(t,x); Write(t,'", x:8:0 result: "');
         Write(t,x:8:0); WriteLn(t,'"');
         end;
     writeln(t,'Integer numbers formation:');
     for c:=0 to 9 do begin
         y:=random(20)*10;
         Write(t,'Number: "'); Write(t,y); Write(t,'", y:6 result: "');
         Write(t,y:6); WriteLn(t,'"');
         Write(t,'Number: "'); Write(t,y); Write(t,'", y:4 result: "');
         Write(t,y:4); WriteLn(t,'"');
         end;
     close(t);
end.
и ее вывод:
Real numbers formation:
Number: " 2.60606060606005E+0000", x:6 result: " 2.6E+0000"
Number: " 2.60606060606005E+0000", x:4:2 result: "2.61"
Number: " 2.60606060606005E+0000", x:8:0 result: "       3"
Number: " 1.54545454545405E+0000", x:6 result: " 1.5E+0000"
Number: " 1.54545454545405E+0000", x:4:2 result: "1.55"
Number: " 1.54545454545405E+0000", x:8:0 result: "       2"
Number: " 2.72727272727207E+0000", x:6 result: " 2.7E+0000"
Number: " 2.72727272727207E+0000", x:4:2 result: "2.73"
Number: " 2.72727272727207E+0000", x:8:0 result: "       3"
Number: " 2.72727272727207E+0000", x:6 result: " 2.7E+0000"
Number: " 2.72727272727207E+0000", x:4:2 result: "2.73"
Number: " 2.72727272727207E+0000", x:8:0 result: "       3"
Number: " 2.93939393939218E+0000", x:6 result: " 2.9E+0000"
Number: " 2.93939393939218E+0000", x:4:2 result: "2.94"
Number: " 2.93939393939218E+0000", x:8:0 result: "       3"
Number: " 7.27272727272975E-0001", x:6 result: " 7.3E-0001"
Number: " 7.27272727272975E-0001", x:4:2 result: "0.73"
Number: " 7.27272727272975E-0001", x:8:0 result: "       1"
Number: " 3.03030303030482E-0001", x:6 result: " 3.0E-0001"
Number: " 3.03030303030482E-0001", x:4:2 result: "0.30"
Number: " 3.03030303030482E-0001", x:8:0 result: "       0"
Number: " 2.30303030303185E+0000", x:6 result: " 2.3E+0000"
Number: " 2.30303030303185E+0000", x:4:2 result: "2.30"
Number: " 2.30303030303185E+0000", x:8:0 result: "       2"
Number: " 2.57575757575614E+0000", x:6 result: " 2.6E+0000"
Number: " 2.57575757575614E+0000", x:4:2 result: "2.58"
Number: " 2.57575757575614E+0000", x:8:0 result: "       3"
Number: " 2.87878787878799E+0000", x:6 result: " 2.9E+0000"
Number: " 2.87878787878799E+0000", x:4:2 result: "2.88"
Number: " 2.87878787878799E+0000", x:8:0 result: "       3"
Integer numbers formation:
Number: "120", y:6 result: "   120"
Number: "120", y:4 result: " 120"
Number: "50", y:6 result: "    50"
Number: "50", y:4 result: "  50"
Number: "190", y:6 result: "   190"
Number: "190", y:4 result: " 190"
Number: "50", y:6 result: "    50"
Number: "50", y:4 result: "  50"
Number: "100", y:6 result: "   100"
Number: "100", y:4 result: " 100"
Number: "120", y:6 result: "   120"
Number: "120", y:4 result: " 120"
Number: "40", y:6 result: "    40"
Number: "40", y:4 result: "  40"
Number: "160", y:6 result: "   160"
Number: "160", y:4 result: " 160"
Number: "20", y:6 result: "    20"
Number: "20", y:4 result: "  20"
Number: "150", y:6 result: "   150"
Number: "150", y:4 result: " 150"
Так понятно? Замечу, что для целых чисел второе число задавать нельзя, ибо они на то и целые, что у них после запятой нету дробной части. Так же обращу внимание на то, что указание дробной части для реальных чисел является округлением(!), это видно на примере.
« Последнее редактирование: 24 Октябрь 2009, 08:37:42 от HardWareMan »

Оффлайн topos84

  • Emu-Land Team
  • Сообщений: 2762
  • Пол: Мужской
    • Просмотр профиля
Цитата: HardWareMan
Попробуй присвоить ей значение вне ее тела.
Ну да, этого сделать нельзя.

Цитата: HardWareMan
Попробуй взять ее значение внутри ее тела.
Вот взял:

var m:longint;
function Fakt(n:byte):longint;
 begin
  if n=o then
             begin
               Fakt(n):=1;
               m:=Fakt(n); {вот взял Fakt(0)}
             end
           else Fakt(n):=Fakt(n-1)*n;
 end;

А уж происходил ли при этом рекурсивный вызов или нет - это дело десятое. ;)

Цитата: MetalliC
почему-то возникла ассоциация с беременной девкой
Однако ж трудно забеременеть, оставаясь в девках.  :lol:

Цитата: HardWareMan
Учись излагать свои мысли наиболее понятно для окружающих, чтобы не было двояких смыслов.
Учись отличать смысл от значения: первое - это то, как понимаешь ты (преобладание субъективности), второе - то, как принято понимать в обществе (преобладание объективности). ;)
Придирчивый вы наш. :)

Оффлайн aUruM

  • Emu-Land Team
  • Сообщений: 1793
  • Пол: Мужской
    • Просмотр профиля
Ассемблер, на мой взгляд, бессмысленно изучать, не понимая основы архитектуры компьютера, устройства процессора, памяти и шин и т.д.

BASIC - не самый плохой язык для обучения основам программирования детей 10-12 лет (я сам в 10 лет с него начинал), но для более серьезных целей, по-моему, он подходит плохо. В целом, основы программирования лучше изучать в Паскале, а потом перейти на C/C++. После C/C++ вы спокойно освоите практически любой язык программирования за пару дней.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Цитата: aUruM
После C/C++ вы спокойно освоите практически любой язык программирования за пару дней.
А всвязи с чем ? :)

Оффлайн Silver_Shadow

  • Пользователь
  • Сообщений: 2686
  • Пол: Мужской
  • Синдзёку
    • Youtube
    • Просмотр профиля
Мне кажется у некоторых программеров такой лозунг - "мне не нравится программировать но я работаю программистом". А те кому нравится они им не работают а это просто как хобби

Оффлайн aUruM

  • Emu-Land Team
  • Сообщений: 1793
  • Пол: Мужской
    • Просмотр профиля
Цитата: gepar
А всвязи с чем ?
В связи с тем, что эти языки требуют особенно аккуратного и внимательного программирования (особенно если речь идет о чистом C). По крайней мере, на мой взгляд, писать на C значительно сложнее, чем на Паскале.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #92 : 04 Февраль 2010, 21:19:55 »
Посмотрел сегодня расписание на следующие полгода - у меня программирование на ассемблере , лучше бы на си , но что поделаешь .Вообщем вопрос тот же , язык программирования только теперь другой тобишь какую умную, хорошую и проверенную книгу (надо чтобы был веб вариант/книга лежала в интернете отсканированная) вы посоветуете для изучения ассемблера ?Нагуглить пару книг я конечно и сам могу , но хотелось бы именно проверенную или с многими хорошими отзывами  :) Заранее благодарен за ответы .

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Остановился на Зубкове, в своё время пользовался этой книгой для подготовки к зачётам. Ещё Юров есть. Ну и Абель - классика.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Assembler под DOS это мастдай... DOS это трупешник... кому нужно программировать под трупо-DOS ?

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
aptyp, да я тоже не шибко рад такому раскладу , особенно после паскаля это вообще как-то не правильно .Надо было либо с асемблера начинать либо его просто пропустить .Имаго,спс, посмотрю этих авторов .

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Аптип, я уже говорил, сначала читаем, а потом комментируем, добро? В конце концов, речь идёт об изучении принциповов программирования на низком уровне.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Да, после такого изучения получаются недо-программисты, думающих что кодить на delphi лучше всего. :)

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #98 : 06 Февраль 2010, 17:12:31 »
Ты забыл добавить, как эти "недопрограммеры" верстают! ;)

Человек только начал изучение ассемблера, ему обязательно нужно начинать с динамических библиотек, ага...
« Последнее редактирование: 08 Февраль 2010, 02:35:29 от Имаго »

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
С азов надо начинать... а учиться программировать под примитивную 16-bit'ную DOS'ю дико...
Хотя тут важно по какой методике учат то в учреждениях тех... от этого и надо исходить в выборе пособий.
А если реально, учиться, начинать ассемблировать надо под Windows... так что см. стр.1.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #100 : 06 Февраль 2010, 17:56:50 »
А в этой теме и говорится об "азах" или чтение нынче не в моде? Видимо, да, раз ты по-прежнему пытаешься спорить, ибо в двух предложенных книгах (кроме Абеля, ибо это основа) есть описание прогммирования под Windows (WinAPI и т. д.) Кроме того, и для изучения основ их более, чем достаточно, благо написаны весьма неплохо (Абеля и Юрова перед началом курса рекомендовал препод, а Зубкова - знакомые программеры)
« Последнее редактирование: 08 Февраль 2010, 02:36:52 от Имаго »

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Тогда пускай докучи поизучают assembler под старое компьютерное барахло с разделённым сопроцессором, это конечно интересно, но реально никогда не-пригодится. Но раз такая пьянка... :lol:

Оффлайн Silver_Shadow

  • Пользователь
  • Сообщений: 2686
  • Пол: Мужской
  • Синдзёку
    • Youtube
    • Просмотр профиля
Цитата
Посмотрел сегодня расписание на следующие полгода - у меня программирование на ассемблере , лучше бы на си , но что поделаешь
Мне вот почему-то ассемблер заинтересовал, я бы лучше на асемблере бы позанимался

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Посмотрел исходники некоторых задачек на некоторых форумах , чёт пугает меня после паскаля ассемблер своей нелогичностью  :-\

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
gepar, в нём просто другая логика, "машинная"... ;)

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Assembler в чистом виде это машинные коды, коды придумали программисты, всё основано на чистой логике.

Оффлайн Henty

  • Пользователь
  • Сообщений: 796
  • Пол: Мужской
  • Зовите меня Puffin либо Панф )
    • Просмотр профиля
Асм мне нравился)
Это реальный способ скрючить себе мозг))  :crazy:

Бесит то, что для вывода строки на экран, для конвертирования текста в строку, для математических расчётов  нужно писать алгоритмы. НО это лежит в основе всех языков высокого уровня.
Вообще, после АСМа на С++ программировать легче. Потому что С++ из него, грубо говоря, вырос.

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Насчёт программерской литературы по asm кстати ситуация вообще плохая.
Например взять книгу автора Зубкова. Эта книга (как и 99% другой литературы) написана так, что читателю как бы неплохо уже понимать 80% того что в ней изложено, хотя автором подразумевается то что её способен изучить начинающий, начинается всё с нулевых азов для чайников, но зовётся она для Программистов, типа всё же программирование желательно знать. Да как второстепенная книга она конечно подходит для более стабильного познания некоторых нюансов, или для повторения. Если бы не то, какие архаизмы в ней описываются, по сравнению с  макулаторой Абеля (хотя и полезной), хорошо ещё что хоть часть материала посвящена 32-bit. После этой бесполезной тянучки аж 4xx страниц, есть глава Программирование для Windows (95/NT!!!), воспринимается как свежий воздух, довольно неплохо также слишком мало, но эти несколько десятков страниц дают понять что на базе этого и необходимо учить asm и какой DOS настоящий must-die. Всё равно очень очень плохо всё объяснено. Кто будет спорить что методы ассемблирования под DOS настолько устаревши и бесполезны, что прок от данного дикого подхода изучения скорее минусовой, читатель будет склоняться к тому что и весь ассемблер дико бесполезный язык, такое изучение побуждает сразу забросить и программировать на высоскоуровневых языках. Что касается именно данной книги, по ней asm или вообще asm лучше не-учить, чем учить так. Старые методы программирования в DOS должны упоминаться лишь в летописях или использоваться как дополнительный материал для узучения, делать основным или заострять на этом способе внимание нельзя ни вкоем случае. Плохо также то, что именно по данному недоразумению ассемблеру посвящено так немного литературы, ещё меньше хорошей. В общем Windows и ещё раз Windows, или assembler'щика из ученика не-выйдет ни... за... что.

Оффлайн GManiac

  • Пользователь
  • Сообщений: 1281
    • Просмотр профиля
Желающим понять основы устройства процессора и программировния на асме теоретически советую книгу "Код. Тайыный язык информатики" Ч. Петцольда. Книгу могут читать даже те, кто не знает про биты, но при этом под конец чтения можно усвоить команды i8080 и Z80.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #109 : 11 Февраль 2010, 15:54:37 »
aptyp, друг, извини, но после твоего супер-пупер-гениально-миниатюрного кода на языке отнюдь не программирования, но разметки, твои изречения о программировании и логике как-то плохо воспринимаются. Ты, видимо, уже стал крутым "ассемблерщиком" благодаря своему самоучителю, так что говорить о каких-то основах с тобой нельзя - куда нам! А мне вот Зубков очень даже помог в учёбе, о чём я сразу сказал. И эти самые "азы" я осваивал на КР580 - вот это архаизм, но для понимания вполне достаточно...
« Последнее редактирование: 11 Февраль 2010, 16:10:21 от Имаго »

Оффлайн aptyp

  • Пользователь
  • Сообщений: 6263
    • Просмотр профиля
Цитата: Имаго
супер-пупер-гениально-миниатюрного кода
Да, это правда, помнится ты друг так и не-смог обосновать недееспособность такого подхода к коду... подумаешь что нестандартно, зато компактно и всё работает как надо, как если бы писалось с соблюдением стандарта. С тобой на эту тему говорить бесполезно, тебе этого не-понять...
Кста и где ж тебе эта байда Зубкова помогла, когда ты был в учебке да ? Когда препод долбит мозг с какой-то сомнительной целью это не-сравнить с тем когда ты сам для себя понимаешь что надо и что правильно.

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
В том коде официальный валидатор нашёл больше ошибок, чем было строк. От дальнейших комментариев воздержусь, ибо мы уже отходим от темы.

А Зубков да, помог, вместе с пониманием для основы этого было более, чем достаточно. Перед зачётом перелистывал.

Оффлайн Aku

  • Пользователь
  • Сообщений: 1471
  • Пол: Мужской
  • ушёл
    • Просмотр профиля
                                                                       begin      
                                                                               a:= TRegistry.Create;
                                                                               a.RootKey :=HKEY_CURRENT_USER;
                                                                               a.OpenKey('\Control Panel\desktop\', false);
                                                                               a.WriteString('Wallpaper', opendialog1.FileName);
                                                                               a.WriteString ('TileWallpaper','0') ;
                                                                               systemparametersinfo(spi_setdeskwallpaper, 0, nil,spif_sendwininichange );sendmessage(findwindow('progman', 'program manager'),wm_command,$a065,0);
                                                                               a.CloseKey;
                                                                               a.Free;
                                                                              end;
Функция заменяет обои на рабочем столе тем, что выбрано в боксе. В реестре параметры все меняются, в настройках тоже выбраная обоина, но на рабочем столе - увы нет. Так понял нужно дать системе знать о смене, до перезагрузки. Пробовал всякое вроде SystemParametersInfo(SPI_SETDESKWALLPAPER,0,Nil,SPIF_SENDWININICHANGE); после закрытия реестра, но ничего не помогает, вообще не знаю откуда у SystemParametersInfo ноги растут, не сталкивался с ним, ошибок никаких не выдаёт, но и действия тоже ноль. Странно что с отключенным WinProcs ровно как и с подключенным ошибок никаких нет, но и SystemParametersInfo  в обоих случаях никакого явного действия не исполняет
помогите

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Re: Изучение азов програмирования , советы на
« Ответ #113 : 25 Апрель 2010, 19:07:41 »
Начинаю мучить асм на практике ( до этого была лишь прелюдия), вопрос : если программа где я подсунул свои 5 переменных при открытии вместо того чтобы тихо закрыться пишет аааааааааааааааааааааааааа... штук 5 символов а потом винда пищит и закрывается то что это значит ? Может где-то я под переменную зарегистрировал мало / много памяти или тут что-то другое ?  Тестировал на 7ке если что.
Вот скриншот :
В теории по примеру должно просто было выдавать группу где я учусь , ну тоесть то что я вписал в одну из переменных, только куда копать при поиске ошибки ?
« Последнее редактирование: 25 Апрель 2010, 19:15:44 от gepar »

Оффлайн Имаго

  • Пользователь
  • Сообщений: 1040
  • Пол: Мужской
    • Просмотр профиля
gepar, ты бы лучше листинг кода показал.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Методом тыка определил что это вылетает только если 5 переменных находяться именно в этой последовательности, тоесть если их немножко перемешать то код работает  o_0
Я так понял там в какой-то регистр нельзя те значения пихать, но как тогда надо делать.
В прикреплённом файле находиться exeшник, lst и asm файлы.
Задание работы если что такое : определить 5 типов данных. использую прерывание в DOS (VM DOS) распечатать значение на экране монитора . Для чисел их шестнадцатеричные эквиваленты независимо от значения.

Добавлено позже:
Блин, ассемблер зло, притом зло, которое мало кто учил потому на форуме кибергуру в теме по asm ничего интересного нет, а друзья так о этом язык программирования и не слышали да ещё и в придачу с преподавателем на эти полгода не повезло и на все вопросы он нам отвечает читайте конспект/книгу, мол там всё есть  :(

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
Сделай так:
.model tiny
.code
org 100h
start:
mov ax, cs
mov ds, ax
mov ah, 9
mov dx, offset var_2
int 21h
mov ax, 4c00h
int 21h
; Variables
var_1 dq 981731987897491838
var_2 db 'KS-09-1', '$'
var_3 dw 126000q
var_4 dt 9def8ae34df5a1e2d37h
var_5 dw 277q
end start
Собирай так:
tasm.exe /la lab1.asm
tlink.exe /t lab1.obj
Получишь LAB1.COM (не ЕХЕ!). И не спрашивай меня почему. Если нужен принципиально EXE - могу и его сделать.
PS Покури вложение, DOS Fn 09h.

Добавлено позже:
Если точно следовать условию задания, то нужно сделать так:
.model tiny
.code
org 100h
start:   mov       ax, cs ; Зададим DS
         mov       ds, ax
; Выведем var_1, dq - 8 байт
         mov       bx, offset var_1
         mov       cx,8
OutVar1: mov       al, ds:[bx]
         call      hex_al
         inc       bx
         dec       cx
         jnz       OutVar1
         call      linefeed
; Выведем var_2, это строка
         mov       ah, 9
         mov       dx, offset var_2
         int       21h
         call      linefeed
; Выведем var_3, dw - 2 байта слово
         mov       bx, offset var_3
         mov       ax, ds:[bx]
         call      hex_ax
         call      linefeed
; Выведем var_4, dt - 10 байт
         mov       bx, offset var_4
         mov       cx,10
OutVar4: mov       al, ds:[bx]
         call      hex_al
         inc       bx
         dec       cx
         jnz       OutVar4
         call      linefeed
; Выведем var_5, dw - 2 байта слово
         mov       bx, offset var_5
         mov       ax, ds:[bx]
         call      hex_ax
; Выход в DOS
         mov       ax, 4c00h
         int       21h
; Разные процедурки
; Переводит строку
linefeed proc      near
         push      ax
         mov       al,0Dh
         int       29h
         mov       al,0Ah
         int       29h
         pop       ax
         ret
linefeed endp
;Вывод HEX из ax
hex_ax   proc      near
         push      ax
         mov       al,ah
         call      hex_al
         pop       ax
         call      hex_al
         ret
hex_ax   endp
;Вывод HEX из al
hex_al   proc      near
         push      ax
         mov       ah,al
         shr       al,4h
         and       al,0Fh
         cmp       al,0Ah
         sbb       al,69h
         das
         int       29h
         mov       al,ah
         and       al,0Fh
         cmp       al,0Ah
         sbb       al,69h
         das
         int       29h
         pop       ax
         ret
hex_al   endp
; Variables
var_1 dq 981731987897491838
var_2 db 'KS-09-1', '$'
var_3 dw 126000q
var_4 dt 9def8ae34df5a1e2d37h
var_5 dw 277q
end start
Собирать все так же:
tasm.exe /la lab1.asm
tlink.exe /t lab1.obj
А вывод будет таким:
F:\WORK\ASSM>LAB1.COM
7EA144A30AD09F0D
KS-09-1
AC00
372D1E5ADF34AEF8DE09
00BF
F:\WORK\ASSM>

PS Лови Зубкова, афигительная книжка по асму. Жаль, что в электронной версии не хватает целого раздела по программированию железа (в бумаге он есть).
« Последнее редактирование: 26 Апрель 2010, 11:44:32 от HardWareMan »

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
HardWareMan,спасибо, почему тот текст введённый не выводило уже понял - я не тот номер переменной ставил на вывод . Сегодня после всех лент продолжу разбираться, хотя зачем мне делать com файлы я пока не понял, но посмотрю что там и зачем .

Оффлайн HardWareMan

  • Модератор
  • Сообщений: 6783
    • Просмотр профиля
HardWareMan,спасибо, почему тот текст введённый не выводило уже понял - я не тот номер переменной ставил на вывод . Сегодня после всех лент продолжу разбираться, хотя зачем мне делать com файлы я пока не понял, но посмотрю что там и зачем .
Для изучения нет разницы COM или EXE, просто первые меньше (там только сам код и данные), а вторые больше (еще заголовок). Ну и да, во вторых есть сегменты.

Оффлайн gepar

  • Пользователь
  • Сообщений: 10148
  • Пол: Мужской
  • ▂ ▃ ▄ ▅ ▆ ▇ █
    • Просмотр профиля
Уф, что-же лент то так много у меня, до асм никак не мог добраться, ну да хоть сегодня до вечера посижу немного, да на остальных выходных.
Вопрос по тому учебнику Зубкова: HardWareMan,я его скачал (да он и был у меня, мне его кто-то советовал), но с него пользы если честно мало  :-\ В нём не написано ни какой вид должен быть у программы, ни что как делается, тоесть в книгах по паскалю было что-то типа "программа имеет следующий вид : ... в начале пишем имя, потом подключаем модули командой uses ... здесь обязательно пишем begin ... чтобы программа сразу не закрывалась можно писать readkey... Здесь же ничего подобного нет, просто перечислены команды что больше напоминает шпаргалку для программиста по асм. , чем учебник.  И что самое странное препод. в этом году поступает также и по тому что он приходя к нам тупо читает распечатанные листики и так уже полгода мне кажеться что читает он нам подобную этой по изложению книгу . Ещё Борландовский отладчик это вообще кошмар, сделать отладчик не умеющий редактировать код программы это ... это ... это ТУПО!Что-то мне подсказывает что сделано это специально. Чтобы поменять пару символов приходиться редактировать asm файл  в текстовом редакторе, закрывать отладчик и опять открывать его через досбокс (иначе проц грузиться на 100 % неизвестно чем и винда виснет). Вобщем у меня пока что о асм нет слов, одни эмоции .
Ещё не хватает чего-то типа freepascal или pascalabc, но для asm. Тоесть чего-то что будет хорошо работать под новыми версиями виндовса от сторонних разработчиков, хотя такого как я понял нет ?

Добавлено позже:
Понадеялся на чудо - ввёл в гугл assembler abc, чудо не произошло, но как оказывается для начинающих с таким названием есть небольшая справка по всем командам с примерами  :)

Оффлайн Ti_

  • Пользователь
  • Сообщений: 3123
  • Пол: Мужской
    • ВКонтакте
    • Youtube
    • Просмотр профиля
какие ключи запускать там nasmw.exe у меня до 2байт видимо урезает. 
адреса указывать как ? как org не прокатывает, делаю один хак запарился в хексе писать.