Как писать программы на компьютере для начинающих. «Мы будем писать программы, которые сами пишут программы

Если коротко, то новые языки программирования и другие инструменты создаются на основе уже существующих. Полная аналогия с другими областями техники, где новые станки и материалы позволяют создавать всё более совершенные станки и материалы. Как все станки начались с палки-копалки и кремниевого рубила, так и языки программирования начались с перфокарт и нечитаемого двоичного кода.

Центральный процессор вашего компьютера понимает только программы, написанные на языке ноликов и единичек. Например, команда «прибавить константу 5 к числу, записанному в регистре AL» записывается так:

0000 0100 0000 0101

Здесь 0000 0100 - код операции «прибавить число к регистру AL», а 0000 0101 - двоичное представление числа 5.

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

Ясно, что такой способ программирования жутко неудобен и подвержен ошибкам. Чтобы не тратить время на это занудство, ленивые программисты начали думать, как переложить неблагодарную работу на машину.

Можно один раз хорошенько помучиться и написать на языке ноликов и единичек вспомогательную программу, которая называется ассемблер («сборщик»). Этот волшебный ассемблер принимает на вход человеко-читаемый текст и преобразует его в нолики и единички. Например, та же самая команда «прибавить константу 5 к числу, записанному в регистре AL» записывается на языке ассемблера x86 так:

Думаю, вы согласитесь, что это всё-таки более читаемо, чем 0000 0100 0000 0101. Здесь хотя бы понятно, что речь идёт о сложении (ADD) и числе 5. Теперь уже дело ассемблера преобразовать эту строчку в 0000 0100 0000 0101. На языке ассемблера сложно писать большие программы, процессоры разных производителей могут требовать разных ассемблеров, но всё равно это был большой шаг вперёд.

Дальше инженерную мысль было не остановить. Нужно один раз помучиться, чтобы написать на ассемблере компилятор языка программирования, например Фортрана. Потом ещё немного помучиться, чтобы написать на Фортране компилятор Алгола. Затем передохнуть, помучиться и написать на Алголе компилятор языка CPL. Ещё немного мучений, и можно на основе CPL написать компилятор языка C. Дальше можно уже не мучиться и в свое удовольствие писать на C компиляторы C++, Java, C# и других современных языков. Впрочем, никто не запретит использовать Java чтобы написать ассемблер x86 и замкнуть рекурсию.

Для выполнения разнообразных задач с помощью компьютера требуется определенный набор программ. Созданием большинства программ занимаются профессиональные программисты, но научиться программировать может каждый. В интернете достаточно много учебников и сайтов по изучению языков программирования, в число которых входит среда PascalABC.

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

Быстрая навигация по статье

Знакомство с PascalABC

После запуска программы появляется окно среды программирования PascalABC. Интерфейс несложный и включает в себя несколько элементов:

  • Строка меню - содержит все необходимые пункты для редактирования, правки и запуска программы;
  • Строка панели инструментов - на ней расположены часто используемые команды;
  • Рабочее поле - основная рабочая область программы.
Создание программы

У всех программ, написанных на языке PascalABC, общий шаблон оформления. Каждая программа состоит из нескольких блоков:

  • Описание переменных - к какому типу относятся вводимые данные;
  • Ввод данных - вводятся данные, необходимые для решения поставленной задачи;
  • Основной блок - выполняются поставленные задачи;
  • Вывод данных - выводится результат работы программы.

Алгоритм программы выглядит так:

  • Вводим переменную а, которая является числом;
  • Начало программы;
  • Ввод данных;
  • Работа программы;
  • Вывод данных;
  • Конец программы.

Пример кода программы:

Program vvod;
var a:integer;
begin
readln (a);
writeln ("Вы ввели число ", a);
end.

Разбор данной программы по строкам
  • Program vvod; — название программы (используется только латинский алфавит, цифры или знак "_"). Каждая строчка заканчивается точкой с запятой;
  • var a:integer; — идёт перечисление переменных. В данном примере используется одна переменная - «a», при этом слово «var» — служебное (с его помощью задаются переменные). Далее описывается вид переменных (integer — целые числа и real — дробные);
  • begin - это слово обозначает начало программы (точка с запятой после него не ставится);
  • readln (a); — ввод данных. Во время работы программы вводится значение переменной (в данном примере используется любое целое число);
  • writeln ("Вы ввели число ", a); — вывод данных. В скобках пишется то, что должен показать компьютер. Если должен выводиться какой-нибудь текст, то его нужно вставить в одинарные кавычки;
  • end. - программа завершена (в конце ставится точка).

