какую консольную программу написать?
В данный момент я изучаю c# по Шилдту. Все задания для практического закрепления прочитанной теории я искал в интернете. Брал задания с лабораторных, методичек, различной литературы. Сейчас под хожу к таким темам, по которым мало что можно найти. Я думаю, выход в такой ситуации начать писать свою программу, учебный проект. После чтения определенной главы в Шилдте, пробовать реализовать прочитанную теорию в своей программе. Только я не могу придумать, что написать. На данный момент, я знаком с циклами, массивами, классами, наследованием, интерфейсами, абстрактными классами, индексаторы и свойства, исключительными ситуациями, консольный ввод-вывод в c#. Подбросьте, пожалуйста, пару вариантов какую программу можно начать писать и затем постепенно реализовывать в программе теорию из Шилдта по мере ее прочтения. Программа должна быть консольная.
|
ArniLand, пиши калькулятор, на вход подается выражения вида (8-3)*9/5, а твоя программа пусть отдает результат
|
ArniLand, пишите фильтры: имеем на входе файл, его содержимое надо определённым образом отфильтровать по сложным критериям, получив на выходе результирующий файл. С практической точки зрения сие куда полезней калькуляторов.
|
Цитата:
|
Цитата:
Delirium, тем, что я не знаком с интерфейсами. Конечно, я буду знакомиться с ними. Но всему свое время. |
ArniLand, да по любым критериям вида «найти (и заменить)» :). Чем сложнее, тем лучше. Главное — тут нет никакой необходимости в организации GUI, и можно сосредоточиться на самом алгоритме.
Или возьмите хотя бы тутошний раздел Программирование и автоматизация действий и выбирайте. Вот, например: CMD/BAT - Помогите с объединением файлов — чем не задача для фильтра? Пусть в данном конкретном случае использование компилируемого языка на столь незначительных объёмах каких-то преимуществ не принесёт, но раз, другой, третий — и Вы освоите общие принципы и в дальнейшем будете «щёлкать» подобные фильтры как орехи. |
ну я бы советовал сделать калькулятор для начала. оно проще. консольное или нет - лучше нет. парень - ты пишешь под .NET . это всеравно что мочкануть в винде эксплорер - вся суть этой гадости в быстром написании в том числе и GUI, если бы все гнались за идеальными алгоритмами - писали бы на ассемблере. а на счет фильтров.. ну впринципе часто встречающаяся тема, файлы всегда приходиться читать, писать, править.
дам ток один дельный совет - аппетит приходит во время еды. начни писать хоть чтото более или менее нужное тебе и ты научишься многому. пиши свою личню хранилку паролей, пиши красивую картинку в углу рабочего стола для своей девушки, да что угодно и ты узнаешь больше чем на этом форуме - лично я с этого начинал. |
Iska, я не пойму какие критерии «найти (и заменить)». Буква "а" на букву "б". Придумать скажете. Но ничего в голову, кроме вариантов, подобных в предыдущем предложение мне не приходит. В вашем приведенном примере абсолютно не понятно, что нужно сделать. Что найти и заменить нужно не понятно. Грубо говоря, до меня не доходит что должны фильтровать эти фильтры. Каким образом в данном разделе я должен догадаться, что это фильтр?
Beyound, все нужные приложения мне уже давно созданы. Тем более, писать нужно приложение, которое отвечает моему уровню(я разумеется не исключаю нужды читать что то новое во время написания программы, много думать). Запросы могу быть большими, а я даже не буду знать какую информацию мне искать для реализации сложного приложения. Я же не напишу новую ОС с текущем уровнем моих знаний. Опять выходит "иди туда не знаю куда". А примитивный калькулятор я недавно написал. Я например, не знаком с алгоритмами поиска и сортировки. Может полезно с ними познакомиться и за одно отточу свои знания на практике. Что, то вроде такого: приложение для сортировки массивов различными алгоритмам. В консольке сделать простенькое меню. Для начала сделать базовый класс (или интерфейс), в котором есть метод сортировки. Затем, наследуя этот класс, реализовывать разные алгоритмы (наследование + полиморфизм). Потом, так как у меня консольный I/O, сделать так чтобы пользователи не смогли поломать программу (обработка исключений). |
Вот вам задача , точнее подзадача.
Надо написать программу консольную которая , смотрит есть ли подключенные флешки к компьютеру , если нет уведомляет пользователя , если есть то обходит флешку просматривая все папки и файлы и записывает в массив строк полный путь к файлу на флешке. Соответственно массивов должно быть столько сколько флешок вы вставите . Массив имеет тип String динамического размера. Подключаем только System.IO для работы с файлами, папками и директориями. Там вы найдете нужные методы , которые помогут просмотреть файлы , их полный путь , расширение. |
ArniLand, c C# не надо стремиться узнать сразу все. Процентов 70 кода и оборотов я узнаю из интернета. Достаточно придумать какую то идею, а алгоритмы можно поискать. Кстати, раз уж ты решил изучать язык, почитай про такую вещь, как паттерны проектирования, рекомендую.
|
ArniLand, тут нечего догадываться: в широком смысле слова, «фильтр» — это вообще любая обработка.
|
Предлагаю задание Во первых есть над чем поработать а во вторых просто интересно
Суть 1) загрузка большого объёма текста к примеру страниц 100 2) Фильтр и подсчет Каждой буквы в отдельности и расчет их в % количестве относительно всего текста В результате должен быть составлен алфавит от наиболее часто используемых букв алфавита до менее употребляемых и обязательно с % 3)если все ето будет чересчур просто то заодно и просчитать 50 наиболее часто используемых сочетаний букв из 2 -пример "то " "чо" и из трёх "ать" , "ять" Думаю интересно будет посмотреть на наш язык с точки зрения математики и в конечном итоге просмотреть разницу между технической литературой и классикой , между прозой и стихами |
Ruslan_Slend@fb, в дополнение скажу, что это - LSA (Латентно-семантический анализ http://lsa.colorado.edu/)
Первую публикацию, ориентировочно датированную 1987 годом на вскидку не нашел. |
ArniLand, писать программы по своему уровню знаний бесполезно, надо писать то чего ты не знаешь, иначе это топтание на месте.
да и вообще, определись что тебе нужно - знание с# или умение программировать ибо одно с другим никак не связано. для того чтобы выучить шарп программировать ненадо, надо запомнить синтаксис и все. Кнут написал 4 здоровенные книги только о базовых вещах программирования отрешенно от какого либо языка вообще. Ruslan_Slend@fb, есть интересное ответвление - частотный анализ. скажем дан текст (скажем символов 200) зашифрованный шифром простой замены (реализовать самому), ключ от шифра потерян. задача - вскрыть текст. если просто - уменьшить длину текста до 15 символов или реализовать более сложный шифр для которого частотный анализ уже не работает и требуется более хитрые алгоритмы. |
Beyound, это уже
|
так это же и самое интересное в программировании - уметь все, быть богом этого электронного мирка. нужен криптоанализ - вуаля, бух. учет - чуть подучить тему, драйвер - хм.. можно, настоящая прошивка микропроцессору - ща уточним как там регистры зовутся и куда слать и вперед. хотя до этого ты даже и незнал всего этого. просто сел, разобрался в теме и сделал.
|
Beyound, браво :) Именно по такому принципу я и пишу программы :)
|
Время: 09:16. |
Время: 09:16.
© OSzone.net 2001-