Гость TALLER Опубликовано 21 августа, 2010 Жалоба Поделиться Опубликовано 21 августа, 2010 (изменено) Здравствуйте. Дело в том, что на работе есть достаточно свободного времени, чтобы заняться чем то помимо работы. Поэтому я решил изучить какой-нибудь язык программирования, возможно и не один. Естественно, он должен быть востребован, не только чтобы писать программки для себя, а чтобы можно было в будущем зарабатывать нормальные деньги. За время обучения я программировал на Делфи, но не часто на самом деле встречаю объявления о том что такие требуются. Да и вообще, я не знаю, что сейчас востребовано в этой области и чему стоит начинать учиться. Поэтому прошу вашей помощи в этом вопросе. Ну и конкретизирую. Меня интересуют следующие вопросы: 1. Чему стоит начинать учиться (точное название ПО) 2. Где его (ПО) можно скачать (желательно, в принципе могу и сам найти) 3. Какие книги порекомендуете 4. С чего порекомендуете начать Буду очень благодарен за любую информацию. ! Предупреждение: Нет необходимости плодить идентичные посты. Ели Вам не отвечают на первый пост - это означает что либо пока нет никого, кто смог бы ответить, либо в силу разных причин пост в ответе не нуждается. Прочтите, пожалуйста, вот это. Изрядная часть написанного там - вполне применима к ситуации. Изменено 10 декабря, 2010 пользователем Yezhishe Ссылка на комментарий Поделиться на другие сайты Поделиться
Yezhishe Опубликовано 21 августа, 2010 Жалоба Поделиться Опубликовано 21 августа, 2010 Для того, чтобы стать Программистом - надо не представлять себе жизни без кода. Надо жить этим. В противном случае получится Шеф-Повар, у которого его собственная работа вызывает отвращение... Вкусно он приготовит? Много ль будет посетителей в том заведении, где он (с позволения сказать) "работает"? Так и тут - "О! Программисты неплохо зарабатывают! А ну-кась, изучу-ка чего да начну бабло сшибать!" IMHO - в корне неверный подход. Ссылка на комментарий Поделиться на другие сайты Поделиться
Darhazer Опубликовано 21 августа, 2010 Жалоба Поделиться Опубликовано 21 августа, 2010 (изменено) Рекомендую книгу Язык программирования C (Керниган Б. У., Ритчи Д. М.) ПО можно пользуват lcc-win32n После изучения C, можно C++, а потом вопрос что хочете писать... можно Java / .NET, можно PHP, Python, Objective C если для iPhone/iPad... а в польне возможно что C++ вас будеть вполне устраивать Изменено 26 августа, 2010 пользователем Darhazer Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TALLER Опубликовано 23 августа, 2010 Жалоба Поделиться Опубликовано 23 августа, 2010 Рекомендую книгу Язык программирования C (Керниган Б. У., Ритчи Д. М.) ПО можно пользуват lcc-win32n После изучения C, можно C++, а потом вопрос что хочете писать... можно Java / .NET, можно PHP, Python, Objective C если для iPhone/iPad... а в польне возможно что C++ вас будеть вполне устаивать Скачал книгу. Вопрос застопорился на компиляторе. Скачивал разные, при попутке скомпилировать легкий код большинство писало, что не найден модуль. Установил Дев С++. Такое не пишет. Выполняю код - появляется черное окно и пропадает. А как результат то работы посмотреть? Я, конечно, извиняюсь за глупые вопросы, но уже часа 3 тестирую компиляторы на то, чтобы они мне hello, world написали. Я вполне успешно писал проги на Делфи, поэтому смысл программирования на Си в принципе понятен, но с выводом разобраться не могу Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 23 августа, 2010 Жалоба Поделиться Опубликовано 23 августа, 2010 (изменено) TALLER: Выполняю код - появляется черное окно и пропадает. А как результат то работы посмотреть?Поставь в конце кода (перед последней закрывающей фигурной скобкой) getchar(); Это задержит вывод на экране до нажатия Enter. Изменено 23 августа, 2010 пользователем Тролль Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TALLER Опубликовано 23 августа, 2010 Жалоба Поделиться Опубликовано 23 августа, 2010 TALLER: Поставь в конце кода (перед последней закрывающей фигурной скобкой) getchar(); Это задержит вывод на экране до нажатия Enter. Спасибо. Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TALLER Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 У меня проблемы с использованием getchar() теперь,прошу помочь разобраться, самому что-то не получается. вот например код include <stdio.h> main() { int c; c = getchar(); while (c != EOF) { putchar©; c = getchar(); } } Т.е. происходит копирование того, что напишешь. Ввожу 2, жму ентер, выдает 2 и т.д., а как сделать чтобы цикл закончился, как обозначить этот EOF? Вопрос 2: Программа для подсчета символов #include <stdio.h> main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf ("%d\n", nc); } Естественно, чтобы получить результат нужен конец файла EOF, который я не знаю как обозначить, поэтому результат получить не могу. И все же такой вопрос: когда происходит проверка условия цикла, когда я ввожу любой символ или когда жму Ентер? Как бы если первое, то в первой задаче мне введенный символ должны выдавать сразу, а его выдают после нажатия энтер. А если второе, то ++nc будет выполняться после нажатия ентер, и тогда программа подсчитает не кол-во символов, а кол-во нажатия ентер. Значит проверка условия не осуществляется ни в том, ни в другом случае. А когда тогда? Выходит Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 TALLER: может вам всё же стоит начать изучение не с языка Си, а с Паскаля? У где то 1.5 года назад у меня возникла проблема, мои дети решили научиться писать программы и я стал искать и тов. Тролль предложил мне http://pascalabc.net/ - попробуйте, там встроенные подсказки и тд, те полный набор. Хотя вы писали За время обучения я программировал на Делфи, но не часто на самом деле встречаю объявления о том что такие требуются., тогда может стоит попробовать на JS? Синтаксис схож, а проблем будет меньше. Достаточно изучить 2-3 языка или хотя бы один в совершенстве - проблем с другими не будет.Ответы на ++nc и nc++ это уже 100 раз везде описано, те как правильно писать... сорри может я не прав, просто комментировал весь топик. надо писать хотя бы так: #include <stdio.h>main(){long nc=0;while (getchar() != EOF) { ++nc; printf ("%d\n", nc);}}; Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TALLER Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 TALLER: может вам всё же стоит начать изучение не с языка Си, а с Паскаля? У где то 1.5 года назад у меня возникла проблема, мои дети решили научиться писать программы и я стал искать и тов. Тролль предложил мне http://pascalabc.net/ - попробуйте, там встроенные подсказки и тд, те полный набор. Хотя вы писали , тогда может стоит попробовать на JS? Синтаксис схож, а проблем будет меньше. Достаточно изучить 2-3 языка или хотя бы один в совершенстве - проблем с другими не будет. Ответы на ++nc и nc++ это уже 100 раз везде описано, те как правильно писать... сорри может я не прав, просто комментировал весь топик. надо писать хотя бы так: #include <stdio.h>main(){long nc=0;while (getchar() != EOF) { ++nc; printf ("%d\n", nc);}}; Да я логику то программирования понимаю, причем неплохо. Я эти коды не придумывал, они с книги. Я не прошу мне помочь написать что-то, я прошу помочь разобраться в вопросах, описанных выше. Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 (изменено) PS Уроки C-программирования. 2. Цикл "while" в Си. Сегодня Вы рассмотрите подробно циклы while и do-while в языке Си. Начнем с первого из них: с оператора while. Оператор цикла while имеет следующую структуру: while (условие) оператор; Названный оператор может быть простым, составным или даже пустым. Цикл будет выполняться до тех пор, пока условие цикла принимает значение "истинно". В том же случае, когда условие нарушается (то есть оно просто не выполняется), управление передается следующему за командой цикла while оператору. Думаю, что всем ясно, что в последнем случае условие принимает значение "ложь". Вы написали while (getchar() != EOF) ++nc; printf ("%d\n", nc); те printf просто не работает, надо просто было использовать {} в примере я это и показал. Или же я просто поторопился и не прочитал что вы хотите)))) Изменено 24 августа, 2010 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 TALLER: что бы получить EOF нажми ctrl-z нажатие на Enter тут не при чём - я ответил? :sm(100): #include<stdio.h>int main(void){ char c; while((c=getchar())!='\n') printf("%c",c); return 0;} можно так, те то нажатия ввода Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TALLER Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 TALLER: что бы получить EOF нажми ctrl-z нажатие на Enter тут не при чём - я ответил? :sm(100): Не совсем. И как использовать вайл можно было не писать, вопрос то не в этом был, возможно вы его не поняли, потому что мы мыслим разными категориями. Но узнав, как обозначается ЕОФ, я в остальном разобрался на практике. Спасибо Ссылка на комментарий Поделиться на другие сайты Поделиться
Форматцевт Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 (изменено) TALLER: ты хотел читать из файла что ли.... но при чём тут входной поток консоли :sm(100): TALLER: и ещё... посмотри файл stdio.h там описание EOF это константа ... кажется (-1), ну и по этому её нельзя получить вводом с клавиатуры, те можно, но как я описал выше. Изменено 24 августа, 2010 пользователем Indomito Ссылка на комментарий Поделиться на другие сайты Поделиться
Гость TALLER Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 TALLER: ты хотел читать из файла что ли.... но при чём тут входной поток консоли :) TALLER: и ещё... посмотри файл stdio.h там описание EOF это константа ... кажется (-1), ну и по этому её нельзя получить вводом с клавиатуры, те можно, но как я описал выше. Ну если интересно. Объектно-ориентированное программирование связано с действиями, то есть мы написали тело проги, нажали на кнопку и пошел цикл, как цикл достиг условия идет на выход. Например while n<100 do /../ n := n+1 А здесь же while ((c = getchar()) != EOF) ++n те если в первом случае счетчик зависит от условия, то во втором не зависит. И вот здесь у меня с пониманием проблема. Вот в первом случае прога зашла в цикл и делает его без остановки пока n не станет равна 100. А как во втором? По идеи после запуска прога должна войти в цикл, но если счетчик не связан с условием, почему она не зацикливается? Или она вошла в цикл и ждет когда я символ введу, а потом проверяет его на условие и если это не ЕОФ прибавляет к н единицу и ждет следующий символ? ( для справки: это я изучаю книгу Язык программирования С, она здесь на форуме есть, можешь посмотреть) Ссылка на комментарий Поделиться на другие сайты Поделиться
Тролль Опубликовано 24 августа, 2010 Жалоба Поделиться Опубликовано 24 августа, 2010 (изменено) TALLER: вот например кодinclude <stdio.h> main() { int c; c = getchar(); while (c != EOF) { putchar©; c = getchar(); } } Т.е. происходит копирование того, что напишешь. Ввожу 2, жму ентер, выдает 2 и т.д., а как сделать чтобы цикл закончился, как обозначить этот EOF? EOF вводится, если нажать в новой строке (после Enter) клавишу F6 - старинное соглашение MS-DOS. На экран при этом выведется ^Z. Или, как написал уже Indomito, вместо F6 можно нажать Ctrl+Z. И в начале примера куда-то пропал символ # перед include, но это, видимо, ошибка копирования. Программа для подсчета символов#include <stdio.h> main() { long nc; nc = 0; while (getchar() != EOF) ++nc; printf ("%d\n", nc); } Естественно, чтобы получить результат нужен конец файла EOF, который я не знаю как обозначить, поэтому результат получить не могу. И все же такой вопрос: когда происходит проверка условия цикла, когда я ввожу любой символ или когда жму Ентер? Как бы если первое, то в первой задаче мне введенный символ должны выдавать сразу, а его выдают после нажатия энтер. А если второе, то ++nc будет выполняться после нажатия ентер, и тогда программа подсчитает не кол-во символов, а кол-во нажатия ентер. Значит проверка условия не осуществляется ни в том, ни в другом случае. А когда тогда? С EOF уже разобрались. Чтобы задержать вывод printf на экране, перед закрывающей фигурной скобкой надо вставить getchar(); - с этим уже разбирались. Есть правда, и другие способы, но этот вроде бы проще. Проверка в цикле ждет ввода с клавиатуры, а клавиатура посылает в программу то, что было в нее введено, из своего буфера при нажатии Enter. Так что при нажатии Enter клавиатура пошлет программе всю цепочку введенных символов, включая код клавиши Enter, и цикл начнет крутиться, забирая и проверяя по одному все эти символы, и приостановится, съев Enter, поскольку getchar будет ждать нового символа. Выход из цикла произойдет при съедании EOF, то есть кода клавиши F6 после Enter. Так что printf напечатает общее число введенных символов, причем в их число будут входить служебные символы от клавиши Enter. Вот по всему по этому и был придуман Pascal - чтобы студенты не забивали себе голову тем, что и как на самом деле устроено и преобразуется в компьютере. P.S. В форме сообщения есть кнопка Код (символ решетки). Код надо оформлять с помощью этой кнопки, подобно цитатам - тогда сохраняются отступы и не преобразуются некоторые комбинации символов, считающиеся служебными, как это произошло у тебя с ( c), превратившимся в ©. Изменено 24 августа, 2010 пользователем Тролль 1 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Для публикации сообщений создайте учётную запись или авторизуйтесь
Вы должны быть пользователем, чтобы оставить комментарий
Создать учетную запись
Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!
Регистрация нового пользователяВойти
Уже есть аккаунт? Войти в систему.
Войти