Этот пример показывает, что написать простейшую программу сможет любой пользователь компьютера. Рассмотрев примеры, входящие в комплект системы программирования PascalABC, можно научиться писать программы, помогающие в работе.

Практически все пользователи ПК размышляли о том, чтобы написать собственную программу. Даже если она будет невероятно простой, но зато полезной и сделанной лично вами. Естественно, для этого требуются определенные знания и навыки в области программирования. Однако, если регулярно практиковаться и изучать материалы по поводу того, как создать программу для компьютера, то в будущем можно научиться создавать полезный софт, выкладывать его в Сети и даже зарабатывать на нем.

Создание программы
  • Если вы твердо решили воплотить мечту о собственной программе в реальность, то изначально определитесь, чему она будет посвящена (какие задачи она позволит решить). Тут многое будет зависеть от вашей фантазии и личных предпочтений. Вполне возможно, что вы уже сталкивались с тем, что для решения конкретной проблемы в Интернете нет подходящих программ, поэтому вам захотелось написать свою. На этой стадии нужно понимать, на какую аудиторию она будет рассчитана.
  • В дальнейшем сделайте выбор в пользу определенной операционной системы. Каждый программист, прежде чем создать программу, продумывает, в какой среде она будет функционировать. На сегодняшний день наиболее популярной и распространенной считается ОС Windows. Именно поэтому свой выбор рекомендуется остановить на этой системе.
  • Определитесь со средствами программирования. К примеру, чтобы создать простую чит программу, можно использовать следующие языки программирования: Borland Delphi, MS Visual Basic, C++ Builder. Они предоставляют возможность писать программы по принципу конструктора - из готовых элементов вы формируете единое целое.
  • Кроме того, можно скачать специальные программы. К примеру, «Алгоритм» (скачать ее можно с сайта). Установите программу на свой персональный компьютер и можете пытаться создавать свои первые простейшие приложения. Интерфейс «Алгоритма» русскоязычный. Разобраться в этой программе не составит особого труда.
  • Во время написания своего приложения попробуйте выделить определенную «изюминку» - то, что будет отличать программу, написанную вами, от аналогов. Поработайте над интерфейсом. Если это ваша первая программа, то рекомендуется отдать предпочтение типичному Windows-интерфейсу. Можно использовать дизайнерские формы. С их помощью вы не просто поймете, каким будет интерфейс приложения еще на стадии построения, но и сможете задавать характеристики различных объектов, что существенно облегчит процесс.
  • Постарайтесь оформить собственные идеи в алгоритм. Если приложение довольно серьезное (например, вы решили создать программу для взлома) и функционирует с собственным типом файлов, то его необходимо зарегистрировать за программой. Для этого применяется специализированный инсталлятор.
  • Создайте файл помощи. Для этого желательно использовать специальные компиляторы. Они поставляются с различными средами визуального программирования (Visual Basic, Delphi и пр.).
  • Разумеется, сделать все это без надлежащей подготовки крайне сложно. Именно поэтому предварительно стоит пройти небольшое обучение и разобраться в основах программирования, прежде чем приступать к созданию собственных приложений.

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

    • Выбирая язык, сконцентрируйтесь на том, в каких целях вы хотите создавать программные коды, и уже потом выбирайте начальный язык. К примеру, если вы хотите заниматься разработкой веб-сайтов, то вам следует начать с изучения HTML, а затем дополнить его языками CSS, JavaScript и PHP. Если вы хотите создавать программы для компьютеров, то начните изучать C ++ или любой другой основной язык программирования.
    • Если вы станете профессиональным программистом, то вы быстро поймете, что вы никогда не будете использовать тот язык, который вы изначально выучили, для вашей работы. Вместо этого, вы будете все время продолжать учить новые языки через документацию и эксперименты.

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

    • Вот только несколько популярных сайтов: Bento, CodeAcademy, Code.org, html.net, Khan Academy, Udacity, W3Schools и многие другие.
    • На wikiHow тоже можно найти большое разнообразие начальных пособий для разных языков.
    • Вы можете найти обучающие видео практически для любого языка на YouTube.
    • Stack Exchange - это один из самых популярных форумов, на котором профессиональные программисты отвечают на любые вопросы пользователей.
  • Скачайте хороший текстовый редактор. Многие языки программирования позволяют использование внешних текстовых редакторов для написания программ. Найдите текстовый редактор, который будет отображать отступы и кодовую разметку.

    • Популярные программы включают Notepad++ (Windows), TextWrangler (OS X) и JEdit (любая система).
  • Скачайте любые необходимые компиляторы. Некоторые языки программирования требуют компилятор для отображения исходного кода, который вы написали. Компиляторы транслируют исходный код в эквивалентную программу на языке низкого уровня, которая затем обрабатывается компьютером. Многие компиляторы являются открытыми и бесплатными программами. Языки, которые требуют использование компиляторов, включают:

    • BASIC
    • Fortran
    • Pascal
  • Начните ваш первый проект. Выберите хороший вводный проект, который позволит вам испробовать ваши новые навыки. В интернете существует множество предложений и пособий по этой теме; например, вы можете начать с создания простых веб-сайтов с HTML, простых баз данных и функций с PHP или простых программ на любом из языков, требующих использование компиляторов.

    Я сижу за клавиатурой и набираю эту статью. В CD-ишнике вращается диск: из колонок льется негромкая музыка. В правом нижнем углу экрана перемигиваются два монитора: из Интернета "скачивается" информация. В фоновом режиме работают часы, планировщик, Outlook и много еще чего. Компьютер сейчас - это многофункциональный комбайн для "перемалывания" информации, причем, такой информации, большая часть которой безразлична в каждый конкретный момент времени пользователю, а ведь изначально вычислительные машины разрабатывались лишь для проведения сложных математических расчетов, без которых пользователю было никак не обойтись. Точнее, расчетов не столько сложных, а скорее громоздких, для которых необходимо проводить большое количество однотипных вычислений. Не случайно в первую очередь возможностями вычислительных машин воспользовались военные шифровальщики и ученые- физики.

    В настоящее время существует большое количество специализированных программных пакетов для самых разных расчетов, от экранного калькулятора и EXEL до Mathlab. Всегда можно подобрать программный продукт для необходимых расчетов. Но как быть, когда надо произвести некие специфические расчеты, а из освоенных пакетов ничто для этих целей не подходит? Особенно если этот расчет предполагается произвести только один раз. Не изучать же из-за этого Mathlab. Но если вы слегка владеете одним из языков программирования, есть смысл попытаться написать такую программу самому.

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

    В качестве примера постараемся решить следующую простенькую задачу.

    Масса тела = 50+(рост-150) x 0,32 +(возраст-21)/5

    АД (верхнее)=102+0,7 x возраст+0,15 x масса тела

    АД (нижнее)=78+0,17 x возраст+0,1 x масса тела

    Масса тела = 50+(рост-150) x 0,75 +(возраст-21)/4

    АД (верхнее)=109+0,5 x возраст+0,1 x масса тела

    АД (нижнее)=74+0,1 x возраст+0,15 x масса тела

    Пусть мы стремимся, чтобы как можно больше людей смогло контролировать свое физическое состояние, и с этой целью хотим поместить программу расчета на специальном сайте в Интернете. Для этих целей нам необходимо знать как минимум HTML. Конечно, можно выставить голые формулы на сайте, предоставив посетителям возможность самим заняться подсчетами в столбик. Но гораздо приятнее просто подставить значения и получить готовый результат. Здесь уже одного HTML недостаточно, надо знать какой-то язык программирования. В принципе, подойдет любой; два плюс три запрограммировать можно на любом языке. Но если написать программку, скажем, на С++, то встанет вопрос, каким боком ее "прилепить" к html-у. Кроме того, придется еще разбираться и с CGI. Чтобы избежать этого, можно воспользоваться языком Java, написав соответствующий аплет, но кто сказал, что это так просто, и, с другой стороны, стоит ли стрелять из пушек по воробьям? Поэтому для несложных прикладных задач как нельзя лучше подойдет JavaScript. Если вы этим языком не владеете, а знаете, например, VBScript, то вам не стоит расстраиваться, эти языки из одной "весовой категории" и почти все, что может JavaScript, может и VBScript и наоборот. Если вы еще не освоили не один из этих языков, то, почитав денька два учебник из серии "для чайников", сможете сносно писать некоммерческие программки "для себя".

    Итак, с языками определились, начинаем программировать. Некоторые думают, что программирование - это написание кодов программ. Нет. Написание кодов - это всего лишь кодирование, или в случае HTML - верстка.

    Начнем программирование с общих утверждений, что должна выполнять программа.

    Программа должна извещать пользователя, для чего она предназначена. В нашем случае посетителю сайта должно быть ясно, что ему предлагается проконтролировать свое физическое состояние. Без длительных разбирательств пользователь должен понять, что куда надо подставить, чтобы получить результат. То есть надо разработать удобный и, желательно, привлекательный интерфейс (убеждаемся, что средствами HTML этого достичь возможно).

    Далее

    Программа должна делать корректные вычисления, не утруждая пользователя излишними запросами и специальными установками. Так как наша программа должна выполняться в Интернете, то здесь важна скорость, работа без излишних перезагрузок. Использование языка JavaScript удовлетворяет этим условиям. Поэтому идем дальше и пытаемся постепенно углубиться в детали.

    У нас есть три пути:

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

    Второй. Создать расчетную часть, а затем надстроить над ней интерфейс.

    Третий. Начать с разработки интерфейса и под него подстраивать расчет.

    При разработке крупных проектов решить, по какому пути пойти, задача не из легких, и чаще всего для этого проводятся специальные исследования. Довольно часто бывали случаи, когда неверно выбранная стратегия приводила к тому, что на полпути приходилось прекращать работу и начинать все с начала. В нашем случае, когда задача легко обозрима, можно начинать с чего угодно. Мне, например, захотелось вначале сделать интерфейс.

    Создание интерфейса WEB-странички

    Чтобы не сильно напрягаться и не тратить много времени по написанию кода, воспользуемся FrontPage Express. Здесь нам даже не понадобится на первых порах знание языка гипертекстовой разметки. Просто пишем вводной текст и выстраиваем квадратики формы на странице. Вот что должно получиться в редакторе (см. рисунок 1). Примерно так же будет выглядеть и готовая страница. FrontPage Express автоматически сгенерирует следующий код:






    Узнайте
    свою оптимальную физическую форму


    Пол:

    Женский
    Мужской
    Возраст лет Рост см Вес кг





    Первый этап проектирования интерфейса закончен. Внесем в текст формы некоторые изменения. Так как мы не собираемся никуда отправлять данные из формы, уберем method="POST", но зато добавим название формы, чтобы нам было удобнее в дальнейшем работать. Пусть форма называется "Zdorov". Переименуем также названия полей формы: "D1"="pol", "T1"="Let", "T2"="Rost", "T3"="Ves", "B1"="shet". Для удобства уберем также все теги форматирования шрифтов, заменив их на ... .

    В результате форма "Zdorov" примет вид:


    Пол
    Женский
    Мужской

    Возраст лет
    Рост см
    Вес кг

    m0=Math.round(50+(document.Zdorov.Rost.value-150)*0.32+(document.Zdorov.Let.value-21)/5);


    adv0=Math.round(102+0.7*document.Zdo-rov.Let.value+0.15*m0); adn0=Math.round(78+0.17*document.Zdo-rov.Let.value+0.1*m0);

    adv1=Math.round(102+0.7*document.Zdor-ov.Let.value+0.15*document.Zdorov.Ves.value);

    }
    else{



    v1=Math.round(109+0.5*document.Zdor-ov.Let.value+0.1*document.Zdorov.Ves.value);
    };

    } Функция Sthet() является скриптом для расчета физической формы. Смысл записей скрипта понятен из комментариев.

    Внедрение скрипта в HTML-документ

    Завершающий этап работы - компоновка программного кода.

    Скрипт помещаем в часть ... документа. Кнопку "Посчитать" заставляем инициализировать расчет:

    Добавляем стиль текста.


    h3 {font-family: Arial;color: yellow";}

    В итоге получаем следующий HTML-документ:





    Узнайте свою оптимальную физическую форму

    h3 {font-family: Arial;color: "yellow";}








    Пол
    Женский
    Мужской

    Возраст
    лет Рост
    см Вес
    кг



    Напишите мне письмо


    Все, можно закачивать файл на сайт и ждать откликов благодарных посетителей.

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