<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://programming.lifeforums.ru/export.php?type=rss" rel="self" type="application/rss+xml" />
		<title>www.we-programming.cu.cc | Форум по программированию</title>
		<link>http://programming.lifeforums.ru/</link>
		<description>www.we-programming.cu.cc | Форум по программированию</description>
		<language>ru-ru</language>
		<lastBuildDate>Thu, 19 Apr 2012 10:11:40 +0400</lastBuildDate>
		<generator>MyBB/mybb.ru</generator>
		<item>
			<title>Создается репак Need for Speed 12</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=38#p38</link>
			<description>&lt;p&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Thu, 19 Apr 2012 10:11:40 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=38#p38</guid>
		</item>
		<item>
			<title>Разыгрывается купон на 1400 рублей для бесплатной рекламы вашего сайта</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=36#p36</link>
			<description>&lt;p&gt;тема будет временно закрыта во избежание флуда&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Wed, 18 Apr 2012 11:07:13 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=36#p36</guid>
		</item>
		<item>
			<title>Опросик</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=35#p35</link>
			<description>&lt;p&gt;&lt;span style=&quot;color: red&quot;&gt;автор забанен - тема закрыта&lt;/span&gt;&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 20:04:04 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=35#p35</guid>
		</item>
		<item>
			<title>Язык программирования Perl (Перл)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=19#p19</link>
			<description>&lt;p&gt;Perl (иногда ради шутки расшифровывают как патологически Эклектичный Мусорный Листер) это язык программирования, созданный Ларри Уоллом в 1987 году, он заимствует особенности из C, sed, awk, shell scripting (sh), и (в меньшей степени) от многих других языков программирования. Название, как правило, пишется заглавными (&amp;quot;PERL&amp;quot;), когда речь идет о самом языке, но не пишется заглавными (&amp;quot;Perl&amp;quot;), когда речь идет о трансляторе (например, &amp;quot;Только Perl правильно обрабатывает PERL.&amp;quot;).&lt;/p&gt;
						&lt;p&gt;Обоснование&lt;/p&gt;
						&lt;p&gt;Perl был разработан, чтобы быть практичным языком для извлечения информации из текстовых файлов и создания отчетов. Один из его девизов является Существует более чем один способ сделать это (TIMTOWTDI - произносится &amp;quot;Тим Toady &#039;). Автор поставил перед собой цели: писать легкие задачи легко, а решение сложных задач делает возможным. Его универсальность позволяет использовать парадигмы многих языков программирования: процедурное, функциональное и объектно-ориентированным. Perl имеет мощные регулярные выражениые встроенной непосредственно в синтаксис. Perl часто считается архетипическим скриптовый языком и был назван &amp;quot;клей, который держит Интернет вместе&amp;quot;, так как он является одним из самых популярных языков CGI. Его функция как &amp;quot; язык-клей&amp;quot; может быть описан просто, как его способность связывать различные системы и структуры данных, которые не были предназначены для связывания между собой. &lt;/p&gt;
						&lt;p&gt;Perl является свободным программным обеспечением, доступно в соответствии с Artistic License и GPL. Perl доступен для большинства операционных систем, но особенно распространен на Unix и Unix-подобных операционных систем (например, Linux, FreeBSD), и все большую популярность приобретает для Microsoft системы Windows. В качестве примера Perl в действии, до января 2002 года программное обеспечение, работающее Википедии был сценарий CGI написана на Perl. При использовании для веб-страниц, Perl часто используется в сочетании с Web-сервером Apache и его Mod-Perl модулем.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 11:39:08 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=19#p19</guid>
		</item>
		<item>
			<title>Язык программирования C# (Си Шарп)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=18#p18</link>
			<description>&lt;p&gt;C# (произносится си шарп) является объектно-ориентированным языком программирования, разработанным Microsoft , как часть их .NET инициативы. Программирование для начинающих. &lt;br /&gt;Язык программирования Си Шарп от Microsoft основан на C++ и языке программирования Java . Некоторые языки жертвуют удобствами быстроты разработки ( RAD - Rapid Application Development) за полную власть и низким уровнем контроля. C# был разработан как баланс между полной властью и скоростью разработки. Программирование для чайников. &lt;/p&gt;
						&lt;p&gt;Выполнение программы &lt;br /&gt;Язык программирования C# не компилируется в двоичный код, который может быть выполнен непосредственно на целевом компьютере . Вместо этого, как и Java, он компилируется в промежуточный код, который выполняется на виртуальной машине, которая включена в. рамках NET. Все .NET языки (в том числе Visual Basic. NET и управляемый C++, а также C#) попадают к этому посреднику кода, который называется Microsoft Intermediate Language (MSIL). Для случайного наблюдателя обучающегося основам программирования, в результате программа выглядит как обычный исполняемый файл и имеет &amp;quot;. EXE&amp;quot; расширение так же, как обычное приложение. Тем не менее, выполнение программы не будет работать на компьютере, который не имеет установленного фреймворка (framework) .NET. &lt;br /&gt;Когда программа выполняется, .NET Framework создает промежуточный код в двоичном виде, который затем выполняется (как раз вовремя компиляции, называется JIT ). В результате двоичный код хранится временно (в кэш-памяти), так что если программа использует эту часть кода снова, используется кэшированная версия. Однако это действительно только в течение выполнения программы. Если .NET приложение запускается снова, то процесс компиляции повторится снова. &lt;/p&gt;
						&lt;p&gt;Стандартизации &lt;br /&gt;Microsoft представила язык программирования Си Шарп в комиссию ECMA для официального стандартизации . В декабре 2001 , ECMA выпустила ECMA-334 &amp;quot;Спецификация языка C#&amp;quot;. C# стал ISO стандартом в 2003 (ISO / IEC 23270). Существуют независимые реализации над которыми ведутся работы, в том числе: Ximian с открытым исходным кодом .NET реализации, Mono Free Software Foundation &amp;quot;.GNU портируемая .NET&amp;quot; &lt;br /&gt;Совсем недавно Microsoft объявила о планах добавить поддержку общих типов данных, шаблонов, частичную типизацию и некоторые другие новые возможности. Эти дополнения уже были предложены ECMA / ISO стандартизации. &lt;br /&gt;Пример&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;using System;


namespace Example
{
    public class HelloWorld
    {
        private String aString;


        public HelloWorld()
        {
            aString = &amp;quot;Hello World&amp;quot;;
        }


        public override String ToString()
        {
            return(aString);
        }


        public static void Main()
        {
            HelloWorld aHelloWorld = new HelloWorld();
            Console.WriteLine(aHelloWorld.ToString());
        }
        //Output is:Hello World
    }
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 11:38:30 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=18#p18</guid>
		</item>
		<item>
			<title>Язык программирования Cpp (Си++)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=17#p17</link>
			<description>&lt;p&gt;Язык программирования Си++ (произносится как &amp;quot;си плюс плюс&amp;quot;) - мультипарадигмовый язык программирования , поддерживает объектно-ориентированное программирование . Бьерн Страуструп из Bell Labs разработывал язык программирования C++ в течение 1980-х годов , используя в качестве основы язык программирования C . В значительной степени благодаря огромной популярности C, язык программирования Си++ стал самым популярным языком на протяжении 1990-х годов. Программирование для начинающих. И до сих пор он очень широко используется в коммерческих приложения и по сей день. Язык программирования C++ заменил собой C в сфере коммерческих приложений, потому что он позволяет программистам разрабатывать системы с постоянно возрастающей сложностью, при этом не отказываясь от своих C корней (например, библиотек которые написаны на обычном Си). Наряду с объектно-ориентированным проектированием, сегодняшний Си++ отличается от C своей поддержкой обобщенного программирования и шаблонное метапрограммирование. Это реализовано через псевдонимы типов, в встроенными расширениями, шаблонами и комментариями в стиле // комментарий (хотя заметим, что в C впоследствии был принят //-комментарий). Программирование для чайников. &lt;/p&gt;
						&lt;p&gt;История C++ &lt;br /&gt;Страуструп начал работать над языком в 1979 , вдохновленный Simula67, как основой программирования. Компания AT &amp;amp; T впервые использовала язык в августе 1983 . Оригинальный компилятор назывался Cfront . Первый коммерческий релиз произошел в октябре 1985 . Стандартизирован C++ организацией ISO / IEC 14882-1998 в 1998 . &lt;/p&gt;
						&lt;p&gt;История названия &amp;quot;C++&amp;quot; &lt;br /&gt;Это название принадлежит Рику Маскитти Rick Mascitti (середина 1983 года) и впервые было использовано в декабре 1983 года. Ранее, во время исследования и периода развития языка было принято называть &amp;quot;Си с классами&amp;quot;. Окончательное название происходит от Си и &amp;quot;++&amp;quot; оператора (который увеличивает значение переменной на единицу ) и общего именования через &amp;quot;+&amp;quot;, чтобы указать на расширенные возможности программы компьютера, например: &amp;quot;Wikipedia +&amp;quot;. (Проще говоря, знак плюса означает усовершенствование программы и придание ей нового функционала) По Страуструпу : &amp;quot;это имя означает эволюционный характер изменения из Си &amp;quot;. Хотя большинство C кода действительно для C++, но C не образует подмножество C++. &lt;br /&gt;Некоторые программисты C отметили, что если объявить x=3; и y=x++; то при выполнении x= 4 , а y = 3; так как x увеличивается после того, как его значение присваивается y. Однако, если написать y=++x; , то y=4 и x=4 . &lt;br /&gt;После таких рассуждений, более подходящее название для C++ может быть фактически ++С. Однако, C++ и ++C это увеление C , поэтому форма C++ является более распространенной, чем ++C. &lt;br /&gt;Педанты могут отметить, что после введения C++ язык C себя не изменился и наиболее точное название может быть &amp;quot;C +1&amp;quot;. &lt;/p&gt;
						&lt;p&gt;Право собственности на C++ &lt;br /&gt;Никто не владеет C++. Страуструп и AT &amp;amp; T не получают гонорары за использование C++. &lt;/p&gt;
						&lt;p&gt;Программа &amp;quot;Привет Википедии!&amp;quot; &lt;br /&gt;Код ниже может быть скомпилирован в программу, которая выводит текст сообщения.&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 35em&quot;&gt;&lt;pre&gt;include  // The  header is needed for std::cout
// Beginning of main() function
int main(int argc, const char**argv) 
{
   // { ... } is used to include blocks of code
   std::cout &amp;lt;&amp;lt; &amp;quot;Hello, Wikipedia!\n&amp;quot;; // Outputs the text enclosed by &amp;quot;&amp;quot;
   return 0;
}
Определение класса
include 
using std::string;


class InetMessage
{
 string m_subject, m_to, m_from;


public:
 InetMessage (const string&amp;amp; subject,
       const string&amp;amp; to,
       const string&amp;amp; from);
 string subject () const;
 string to () const;
 string from () const;
};&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;C++ библиотеки &lt;br /&gt;Стандартные библиотеки C++ в большинстве своем являются надмножеством стандартных библиотек C. Большая часть библиотеки С++ включает стандартную библиотеку шаблонов (STL). STL предоставляет такие полезные инструменты, как итераторы (которые напоминают высокого уровня указатели) и контейнеры (которые напоминают массивы, которые могут автоматически расти за счет включения новых элементов). Как и в C, особенностью доступа к библиотеке происходит с помощью #include директивы для подключения стандартных заголовочных файлов. C++ предоставляет пятьдесят не устаревших стандартных заголовков. &lt;/p&gt;
						&lt;p&gt;Будущее языка &lt;br /&gt;Язык программирования C++ продолжает развиваться, чтобы удовлетворить растущие требования. До сих пор разработчики компиляторов и сред разработок по-прежнему продолжают борьбу за поддержку всех C++ особенностей (ок. 2004), ситуация значительно улучшилась в период с 1998 по 2003 год. В частности, одна группа разработчиков Boost.org , которая многое усилий приложила для того, чтобы язык программирования Си++ стал таким, каким мы знаем его сегодня и консультируют комитет по стандартизации по функциям, которые работают, а какие нуждаются в улучшении. Текущая работа показывает, что C++ будет опираться на его характер мультипарадигмы больше и больше. Работы размещенные на Boost.org, например, значительно расширяют C++ функциональную и мета возможности программирования. C++ до сих пор нет стандарта по именованию переменных и функций , делая несовместимым код, производимый различными компиляторами.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 01:44:10 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=17#p17</guid>
		</item>
		<item>
			<title>Программирование – это искусство мыслить и достигать успеха.</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=16#p16</link>
			<description>&lt;div class=&quot;quote-box answer-box&quot;&gt;&lt;cite&gt;Reloaded написал(а):&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;позновательно!&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;еще бы :tomato:&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 00:52:06 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=16#p16</guid>
		</item>
		<item>
			<title>Язык программирования C (Си)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=15#p15</link>
			<description>&lt;p&gt;Язык программирования Си разработанный Деннисом Ритчи в начале 1970-х годов для создания операционной системы UNIX. Си остается наиболее широко используемый язык для написания системного программного обеспечения , и Cи также используется для написания приложений. Программирование для начинающих.&lt;/p&gt;
						&lt;p&gt;Особенности &lt;/p&gt;
						&lt;p&gt;Язык программирования C имеет следующие основные особенности:&lt;br /&gt;Фокусирование на парадигме процедурного программирования, с удобствами для программирования в структурированном стиле, это хороший плюс для изучения C.&lt;br /&gt;Доступ к аппаратному уровню через использование указателей для обозначения места в памяти .&lt;br /&gt;Параметры всегда передаются функции по значению, а не по ссылке.&lt;br /&gt;Область видимости лексических переменных (но не поддерживается замыкания или функции, определенные внутри других функций.)&lt;br /&gt;Стандартный набор библиотечных программ, которые предоставляют возможности, которые являются полезными, но не строго необходимы.&lt;br /&gt;Использование препроцессора языка, препроцессор C , для таких задач, как определение макросов и в том числе несколько файлов исходного кода.&lt;br /&gt;«О» производительность для всех операторов&lt;br /&gt;Функциональность языка программирования C гарантируется ANS / ISO C99 C89/90 и нормативными документами, которые явно указывают, когда компилятор (или окружающая среда), выдает диагностику. Программирование для чайников. В документах также указано, какое поведение можно ожидать от кода, написанного на языке программирования Си, который соответствует стандарту. &lt;br /&gt;Например, следующий код, в соответствии со стандартом, производит неопределенное поведение. &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 13.5em&quot;&gt;&lt;pre&gt;#include
#include
int main (void) {
   char *s = &amp;quot;Hello World!\\n&amp;quot;;
   strcpy (s, s+1); /* вероятно, что программист хотел удалить первый символ из строки S  = S +1, */ 
  return 0;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Примечание: стиль отступов в программном коде меняется в зависимости от предпочтений программистов. См. стиль отступов для более подробной информации в разделе основы программирования.&lt;br /&gt;&amp;quot;Неопределенное поведение&amp;quot; означает, что в результате программа может делать все, в том числе работать так, как задумал программист, или выдавая фатальные ошибки каждый раз при запуске, или вызывая одиночные сбои только каждый раз, когда происходит сорок второй запуск программы, или вызывает сбой, когда перезагружается компьютер, и т.д., до бесконечности. &lt;br /&gt;Некоторые компиляторы не придерживаются ни одного из стандартов в режиме по умолчанию, что приводит к тому, что много программ пишется таких, которые будут компилироваться только с определенной версией компилятора и на определенную платформу (Windows, Linux или Mac). &lt;br /&gt;Любая программа, написанная только на стандартном языке программирования C будет компилироваться без изменений на любой платформе, которая имеет соответствующие C реализации компилятора. &lt;br /&gt;Хотя C обычно называется языком высокого уровня, это только язык &amp;quot;высокого уровня&amp;quot; по сравнению с ассемблером , но значительно ниже уровнем, чем большинство других языков программирования. Но в отличии от большинства он дает программисту возможность полностью управлять содержимым памяти компьютера . С не дает инструментов для проверки границ массива или автоматической сборки мусора . &lt;br /&gt;Руководство управления памятью обеспечивает программисту большую свободу в настройке производительности программы, что особенно важно для таких программ, как драйверы устройств. Однако, она также легко позволяет случайно создать код с ошибками, вытекающих из ошибочных операций с памятью, таких как переполнение буфера. Некоторые инструменты были созданы, чтобы помочь программистам избежать этих ошибок, в том числе библиотеки для проведения проверки границ массива и сбор мусора, и библиотеки проверки исходного кода. Преднамеренное использование программ, написанных на С с нуля и содержащих механизм переполнения буфера очень распространено во многих компьютерных вирусов и очень популярно у хакеров, разрабатывающих компьютерные черви. &lt;br /&gt;Некоторые из выявленных недостатков С были рассмотрены и учтены в новых языках программирования, полученных из Си. Язык программирования Циклон имеет особенности, для защиты от ошибочных операций с памятью. C++ и Objective C обеспечивает конструкции предназначены для облегчения объектно-ориентированного программирования . Java и C # добавили конструкции объектно-ориентированное программирование, а также более высокий уровень абстракции, например, автоматическое управление памятью. &lt;/p&gt;
						&lt;p&gt;История &lt;br /&gt;Начальное развитие C произошло между 1969 и 1973 (в соответствии с Ритчи, самый бурный период в 1972 году). Он назывался &amp;quot;С&amp;quot;, потому что многие функции, были получены из предшественника языка по имени B , который сам в свою очередь был назван Бон в честь жены Бонни Кен Томпсон. &lt;br /&gt;К 1973 году язык программирования Си стал достаточно мощным, поэтому большая часть ядра из операционной системы Unix была переписана на C, для сравнения операционная система Multics реализована на языке A, ОС Tripos(реализована на языке BCPL. В 1978 году Ричи и Брайан Керниган опубликовали «язык программирования C» (так называемыую &amp;quot;белую книгу&amp;quot;, или K &amp;amp; R.) на протяжении многих лет, эта книга служила спецификацией языка, и даже сегодня, это издание пользуется большой популярностью как руководство и учебник. &lt;br /&gt;С стал очень популярным за пределами Bell Labs с 1980-х годов , и было какое-то время доминирующим языком в системах и приложениях программирования микрокомпьютеров. До сих пор наиболее часто используемых языков программирования системы, и является одним из наиболее часто используемых языков программирования в компьютерах для естественно-научного образования. &lt;br /&gt;В конце 1980-х годов , Бьерн Страуструп и другие в Bell Labs работали, чтобы добавить объектно-ориентированные конструкции для C. Язык, который они разработали вместе с первым компилятором Cfront, назвали C++ (что позволяет избежать вопроса о том, что преемник &amp;quot;B&amp;quot; и &amp;quot;С&amp;quot; должен быть &amp;quot;D&amp;quot; или &amp;quot;Р&amp;quot;). В настоящее время язык C++ чаще всего используется для коммерческих приложений для операционной системы Microsoft Windows, хотя C остается очень популярным в мире Unix. &lt;/p&gt;
						&lt;p&gt;Версии C &lt;/p&gt;
						&lt;p&gt;K &amp;amp; R Си (Керниган и Ритчи Си) &lt;br /&gt;С развивался непрерывно с момента его зарождения в Bell Labs. В 1978 был опубликовано первое издание Кернигана и Ритчи &amp;quot;Язык программирования C&amp;quot;. Он ввел следующие особенности для существующих версий C:&lt;br /&gt;structure тип данных&lt;br /&gt;long int тип данных&lt;br /&gt;unsigned int тип данных&lt;br /&gt;=+ оператора было изменено на += , и так далее ( так как оператор =+ постоянно вызывал ошибки лексического анализатора в C).&lt;br /&gt;В течение нескольких лет, первое издание &amp;quot;Язык программирования C&amp;quot; был широко использован в качестве спецификации языка де-факто. Версию Си описанную в этой книге, как правило, называют &amp;quot;K &amp;amp; R C&amp;quot; (Второе издание охватывает ANSI стандарт C, описанных ниже.) &lt;br /&gt;K &amp;amp; R C часто считается основной частью языка, которая необходима для компилятора C. Так как не все компиляторы, используемые в настоящее, время были обновлены для полной поддержки ANSI C полностью, и достаточно хорошо написанный K &amp;amp; R C код также правилен с точки зрения стандарта ANSI C. Поэтому K &amp;amp; R C считается наименьшим общим знаменателем, которого программисты должны придерживаться для достижения максимальной переносимости. Например, начальная загрузка версии компилятора GCC, xgcc, написано в K &amp;amp; R С. Это происходит потому, что на многих из платформ, поддерживаемых GCC не было правильного ANSI C компилятора GCC, поэтому была написана, только одна базовая реализация K &amp;amp; R языка С. &lt;br /&gt;Однако, ANSI C сейчас поддерживают почти все широко используемые компиляторы. Большая часть кода C с ноля пишется в настоящее время только для использования возможностей языка, которые выходят за рамки первоначальной K &amp;amp; R спецификации. &lt;/p&gt;
						&lt;p&gt;ANSI C и ISO C &lt;br /&gt;В 1989 , C был впервые официально стандартизирован ANSI в ANSI X3.159-1989 &amp;quot;Язык программирования С&amp;quot;. Одна из целей ANSI C было создание расширенного K &amp;amp; R С. Однако, комитетом по стандартам были также включены несколько новых возможностей, которые внесли много новшеств, чем обычно это происходило в программировании при стандартизации языка. &lt;br /&gt;Некоторые из новых возможностей были &amp;quot;неофициально&amp;quot; добавлены в язык после публикации K &amp;amp; R, но до начала процесса ANSI C. К ним относятся:&lt;br /&gt;void функции&lt;br /&gt;функции, возвращающие struct или union типы данных&lt;br /&gt;void * тип данных&lt;br /&gt;const квалификатор, чтобы сделать объект доступным только для чтения&lt;br /&gt;struct имена полей в отдельное пространство имен для каждого типа структуры&lt;br /&gt;выделение памяти на struct типов данных&lt;br /&gt;stdio библиотеки и некоторые другие стандартные функции библиотеки стали доступны в большинстве реализаций (это уже существовало, ну по крайней мере одна реализация в момент создания K &amp;amp; R Си, но на самом деле это был не стандарт, и, следовательно, не было документирована в книге)&lt;br /&gt;stddef.h заголовочный файл и ряд других стандартных заголовочных файлов.&lt;br /&gt;Некоторые функции были добавлены в C в процессе стандартизации комиссией ANSI, в первую очередь прототипы функций (заимствованные из С++ ). Си по стандарту ANSI также установил стандартный набор библиотечных функций . &lt;br /&gt;Язык программирования С по стандарту ANSI, с небольшими изменениями был принят в качестве стандарта ИСО за номерорм ISO 9899 . Первое издание ISO этого документа был опубликовано в 1990 (ISO 9899:1990). &lt;/p&gt;
						&lt;p&gt;C 99 &lt;br /&gt;После процесса стандартизации ANSI, спецификации языка C остается относительно неизменным в течение некоторого времени, тогда как C++ продолжает развиваться. (На самом деле, Нормативной Поправкой 1 создана новая версия языка C в 1995 году, но эта версия редко признается.) Однако, стандарты подверглись пересмотру в конце 1990-х годов , что привело к созданию ISO 9899:1999, который был опубликован в 1999 году. Этот стандарт обычно называют &amp;quot;C99&amp;quot;. Он была принята в качестве стандарта ANSI в марте 2000.&lt;br /&gt;Новые функции, добавленные в C99 включают в себя:&lt;br /&gt;встроенные функции&lt;br /&gt;освобождение ограничения на расположение объявления переменных (в соответствии с C++)&lt;br /&gt;Помимо нескольких новых типов данных, включая long long int (для уменьшения проблем связанных с переходом с 32-разрядных на 64-битные процессоры, надвигающегося на много старых программ, которое предсказало устаревания x86 архитектуры), явный булев типа данных, и тип представляющая комплексные числа&lt;br /&gt;массивы переменной длины&lt;br /&gt;Официальная поддержка комментариев, начинающиеся с «/ /» как в C++ (которые уже поддержали многие компиляторы C89 как расширение не-ANSI)&lt;br /&gt;несколько новых библиотечных функций, в том числе snprintf&lt;br /&gt;несколько новых заголовочных файлов, в том числе stdint.h&lt;br /&gt;Интерес к поддержке новых особенностей С99 является смешанной. Хотя GCC и нескольких коммерческих компиляторы поддерживают большинство из новых особенностей С99, компиляторы сделанные Microsoft и Borland не поддерживают, и эти две компании, похоже, не заинтересованы в добавлении такой поддержки. &lt;/p&gt;
						&lt;p&gt;Программа &amp;quot;Hello, World!&amp;quot; на языке Си &lt;br /&gt;Следующее простое приложение выводит &amp;quot; Hello, World &amp;quot;в стандартный файл вывода (обычно экран, но может быть файл или какой-либо другое аппаратное устройство). Изменение этой программы появилась впервые в K &amp;amp; R. &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 15em&quot;&gt;&lt;pre&gt;#include &amp;lt;stdio.h&amp;gt;
int main(void)
{
     printf(&amp;quot;Hello, World!\\n&amp;quot;); //комментарий
     return 0; /* комментарий
    на несколько
    строк */
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Обычно текст, который не является программой, а служит подсказкой для программиста записывается в виде комментария. // однострочнй или /* многострочный*/ &lt;/p&gt;
						&lt;p&gt;Анатомия программы на языке C &lt;br /&gt;Си программа состоит из функций и переменных. Си функции как подпрограммы и функции Fortran или процедуры и функции Паскаля . Особенность функции main в том, что программа начинает выполнение именно с функции main . Это означает, что каждая программа Си должна иметь main функцию. &lt;br /&gt;main функция, как правило, вызывает другие функции, которые помогают выполнять свою работу, например, printf в приведенном выше примере. Программист может написать некоторые из этих функций, а другие могут быть вызваны из библиотеки. В приведенном выше примере return 0 дает возвращаемое значения для main функций. Это указывает на успешное выполнение программы для вызова оболочки программы. &lt;br /&gt;Си функция состоит из типа возвращаемого значения, имени, списка параметров (или void в скобках, если таковых нет) и тела функции. Синтаксис функции тела эквивалентен составному оператору. &lt;/p&gt;
						&lt;p&gt;Управляющие структуры &lt;/p&gt;
						&lt;p&gt;Составные операторы &lt;br /&gt;Составные операторы в C имеют вид &lt;br /&gt;{ } &lt;br /&gt;и используются в качестве тела функции и в тех местах, где ожидается несколько действий в одном блоке. &lt;/p&gt;
						&lt;p&gt;Оператор объявления &lt;br /&gt;Утверждение вида &lt;br /&gt;; &lt;br /&gt;является выражением объявления. Если выражение отсутствует , то такое утверждение называется пустым оператором. &lt;/p&gt;
						&lt;p&gt;Оператор выбора &lt;br /&gt;C имеет три типа оператора выбора: два вида if и switch оператор. &lt;br /&gt;Два вида if, &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 18em&quot;&gt;&lt;pre&gt;if () 
{ 
} 
или 
if () 
{ 
} 
else 
{ 
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В if объявлении, если выражение в скобках отлично от нуля или правда, то управление передается оператору, следующему за if . Если в предложении присутствует else, то контроль перейдет к следующему за else набору действий, если выражение в скобках равно нулю или ложно. &lt;br /&gt;Оператор управления switch – в этом случае необходимо перечислить несколько значений, которые может принимать переменная, стоящая в качестве переменной выбора, которое должно иметь целый тип. Для каждого значения переменной-выбора могут выполнятся несколько действий, которые выбираются. Каждая ветка действий может быть помечена с помощью case метки, что выглядит как ключевое слово case, которое следует константным выражением, а затем двоеточие (:). Никакие значения, связанных с константами switch не могут иметь одно и тоже значение. Также может быть не более одной default метки, связанной со swith; управление передается default метке, если ни одно из константных значений не совпало с переменной выбора, которая стоит в скобках после switch . В приведенном ниже примере, если будет совпадение переменной выбора и константы, то тогда будет выполнен набор действий идущий после двоеточия&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;switch () {
case  :
printf();
	break;
case  :
printf();
break;
default :
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Повторения (Циклы) &lt;br /&gt;Си имеет три формы операторов циклов: &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 27em&quot;&gt;&lt;pre&gt;do 
{

}
     
while ();


  while ()
{
}


for ( ;  ; )
{
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В while и do операторах, тело выполняется неоднократно, пока значение выражения остается ненулевой или правдой. Для while проверка равильности условия происходит каждый раз перед началом выполнения; для do проверка условия происходит после выполнеия тела цикла. &lt;br /&gt;Если все три выражения присутствуют в операторе for &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 15em&quot;&gt;&lt;pre&gt;for (e1; e2; e3)
     s;
то это эквивалентно тому же, что и 
  e1;
  while (e2) {
     s;
     e3;
  }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Любое из трех выражений в операторе цикла for могут быть опущены. Отсутствие второго выражение делает while проверку условия всегда ненулевой, создавая бесконечный цикл. &lt;/p&gt;
						&lt;p&gt;Операторы перехода &lt;br /&gt;Оператор безусловного перехода. Существуют четыре типа операторов перехода в C: goto , continue , break , и return . &lt;br /&gt;goto заявление выглядит следующим образом: &lt;br /&gt;goto &amp;lt;метка&amp;gt;; &lt;br /&gt;Идентификатор должен указывать на метку, расположенную в текущей функции. Управление передается на помеченный оператор. &lt;br /&gt;continue оператор может появиться только в пределах повторения цикла и заставляет пропустить оставшиеся шаги на текущем месте и перейти к следующему шагу цикла. То есть, в каждом из заявления &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 27em&quot;&gt;&lt;pre&gt;while (expression) {
/* ... */
continue;
}


do {
/* ... */
continue ;
} while (expression);


for (optional-expr; optexp2; optexp3) {
/* ... */
continue ;
}&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;break оператор используется для выхода из циклов for , while, do, или switch. Управление передается оператору, следующему за тем, в котором было прервано действие. &lt;br /&gt;Функция возвращает в то место, из которого было вызвано значение с помощью оператора return . После return следует выражение, значение которого возвращается в место, откуда вызывалась. Если функция не содержит оператор return, то это эквивалентно return без выражения. В любом случае, возвращаемое значение не определено. &lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Порядок применения операторов в C89&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;() [] -&amp;gt;. + + - (CAST) Postfix операторов&lt;br /&gt;+ + - * &amp;amp; ~! + - SizeOf унарные операторы&lt;br /&gt;* /% Мультипликативных операторов&lt;br /&gt;+ - Аддитивные операторы&lt;br /&gt;&amp;lt;&amp;lt; &amp;gt;&amp;gt; Операторов сдвига&lt;br /&gt;&amp;lt; &amp;lt;= &amp;gt; &amp;gt;= Реляционных операторов&lt;br /&gt;=! == Операторов равенства&lt;br /&gt;&amp;amp; Побитовое и&lt;br /&gt;^ Побитовое исключающее ИЛИ&lt;br /&gt;| Побитовое включительно, либо&lt;br /&gt;&amp;amp; &amp;amp; Логическое и&lt;br /&gt;| | Логических или&lt;br /&gt;?: Условный оператор&lt;br /&gt;= += -= *= /= %= &amp;lt;&amp;lt;= &amp;gt;&amp;gt;=&lt;br /&gt;&amp;amp; = | = ^ Операторов присваивания =&lt;br /&gt;, Оператор запятая&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Объявление данных&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Элементарные типы данных &lt;br /&gt;Значения в &amp;lt;limits.h&amp;gt; и &amp;lt;float.h&amp;gt; заголовочных файлах определяют диапазоны основных типов данных. Диапазоны float , double , и long double типа, как правило, упомянуты в IEEE 754 стандарте.&lt;br /&gt;имя	минимальный дипазон&lt;br /&gt;char	-127..127 or 0..255&lt;br /&gt;unsigned char	0..255&lt;br /&gt;signed char	-127..127&lt;br /&gt;int	-32767..32767&lt;br /&gt;short int	-32767..32767&lt;br /&gt;long int	-2147483647..2147483647&lt;br /&gt;float	1e-37..1e+37 (положительные числа)&lt;br /&gt;double	1e-37..1e+37 (положительные числа)&lt;br /&gt;long double	1e-37..1e+37 (положительные числа)&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Массивы&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Если объявление переменной происходит с использованием вместе с указанием квадратных скобок ( [] ), то считается, что объявлен массив. Строки это массивы символов. Они заканчиваются символом нуля (представлен в С как &#039;\0&#039; , нулевой символ ). &lt;br /&gt;Примеры: &lt;br /&gt;int myvector [100];&lt;br /&gt;char mystring [80]; &lt;br /&gt;float mymatrix [3] [2] = {2.0 , 10.0, 20.0, 123.0, 1.0, 1.0}&lt;br /&gt;char lexicon [10000] [300] ; /* 10000 строк, каждая из которых может сожержать максимум 300 символов. */&lt;br /&gt;int a[3][4];&lt;br /&gt;Последний пример создает массив массивов, но может рассматриваться как многомерный массив для решения большинства задач. Для доступа к 12 int значеням массива «a», можно использовать следующий вызов: &lt;br /&gt;a[0][0]	a[0][1]	a[0][2]	a[0][3]&lt;br /&gt;a[1][0]	a[1][1]	a[1][2]	a[1][3]&lt;br /&gt;a[2][0]	a[2][1]	a[2][2]	a[2][3]&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Указатели&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;Если переменная предваряется символом звездочка (*) в своем заявлении , тогда она становится указателем. &lt;br /&gt;Примеры: &lt;br /&gt;int *pi; /* указатель на целое */&lt;br /&gt;int *api[3]; /* массив указателей целого типа */&lt;br /&gt;char **argv; указатель на куазатель на char */&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Значение в адресе хранится в переменной-указателе и могут быть доступны в программе при вызове переменной-указателя со звездочкой. Например, если первое заявление приведенном выше примере, *pi является int . Это называется &amp;quot;разыменования&amp;quot; указателя. &lt;br /&gt;Другой оператор, &amp;amp; (амперсанд), называется адрес-оператора, возвращает адрес переменной, массива или функции. Таким образом, с учетом вышесказанного &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 9em&quot;&gt;&lt;pre&gt;int i, *pi; /* объявим целое и указатель на целое */
pi = &amp;amp;i;

i и *pi могут быть использованы как взаимозаменяемые (по крайней мере до того, как pi будет установлено что-то другое).&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Строки &lt;br /&gt;Для работы со строками вам не нужно включать библиотеку, потому, что в стандартной библиотеке C, уже присутствуют функции для обработки строк и блоков данных, как если бы они были массивы типа char . &lt;/p&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Наиболее важные функции строки&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;strcat(dest, source) - добавляет строку source в конец строки dest&lt;br /&gt;strchr(s, c) - находит первую очередь характера c в строку s и возвращает указатель на него или пустой указатель, если c не найден&lt;br /&gt;strcmp(a, b) - сравнивает строки и a b (лексических заказа); возвращает отрицательным, если меньше a b , 0, если равны, положительным, если больше.&lt;br /&gt;strcpy(dest, source) - копирует строку source в строку dest&lt;br /&gt;strlen(st) - возвращает длину строки st&lt;br /&gt;strncat(dest, source, n) - добавляет максимум n символов из строки source в конец строки dest ; символы после нулевого символа не копируются.&lt;br /&gt;strncmp(a, b, n) - сравнивает максимум n символов из строки и a b (лексических заказа); возвращает отрицательным, если меньше a b , 0, если равны, положительным, если больше.&lt;br /&gt;strncpy(dest, source, n) - копии максимум n символов из строки source в строку dest&lt;br /&gt;strrchr(s, c) - находит последний экземпляр символа c в строку s и возвращает указатель на него или пустой указатель, если c не найден&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div class=&quot;quote-box spoiler-box&quot;&gt;&lt;div onclick=&quot;$(this).toggleClass(&#039;visible&#039;); $(this).next().toggleClass(&#039;visible&#039;);&quot;&gt;Менее важные функции строки&lt;/div&gt;&lt;blockquote&gt;&lt;p&gt;strcoll(s1, s2) - сравнить две строки в соответствии с локали упорядоченной последовательности&lt;br /&gt;strcspn(s1, s2) - возвращает индекс первого символа в s1 , что соответствует любому символу, в s2&lt;br /&gt;strerror(err) - возвращает строку с сообщением об ошибке соответствующий код в err&lt;br /&gt;strpbrk(s1, s2) - возвращает указатель на первый символ в s1 , что соответствует любому символу, в s2 или пустой указатель, если не найден&lt;br /&gt;strspn(s1, s2) - возвращает индекс первого символа в s1 , который соответствует не символ в s2&lt;br /&gt;strstr(st, subst) - возвращает указатель на первое вхождение строки subst в st или пустой указатель, если нет такой подстроки существует.&lt;br /&gt;strtok(s1, s2) - возвращает указатель на маркер в s1 разделяются символами в s2 .&lt;br /&gt;strxfrm(s1, s2, n) - преобразует s2 в s1 использовании локали правил&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;p&gt;Файл ввода / вывода В языке программирования Си, ввод и вывод осуществляется через группу функций в стандартной библиотеке. В ANSI / ISO Си, те функции, которые определены в&amp;lt;stdio.h&amp;gt; заголовка. &lt;br /&gt;Три стандартных потока ввода-вывода&lt;/p&gt;&lt;div class=&quot;quote-box quote-main&quot;&gt;&lt;blockquote&gt;&lt;p&gt;stdin стандартный ввод&lt;br /&gt;stdout стандартный вывод &lt;br /&gt;stderr стандартная ошибка&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
						&lt;p&gt;Эти потоки автоматически открывается и закрывается средой исполнения, они не должны быть открыты в явном виде. &lt;br /&gt;В следующем примере показано, как структурирована обычная программа для фильтрации букв : &lt;br /&gt;//Заголовочные файлы, например, #include &amp;lt;stdio.h&amp;amp;qt;&lt;/p&gt;&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
						&lt;p&gt;Передача аргументов командной строке &lt;br /&gt;Параметрами, представленными в командной строки передаются в программу C с двумя предопределенными переменными – кол-во аргументов командной строки хранится в переменной argc, а отдельные аргументы как символьные массивы в указателе на массив argv . Так запуск программы их командной строки в в виде&lt;br /&gt;Myprog p1 p2 p3 &lt;br /&gt;даст результаты похожие на (примечание: нет никакой гарантии, что отдельные строки являются смежными): &lt;br /&gt;К отдельным значениям параметров можно получить доступ используя argv[1] , argv[2] , или argv[3] . &lt;/p&gt;
						&lt;p&gt;Си библиотеки&lt;br /&gt;Многие особенности языка Си обеспечиваются стандартной библиотекой Си. &amp;quot;Хостинг&amp;quot; реализация предоставляет все библиотеки C. (В большинстве реализаций размещаются, но некоторые, не предназначены для использования с операционной системой). Доступ к библиотеке достигается в том числе стандартными заголовками через директиву препроцессора #include. См. ANSI C стандартные библиотеки , GCC ( GNU C Compiler).&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 00:40:32 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=15#p15</guid>
		</item>
		<item>
			<title>Язык программирования Brainfuck (Брайнфак)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=14#p14</link>
			<description>&lt;p&gt;Brainfuck (мозгоеб) является минималистским языком программирования созданным Урбан Мюллер где-то в 1993 году. Язык иногда называют brainf*ck, brainf***, или просто BF в приличном обществе. Программирование для начинающих. &lt;br /&gt;Достижением Мюллера было создание простого языка программирования Тьюринга, который может быть реализован с наименьшим из возможных компиляторов . Язык состоит из восьми управляющих операторов. Оригинальный компилятор 2-ой версии, написанный для Amiga , составлял 240 байт. Программирование для чайников. &lt;br /&gt;Как следует из названия, Brainfuck (мозгоебские) программы, как правило, трудно понять. Тем не менее, это машина Тьюринга , и поэтому Brainfuck, может выполнить любые вычислительные задачи. Пренебрегая очевидной трудностью в программировании определенных задач на языке Brainfuck, почти любая задача под силу этому языку/, не говоря уже про основы рограммирования.&lt;br /&gt;Язык основан на простой модели машины, состоящей, помимо программы, из массива обнуленных байтов, указателя на массив (инициализируется и указывает на первый байт массива), и два потока байт для ввода и вывода данных.&lt;br /&gt;Восемь управляющих операторов языка, каждый из которых состоит из одной буквы, являются следующие:&lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;Символ 	Смысл 
&amp;gt;     приращение указателя. 
&amp;lt;     декремент указателя. 
+     приращение байт на указатель. 
-     декремента байтов на указатель. 
.     Выход из байта указателя (ASCII). 
,     вклад в байт по указателю (ASCII). 
[     Перейти вперед на оператор после соответствующего ] , если байт на указатель равен нулю. 
]     Перейти обратно на оператор после соответствующего [ если байта на указатель не равно нулю.&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;(В качестве альтернативы оператор ] может быть интерпетирован как &amp;quot;перейти обратно к соответствующему [ &amp;quot;. Это краткоее, но менее симметричное и эффективное по времени. Обе версии эквивалентного поведения Brainfuck программы.) &lt;br /&gt;(Третья эквивалентная версия, мало употребляется, является: [ означает &amp;quot;скачок вперед в соответствующие ] &amp;quot;, и ] означает &amp;quot;возврат на заявление после соответствующего [ если байт на указателе отличный от нуля &amp;quot;.) &lt;br /&gt;Brainfuck программы могут быть переведены на язык C с помощью следующей замены, предполагая, ptr имеет тип char* :&lt;br /&gt;Brainfuck	C&lt;br /&gt;&amp;gt;	 ++ptr;&lt;br /&gt;&amp;lt;	 --ptr;&lt;br /&gt;+	 ++*ptr;&lt;br /&gt;-	 --*ptr;&lt;br /&gt;.	 putchar(*ptr);&lt;br /&gt;,	 *ptr = getchar();&lt;br /&gt;[	 while (*ptr) {&lt;br /&gt;]	 }&lt;/p&gt;&lt;div class=&quot;quote-box quote-main&quot;&gt;&lt;blockquote&gt;&lt;p&gt;Примеры &lt;br /&gt;Привет мир! &lt;br /&gt;Программа, которая печатает &amp;quot;Hello World!&amp;quot; на экране:&lt;br /&gt;++++++++++[&amp;gt;+++++++&amp;gt;++++++++++&amp;gt;+++&amp;gt;+&amp;lt;&amp;lt;&amp;lt;&amp;lt;-]&lt;br /&gt;&amp;gt;++.&amp;gt;+.+++++++..+++.&amp;gt;++.&amp;lt;&amp;lt;+++++++++++++++.&lt;br /&gt;&amp;gt;.+++.------.--------.&amp;gt;+.&amp;gt;.&lt;br /&gt;Нулевая текущая позиция &lt;br /&gt;[-] &lt;/p&gt;
						&lt;p&gt;Работа с символами (ввод-вывод) &lt;br /&gt;,. &lt;/p&gt;
						&lt;p&gt;,[.,] &lt;/p&gt;
						&lt;p&gt;Непрерывный цикл, который принимает ввод с клавиатуры и отображает его на экране. Отметим, что это предполагает ввод 0 как сигнал конца ввода; в разных реализациях этот момент может изменяться. Версии для -1 и &amp;quot;никаких изменений&amp;quot;, будут выглядеть как &amp;quot; ,+[-.,+] &amp;quot;и&amp;quot; ,[.[-],] &amp;quot;. &lt;br /&gt;Манипуляции с указателем &lt;br /&gt;&amp;gt;,[.&amp;gt;,]&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;
						&lt;p&gt;Данная версия программы, также сохраняет все из потока входа в массиве для использования в будущем, путем перемещения указателя каждый раз на новую позицию в массиве. &lt;/p&gt;
						&lt;p&gt;Сложение &lt;br /&gt;[-&amp;gt;+&amp;lt;] &lt;/p&gt;
						&lt;p&gt;Это добавляет значение текущего местоположения (разрушительно, он остается в нуле) к значению в следующей ячейке. &lt;/p&gt;
						&lt;p&gt;Условные операторы &lt;br /&gt;,----------[----------------------.,----------] &lt;br /&gt;Этот код получает буквы в нижнем регистре при вводе с клавиатуры и переводит в верхний регистр. Для выхода нажмите клавишу ввода. &lt;br /&gt;Во-первых, для получения первого символа используется «,» и сразу же вычитается 10 от него. (Большинство, но не все, Brainfuck программы используют 10 для возвращения результата.) Если пользователь нажмет ввод, оператор цикла ( [ ) прыгнет в конец прошлого цикла, потому что мы установили значение первого байта в ноль. Если входной символ не был 10, мы смело предполагаем, что было введена строчная буква, и входим в цикл, в котором мы вычитаем еще 22 от него, в общей сложности 32, что представляет собой разницу между ASCII строчными и заглавными буквами. &lt;br /&gt;Следующим действием мы вывели на экран. Теперь ввод следующего символа, и снова вычесть 10. Если этот символ был перевод строки, мы выходим из цикла, в противном случае мы возвращаемся к началу цикла, вычитаем еще 22, выводим на экран, и так далее. Когда мы выходим из цикла, программа завершается, так как команд больше не осталось. &lt;br /&gt;Кроме того &lt;br /&gt;,&amp;gt;++++++[&amp;lt;--------&amp;gt;-],,[&amp;lt;+&amp;gt;-],&amp;lt;.&amp;gt;. &lt;/p&gt;
						&lt;p&gt;Эта программа добавляет два однозначных числа и отображает результат правильно, если этот результат тоже имеет только одну цифру: &lt;br /&gt;4 +3 &lt;br /&gt;7 &lt;/p&gt;
						&lt;p&gt;(Теперь все становится немного сложнее. Мы можем также обратиться к байту в массив [0], [1], [2], и так далее.) &lt;br /&gt;Первый номер вводится в [0], и 48 из него вычитается, чтобы исправить его (ASCII коды для цифр 0-9 являются 48-57). Это делается, положив 6 в ячейку [1] и с помощью цикла вычесть 8 из [0] и повтоярется много раз. (. Это распространенный метод сложения или вычитания больших чисел) Далее, знак плюс вход в [1], затем второй номер на вход, перезаписи знаком плюс. &lt;br /&gt;Следующий цикл [&amp;lt;+&amp;gt;-] делает реальную работу, перемещение второго число на первое, сложив их вместе и обнуленив [1]. Каждый раз, он добавляет единицу к [0] и вычитает один из [1], так что к тому времени [1] обнуляется, так как многие были добавлены [0], как были удалены из [1]. Теперь возврат вклада в [1]. (Мы не проверяем ошибки входных данных во всех случаях.) &lt;br /&gt;Затем указатель перемещается обратно на [0], который затемвыводится. ([0] в настоящее время a + (b + 48), так как мы не правильно b, который совпадает с (a + b) + 48, которая является тем, что мы хотим получить.) Теперь указатель перемещается в [1] , в которой хранится значение окончания программы, введенного с клавиатуры, что приводит к завершению программы. &lt;/p&gt;
						&lt;p&gt;Умножения &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 7.5em&quot;&gt;&lt;pre&gt;,,&amp;gt;++++++++[&amp;lt;------&amp;lt;------&amp;gt;&amp;gt;-]
 &amp;lt;&amp;lt;[&amp;gt;[&amp;gt;+&amp;gt;+&amp;lt;&amp;lt;-]&amp;gt;&amp;gt;[&amp;lt;&amp;lt;+&amp;gt;&amp;gt;-]&amp;lt;&amp;lt;&amp;lt;-]
 &amp;gt;&amp;gt;&amp;gt;++++++[&amp;lt;++++++++&amp;gt;-],&amp;lt;.&amp;gt;.&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Как и в предыдущем примере, но теперь умножаем, а не складываем. &lt;br /&gt;Первый номер вводится в [0], звездочки, а затем второй номер вводятся в [1], и оба номера исправляются с помощью вычитания 48. &lt;br /&gt;Теперь мы вступаем в основной цикл умножения. Основная идея в том, что каждый раз через него мы вычтем одно из [0] и добавить [1] , текущая сумма хранится в [2]. В частности: первый внутренний движется схема [1] на обе [2], [3], в то время как обнуление [1]. (Это основной способ, чтобы дублировать номер.) Следующего внутреннего движется схема [3] обратно в [1], обнуление [3]. Тогда вычитается из [0], а внешний цикл заканчивается. На выходе из этой петли, [0] равен нулю, [1] до сих пор второй номер в ней, и [2] произведения двух чисел. (Если бы мы заботились о сохранении первого числа, мы могли бы добавить от одного до [4] каждый раз через внешний цикл, а затем переместить значение из [4] к [0] позже.) &lt;br /&gt;Теперь мы добавляем 48 для завершения, вход возвращения в [3], выход ASCII, а затем выход возвращения мы просто сохраняем.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 00:27:30 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=14#p14</guid>
		</item>
		<item>
			<title>Язык программирования Basic (Бейсик)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=13#p13</link>
			<description>&lt;p&gt;Язык программирования Бейсик - это семейство языков программирования высокого уровня. Первоначально разработанный в качестве учебного пособия, он получил широкое распространение на домашних микрокомпьютерах в 1980-е годы, и остается популярным и по сей день в сильно изменном диалекте. Программирование для начинающих. &lt;br /&gt;Название языка программирования BASIC было придумано в классических традициях информатики, что привело к хорошему сокращению наименования, Beginner&#039;s All-purpose Symbolic Instruction Code (Многоцелевой код символьных инструкций для начинающих). Название связано с названием неопубликованной работы изобретателя языка Томаса Курца . Некоторые критики шутливо называют его Попытка языка Билла захватить контроль над промышленностью в ответ на политику Microsoft в отношении интерпретатора Бейсика, который включенали во все поставки с ранними ПК совместимых с IBM. Программирование для чайников. &lt;/p&gt;
						&lt;p&gt;История &lt;/p&gt;
						&lt;p&gt;До появления &lt;br /&gt;До середины 1960-х годов, компьютеры были очень дорогие инструментами, которые использовались только для задач специального назначения, в то время выполнять могли они только одну &amp;quot;работу&amp;quot;. С середины 1960-х годов, однако, компьютеры начали падать в цене, вплоть до того момента, когда даже небольшие компании могли их себе позволить, а скорости исполнения инструкций выросли до такой степени, когда компьютеры стали простаивать, потому что не было достаточного количества работы для них, что впоследствии рассматривалось в основах программирования. &lt;br /&gt;Языки программирования той эпохи, как правило, разрабатывались с учетом возможностей вычислительных машин и для конкретных целей, таких, как научная обработкая формул. Компьютеры, которые могли выполнять только одну &amp;quot;работу&amp;quot; были дорогими, а самой главной характеристикой являлась скорость исполнения инструкций. В общем, их использование было трудным делом, и, даже можно сказать, немного &amp;quot;уродливым&amp;quot;. &lt;br /&gt;Именно в это время концепция разделения времени операционной системой начала становиться популярной. В такой системе время основной обработки компьютер &amp;quot;нарезал&amp;quot; на части, и каждый пользователь получал небольшое количество времени в определенной последовательности. Машины были уже достаточно быстрыми, так что большинство пользователей заблуждались, думая, что они монопольно использовали целый компьютер. В теории разделения времени снижение времени вычисления чрезвычайно важно, поскольку на одном компьютере могут работать сотни пользователй, по крайней мере теоретически. &lt;/p&gt;
						&lt;p&gt;Рождение и ранние годы &lt;br /&gt;Язык программирования BASIC изобрел в 1964 году Джон Джордж Кемени (1926-93) и Томас Курц Евгений (1928 -) в Дартмутском колледже. В последующие годы, после появления множества разновидностей Бейсика, было выпущено описание оригинального BASIC от Кемени и Курца, которое дало название настоящему Бейсику &amp;quot;Дартмут Бейсик&amp;quot;. &lt;br /&gt;Язык программирования Бейсик был разработан для того, чтобы студенты могли писать программы, используя с компьютерные терминалы в режиме разделения времени . Бейсик предназначен для решения сложных вопросов, которые решало предыдущее поколение языков. Разработанный специально для нового класса пользователе, которые приняли идею использования разделения времени, то есть для &amp;quot;простого&amp;quot; пользователя, который был заинтересован не столько в скорости, сколько в простой возможности использования компьютера. Разработчики языка также хотели, чтобы язык стал общественным достоянием, которое помогло бы ему распространяться. &lt;br /&gt;Восемь принципов построения BASIC: &lt;br /&gt;Быть легким для новичков&lt;br /&gt;Быть языком общего назначения&lt;br /&gt;Разрешить расширенные возможности добавления собственным усовершенствований для специалистов (при сохранении языка простым для начинающих)&lt;br /&gt;Быть интерактивным&lt;br /&gt;Разработка четких и дружественных сообщений об ошибках&lt;br /&gt;Быстро реагировать на небольшие программы&lt;br /&gt;Не требуется знание компьютерных аппаратных&lt;br /&gt;Ограждение пользователя от операционной системы&lt;/p&gt;
						&lt;p&gt;Язык был основан частично на Фортран II и частично на Алгол 60, с дополнениями, чтобы сделать его пригодным для разделения времени и матрицей арифметики, BASIC был впервые реализован на манфреймах GE-265, которые поддерживали несколько терминалов. Вопреки распространенному мнению, на момент создания это был компилируемый язык. Почти сразу же после его выпуска, компьютерные специалисты начали высмеивать Бейсик как слишком медленный и слишком простой. Так как элитарность языка является постоянной темой в компьютерной индустрии. &lt;br /&gt;БЕЙСИК тем не менее, распространяется на большое количество машин, и становится довольно популярным на новых миникомпьютерах, таких как серия DEC PDP и Data General Nova. В этих случаях язык, как правило, выступает в качестве переводчика, а не компилятора, или, наоборот, в зависимости от потребностей. &lt;/p&gt;
						&lt;p&gt;Взрывной рост &lt;br /&gt;Однако только с появлением микрокомпьютера Altair 8800 в 1975 году BASIC начинает свое массовое распространение. Большинство языков программирования были слишком велики, чтобы уместиться в небольшой памяти компьютеров, которые большинство пользователей могут позволить себе купить, а если еще учесть, что чтение происходило с медленной бумажной ленты (или в более поздних версиях аудио кассеты) и отсутствовали подходящие текстовые редакторы, то малый требования языка BASIC хорошо отвечали этим требованиям. Одним из первых появившихся на этой машине был Tiny BASIC, простая реализация BASIC изначально написанная доктором Ли-Ван Чэнь, а затем перенесенная на Альтаир Деннисом Эллисоном по просьбе Боба Альбрехта (который позже основал доктор Dobbs Journal - DDJ) . Дизайн Tiny BASIC и полный исходный код был опубликован в 1976 DDJ. &lt;br /&gt;В 1977 году Microsoft (в то время это были только два человека - Гейтс и Аллен) выпустила Altair BASIC. Версии затем начали появляться и на других платформах в соответствии с лицензией, и миллионы копий и вариантов вскоре были в использовании, он стал одним из стандартных языков на Apple II. К 1979 году Microsoft ведет переговоры с несколькими поставщиками микрокомпьютеров, в том числе IBM, для того, чтобы лицензировать интерпретатор BASIC для этих компьютеров. Версия была зашита в чипах IBM PC в ПЗУ, а для ПК без дисков, Бейсик стал загружаемым автоматически при включении питания. &lt;br /&gt;По мере появления новых компаний, многие из них пытались повторить успех Альтаира, например, IMSAI, Полярная звезда, и Apple, и, таким образом произошла революция домашнего компьютера, в котором BASIC стал стандартным атрибутом домашних компьютеров того времени. Большинство шли с интерпретатором BASIC в ПЗУ ( функция впервые появилась на Commodore PET в 1977). Вскоре появились многие миллионы машин, работающих с BASIC во всем мире, вероятно, гораздо больше, чем число всех пользователей всех других языков вместе взятых. Многие программы, особенно те, что на Apple II и IBM PC, стали зависимыми от интерпретатора BASIC компании Microsoft и не работали без него. Таким образом, Microsoft использовали авторскую лицензию на трансляторы BASIC, чтобы получить рычаги давления на переговорах с поставщиками компьютеров. &lt;/p&gt;
						&lt;p&gt;Зрелость &lt;br /&gt;В этот период времени были созданы новые и более мощные версий BASIC. Microsoft продала несколько версий BASIC для MS-DOS / PCDOS включая BASICA, GW-BASIC (BASICA-совместимую версию, которая не требовала наличия ROM IBM) и Quick Basic. Компания Borland (разработчик Turbo Pascal) опубликовала Turbo Basic 1.0 в 1985 (преемник этой версии все еще продается под названием PowerBASIC другой компанией). Появлялись различные расширения для домашнего компьютера которые поддерживал Бейсик, например, графика, звук и DOS команды, а также средства для структурного программирования. Другие языки программирования использовали широко известный синтаксис языка Бейсик в качестве основы для переноса на другие операционные системы, в качестве примера можно вспомнить GRASS . &lt;br /&gt;Однако во второй половине 1980-х годов новые компьютеры были гораздо более сложными и имели множество возможностей (например, графические интерфейсы пользователя), что делало BASIC все менее и менее подходящим для программирования. В то же время компьютеры прогрессируют от инструмента любителей до инструмента профессионалов. Персональные компьютеры начинают использоваться в основном для выполнения приложений, написанных другими людьми, и программирования в целом становится менее важной составляющей для быстро растущего числа простых пользователей. БЕЙСИК начал исчезать, хотя многочисленные версии остались доступными. &lt;br /&gt;Бедственное положение БЕЙСИКА изменяется с появлением Visual Basic от Microsoft. Хотя уже довольно трудно рассмотреть в этом языке классический BASIC (несмотря на использование в названии знакомых слов BASIC), но этот новый стал одним из наиболее часто используемых языков на платформе Windows. Не забудем упомянуть, что программы, написанные на этом языком представляют собой примерно 70 до 80% всех коммерческих приложений. Visual Basic для приложений (VBA) был добавлен в Microsoft Excel 5.0 в 1993 году и включен во всю линейку продуктов Microsoft Office в 1997 году. В Windows 98 появился транслятор VBScript. Последняя версия Visual Basic называется VB.NET. OpenOffice Suite включает в себя вариант BASIC менее мощный, чем его коллега MS. &lt;/p&gt;
						&lt;p&gt;Язык &lt;/p&gt;
						&lt;p&gt;Синтаксис &lt;br /&gt;Оператор завершения логической строки это перевод на новую строку, если только не встретился оператор переноса логической строки на следующую с помощью символа продолжения строки. Минимальный синтаксис Бейсика: LET, PRINT, IF и GOTO команды. Интерпретатор, который запускает программу с этим минимальным синтаксисом не нуждается в стеке, потому что некоторые ранние реализации микрокомпьютеров были настолько простыми. Если добавить стек, то могут быть добавлены циклы и команды GoSub . Интерпретатору BASIC для работы с этими функциями необходимо иметь код номера строк. &lt;br /&gt;Номера строк были отличительной особенностью классического BASIC для домашнего компьютера. Увы, использование номеров строк имеет большой недостаток, который требует от программиста чутья на то, сколько строк будет в программы, поскольку основными командами был переход к номеру определенной строки. А в случае внесения правок или дополнений в более поздних версиях программы, номера этих строк начинали изменяться, что приводило к необходимости изменения почти всей программы. Для решения данный проблемы использовались хитрые приемы, которые скажем гласили, что нумеровать надо строки с запасом и шаг составлял +10. Но все равно это не спасало в случае серьезных модификаций программы. Чтобы решить эту проблему с ранними трансляторами BASIC, опытные пользователи скоро написали свои собственные утилиты для перенумерации строк исходного кода программы. Некоторые трансляторы БЕЙСИКА, которые появились позже, имели встроенную команду изменения нумерации строк, тем самым устраняя наиболее актуальную проблему с номерами строк. &lt;br /&gt;Современные диалекты BASIC отказались от номерации строк, и большинство реализаций поддерживают структурные управляющие операторы, которые используются в известных языках, таких как Си или Паскаль как известно и в других языках, таких как C и Pascal (хотя остаются и версии, где совмещено структурное управление и нумерация строк): &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;do - loop - while - until - exit
on x goto / gosub (switch &amp;amp; case)&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;Последние варианты, такие как Visual Basic ввели возможность объектно-ориентированного программирования, и даже наследование в последней версии. Управление памятью в последней реализации намного легче, чем во многих других процедурных языках программирования из-за того, что обычно включен сборщик мусора (который самостоятельно очищает память и удаляет ненужные данные). &lt;br /&gt;Разнообразие вариантов языка показывает, что язык имеет &amp;quot;органический&amp;quot; характер и что этот язык может рассматриваться как субкультура в компьютерном мире, а не как фиксированный набор синтаксических правил. То же самое относится и к другим &amp;quot;старым&amp;quot; языкам программирования, таким как COBOL и FORTRAN. Огромное количество профессионалов в ИТ индустрии, которые владеют БЕЙСИКОМ, можно объяснить тем, что основная масса оттачивала зубы в программировании в 80-х годах, годы популярности Бейсика. &lt;/p&gt;
						&lt;p&gt;Процедуры и управление потоком &lt;br /&gt;Basic не имеет стандартных внешних библиотек, как другие языки, такие как Си. Вместо этого транслятор (или компилятор) содержит обширную встроенную библиотеку собственных процедур. Эти процедуры включают в себя большинство инструментов, с помощью которых программист должен научиться программированию и писать простые приложения, включая математические функции, ввод и вывод строк на консоль, графики и обработка файлов. &lt;br /&gt;Некоторые диалекты BASIC не позволяют программистам писать свои собственные процедуры. Программисты должны вместо этого писать свои программы с большим количеством GOTO заявлений для ветвления. Это может привести к очень запутанному исходному коду, который обычно называют код спагетти. GoSub объявляет простые виды подпрограмм без параметров или локальных переменных. Большинство современных версий BASIC, таких как Microsoft QuickBASIC добавили поддержку полных подпрограмм и функций. Это еще одна область, которой этот язык отличается от многих других языков программирования. BASIC, как Паскаль, делает различие между процедурой, которая не возвращает значение (так называемые подпрограммы) и процедуры, которые возвращают значение (называется функция). Многие другие языки (в частности, C) не делают различия и называют всё функциями (хотя некоторые функции возвращают &amp;quot;пустые&amp;quot; значения и являются процедурами-подпрограммами). &lt;/p&gt;
						&lt;p&gt;Типы данных &lt;br /&gt;БЕЙСИК хорошо известен своей отменной функцией обработки строк. Уже в первых диалектах было множество фундаментальных функций (LEFT$, MID$, RIGHT$) для простой обработки строк. Так как строки часто используются в повседневных приложениях, то это было значительное преимущество перед другими языками в момент появления языка. &lt;br /&gt;Оригинальный Дартмут BASIC поддерживает только числовые и строковые типы данных. В языке не было целого типа данных, вместо этого предполагалось описывать все числа с помощью переменных с плавающей точкой (весщественный тип). Строки были динамической длины. Поддерживались массивы, а также матрицы (двумерные массивы). &lt;br /&gt;В каждом современном диалекте BASIC по крайней мере есть целые и строковые типы данных. Типы данных, как правило, отличаются следующим: строковые идентификаторы содержат в конце $, а целых нет. В некоторых диалектах, переменные должны быть объявлены до первого использование, в других диалектах не требуют этого, но есть возможность проверить его выполнение этого правила, для этого используют директивы, такие как Option Explicit. Многие диалекты также имеют поддержку дополнительных типов, такие как 16 и 32-разрядных целых чисел и чисел с плавающей точкой. Кроме того, некоторые позволяют определять пользовательские типы данных, похожие на Pascal &amp;quot;записи&amp;quot;, или С &amp;quot;структуры&amp;quot;. &lt;br /&gt;Большинство основных диалектов также поддерживает массивы целых чисел или других типов. В некоторых, массивы должны быть предопределенными, прежде чем они могут быть использованы (с заявлением DIM). Поддержка двух и многомерных массивов, а также массивы нецелых типов, являются обычным делом. &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 6em&quot;&gt;&lt;pre&gt;DIM myIntArray (100) AS INTEGER 
DIM myNameList (50) AS STRING&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;В зависимости от диалекта BASIC и по использованию Option Base, значения могут колебаться от myIntArray (0) до myIntArr (100), от myIntArr (1) к myIntArr (100) или из myIntArray (LowInteger) в myIntArray (HighInteger), иными словами номер первого элемента может начинаться с нуля или с единицы . &lt;/p&gt;
						&lt;p&gt;Реляционные и логические операторы &lt;/p&gt;&lt;div class=&quot;code-box&quot;&gt;&lt;strong class=&quot;legend&quot;&gt;Код:&lt;/strong&gt;&lt;div class=&quot;blockcode&quot;&gt;&lt;div class=&quot;scrollbox&quot; style=&quot;height: 16.5em&quot;&gt;&lt;pre&gt;= Равны 
&amp;lt;= меньше или равно 
not логическое отрицание 
&amp;lt;&amp;gt; Не равно
&amp;gt;= больше или равно
and логическое умножение 
&amp;lt; Меньше 
or логическое сложение
&amp;gt; Больше&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;(Обратите внимание, что нет лексического различия между оператором равенства и оператором присваивания в Бейсике - это знак &amp;quot;=&amp;quot;) &lt;/p&gt;
						&lt;p&gt;Доступность и варианты диалектов &lt;br /&gt;Basic доступен практически для любой платформы микропроцессоров. Есть свободный интерпретатор языка, совместимый со стандартами и кросс-платформенный Байуотер BASIC (bwBASIC). Интерпретатор написан на C и поставляется под лицензией GNU. Он предназначен для текстовой консоли программы, и как таковой не включает инструменты для создания графического интерфейса пользователя (GUI). Бесплатный Бейсик, который не включает GUI Builder, похож на Visual Basic и работает на Windows и Linux - это Phoenix Object Basic. &lt;br /&gt;Самые известные версии - это компилируемая версия Microsoft Quick BASIC и QBASIC версия, которая не создает автономные программы. Некоторые версии Visual Basic также могут компилироваться в машинный код. Microsoft сохранила в Visual Basic минимальную совместимость даже с ранними версиями. &lt;br /&gt;Другие версии включают язык программирования PowerBASIC от компании PowerBASIC, а также True BASIC от компании True BASIC, которые совместима с последними официальными стандартами для BASIC. Компания True BASIC была основана одним из создателей Дартмут BASIC. &lt;br /&gt;REALbasic это вариант для Apple Macintosh, которая также создает исполняемые файлы для Microsoft Windows. PureBasic являет вариант с простым синтаксисом, но который производит быстрые и крошечные исполняемые файлы для Windows и Linux. SmallBASIC это диалект, который работает на многих платформах (Win32, DOS, Linux и PalmOS) и поставляется под лицензией GNU (GPL).&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 00:24:41 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=13#p13</guid>
		</item>
		<item>
			<title>Assembler (Ассемблер)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=12#p12</link>
			<description>&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 00:23:25 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=12#p12</guid>
		</item>
		<item>
			<title>Язык программирования ALGOL (АЛГОЛ)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=11#p11</link>
			<description>&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Tue, 17 Apr 2012 00:22:37 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=11#p11</guid>
		</item>
		<item>
			<title>Язык программирования Ada (Ада)</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=9#p9</link>
			<description>&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:46:16 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=9#p9</guid>
		</item>
		<item>
			<title>Как создать веб-страницу и разместить её в интернете?</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=8#p8</link>
			<description>&lt;p&gt;Ваш первый шаг будет состоять в разработке содержания сайта - текст, графика, количество страниц и т.д. Как только вы это сделаете, вы можете использовать редактор HTML (или текстовый редактор для PHP / MySQL и т.д.) и привести все содержаниев в тот вид, который вы хотите. Легко, не так ли? &lt;/p&gt;
						&lt;p&gt;Ваш следующий шаг будет выяснить, как вы хотите, чтобы страницы размещалась. Если у вас есть почта на yandex.ru, то можно воспользвоаться их свободным сервисом http://narod.ru для размещения файлов и получить адрес страницы вида http://ваше_имя.narod.ru где можете разместить свои страницы. Позже Вы можете зарегистрировать собственное доменное имя (например, www.mywebspace.ru) примерно за $ 15 в год и создать хостинг для этого домена с веб-хостинга с использованием различных услуг, которые начинаются примерно в $ 5 в месяц. Имейте в виду, что процесс регистрации изменяется в зависимости от веб-хостинга, так что читайте внимательно их инструкцию. Имейте в виду, что все хосты, будет оказывать поддержку HTML, но если вы хотите использовать PHP или MySQL, то должны убедиться в пакет услуг, который вы покупаете, включено то, что вы хотите использовать. Это, как правило, всегда перечислено в спецификации набора услуг и обычно вам придется докупать дополнительную услугу (в отличие от дорогих тарифов где все включено), чтобы получить поддержку MySQL при программирование для начинающих. &lt;/p&gt;
						&lt;p&gt;После того как вы выбрали и оплатили выбранный тариф, можно начинать настраивать свой веб-сервер и давать указания о том, какую страницу загружать в качестве начальной. Если вы приобрели веб-хостинг вам нужно будет найти бесплатную программу FTP , которая поможет с легкостью передавать файлы, Core FTP это одна из многих условно бесплатных программ, которая проста в настройке и использовании, но и есть много других. Ваша Веб-хостинг компания будет давать указания о том, как настроить клиент FTP и отправлять страницы вашего сайта на сервер, который будет доступ любому посетителю со всего земного шара, вот и все основы программирования. &lt;/p&gt;
						&lt;p&gt;Создание базы данных - если вы собираетесь использовать MySQL для доступа к базе данных, вам нужно создать и настроить базу данных для последующего использования при программировании для чайников. Ваша веб-хостинг компания должна предоставлять инструкции о том, как создать базу данных на своем сервере, и как вы можете подключиться к базе данных и создать таблицы с помощью PHP скриптов как человек изучающий программирование для чайников.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:45:25 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=8#p8</guid>
		</item>
		<item>
			<title>Что нужно знать для создания полезных программ?</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=7#p7</link>
			<description>&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:44:56 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=7#p7</guid>
		</item>
		<item>
			<title>Какие стандартные языки программирования существуют?</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=6#p6</link>
			<description>&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:44:03 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=6#p6</guid>
		</item>
		<item>
			<title>Что мне нужно знать, независимо от языка программирования?</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=5#p5</link>
			<description>&lt;div class=&quot;quote-box hide-box term-login&quot;&gt;&lt;cite&gt;Скрытый текст:&lt;/cite&gt;&lt;blockquote&gt;&lt;p&gt;Для просмотра скрытого текста - &lt;a href=&quot;/login.php&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;войдите&lt;/a&gt; или &lt;a rel=&quot;nofollow&quot; href=&quot;/register.php&quot; target=&quot;_blank&quot;&gt;зарегистрируйтесь&lt;/a&gt;.&lt;/p&gt;&lt;/blockquote&gt;&lt;/div&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:42:48 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=5#p5</guid>
		</item>
		<item>
			<title>Как это работает?</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=4#p4</link>
			<description>&lt;p&gt;Может быть вам и не нужно знать о тех вещах, о которых речь пойдет ниже для того, чтобы начать изучать программирование для чайников. Однако для того, чтобы лучше понимать основы программирования и разбираться, что происходит за занавесом, лучше прочитать. &lt;/p&gt;
						&lt;p&gt;Если вы собираетесь написать полноценную программу на таком языке как Visual Basic, C, C++ или Java, вы пишете, что называется на языке высокого уровня. Это язык, который создан, чтобы читать в легко понимаемом и удобно отформатированном виде, хотя это может и не показаться таковым первых порах для увлеченных Программирование для начинающих! При компиляции программы компилятор сначала проверяет, чтобы убедиться, что программа написана в соответствии со структурой и правилами языка. После т, ваша программа переводится в машинный код, который можно прочитать на компьютере. По сути, машинный код, то, что вы, возможно, видели, а называлось двоичным кодом: &amp;quot;00101101&amp;quot;. Все, что вы напишете в программе переводится до базового уровня - наборы из нулей и единиц, что может быть понято до конца машиной (компьютером) - это основа программирования. &lt;/p&gt;
						&lt;p&gt;Если вы пишете на веб-скриптовом языке, который пользуется популярностью при веб-программировании, как HTML или PHP, процесс немного отличается. В конечном счете, вся программа по-прежнему разбивается на машинный код, так что процессор может его интерпретировать, не смотря на то, что вы создаете сценарий, а не программу, составленную на полноценном языке программирования. Скрипт запускается через специальную программу , которая называется транслятором , а результат выводится на экрана браузера. Такие сценарии (наборы команд) компилируются только по запросу браузера.. &lt;/p&gt;
						&lt;p&gt;Вещи, которые вам не нужно знать на данный момент , но вы можете посчитать их интересными. &lt;/p&gt;
						&lt;p&gt;Есть два основных процесса проектирования программ используемых сегодня: Функциональный (алгоритмический) и объектно-ориентированный: &lt;/p&gt;
						&lt;p&gt;Функциональный дизайн программы был стандартным на протяжении многих лет, и даже сегодня многие вещи можно выполнить с помощью простого функционального подхода. Функциональный подход можно рассматривать таким образом: Хорошо, у меня есть данные; делаю шаг 1; ладно, теперь делаю шаг 2; теперь я должен ли я перейти к шагу 3 или 4?; ладно, переходим к шагу 4. Снова и снова, пока выполнение программы будет завершено. Звучит логично, да? Я думаю так легче всего понять что такое программирование. &lt;/p&gt;
						&lt;p&gt;Функциональному программированию противопоставляют объекстно-ориентированное программирование (ООП), оно считается новой парадигмой в разработке программ. C++ и Java являются наиболее ориентированными на ООП языками, хотя вы все еще можете использовать их в качестве функциональных языков программирования. Я не думаю, что изучение объектно-ориентированного дизайна должно стать приоритетной задачей для изучающих программирование для начинающих. Этот сайт предназначен для вас, тех, кто хочет идти без путаницы. ООП, откровенно говоря, довольно быстро запутывает новичка. После того как новичок понимает функциональное программирование и как оно работает, то, возможно, может начинать изучать ООП и пользоваться его благами. Откровенно говоря, большинству людей никогда не понадобится ООП, чтобы выполнить то, что они хотят. Если у вас есть любознательность, или карьерная необходимость, вы будете держать курс на объектно-ориентированного программирования, в противном случае он будет просто затягягивать появление ваши успехов в написании рабочих программ, которые станут полезными для вас как начинающего в программировании. Если так можно выразиться, то ООП (при хорошем изучении и использовании) позволяет разрабатывать более «элегантный» дизайн и увеличивать полезность своей программы для программистов (не для новичков!). Когда вы начнете переходить к написанию более сложных программ , то вероятно на вашем пути появится ООП. Независимо от того, что скажут снобы или прошедшие путь программирования, можно утверждать, что хорошую карьеру программиста можно сделать, не касаясь темы объектно-ориентированного программирования.&lt;br /&gt;С чего начать?&lt;/p&gt;
						&lt;p&gt;Существуют два основных шага при создании любой программы. Программирующие энтузиасты могут не согласиться со мной, и, с точки зрения серьезной доктрины программирования и они будут правы. Что касается новых пользователей, то им нечего беспокоится. Есть два действия, о которых необходимо знать прямо сейчас. Создание и компиляция. &lt;/p&gt;
						&lt;p&gt;Написание программы распадается на отдельные инструкции, которые должны переводиться компилятором на язык машинных инструкций и выполняться шаг за шагом. Вашим первым шагом при написании программы должно стать выяснение, что вы хотите получить в виде пошаговых действий. Целесообразно это сделать на обычной бумаге (часто называется «псевдокодом»). Как только вы немного попрактикуетесь в этом, то увидите какую ценность представляет данный способ, однако не стоит сейчас об этом сильно беспокоится. Имейте в виду, что когда вы пишете большие программы на 10, 20 или даже 100 шагов и/или функций доступные в рамках программы или пользователя, то отображение схемы на бумаге станет для вас бесценным инструментом. Один имеющийся у вас шаг мы осветили , вам нужно будет написать программу на языке, который вы выбрали. Независимо от языка программирования, который вы выбрали, он будет иметь конкретные слова и стиль для создания программ. Многое для вас в программировании для начинающих будет знакомо, например, мы используем слова, знаки препинания каждый день, этот же принцип присущ программированию, поэтому делать программы будет нетрудно. Хорошая новость заключается в том, что на самом деле у вас не займет много времени знакомство с языком и стилем. Плохая новость заключается в том, что языки сильно различаются степенью многословия и пунктуации! Но не беспокойтесь об этом. На данный момент ваша главная цель овладеть языком, который является наиболее интересным для вас в рамках основ программирования. &lt;/p&gt;
						&lt;p&gt;Второй шаг – это компиляция программы, которая принимает текст написанной вами программы в текстовом виде и переводит его в исполняемый файл (как правило), которые могут быть запущены на машине (то есть переводит в машинный код). Например, если вы написали простую программу для показа картинки в окно, когда вы компилируете программу, то компилятор принимает код, который вы написали и создает исполняемый файл, который запускается одним нажатием на нем в окне для запуска программы при программировании для начинающих. При запуске программы, фотографии начинают показываться, как вы и запрограммировали. &lt;/p&gt;
						&lt;p&gt;После ввода текста программы и компиляции, вы должны проверить свою программу, чтобы увидеть, действительно вы получаете желаемые результаты. Если вы не получаете результатов вы хотите, вам нужно будет проверить свои программы на ошибки (это называется &amp;quot;отладкой&amp;quot;) - все это основа программирования.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:41:41 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=4#p4</guid>
		</item>
		<item>
			<title>Что мне даст программирование для начинающих?</title>
			<link>http://programming.lifeforums.ru/viewtopic.php?pid=3#p3</link>
			<description>&lt;p&gt;Программирование для начинающих - это всегда удовольствие и развлечение. Это стимулирование творческого начала, посредством которого развивается мозг, ставя цель и вырабатывая пути её достижения. &lt;/p&gt;
						&lt;p&gt;Чего бы вы хотели достичь? Для некоторых программирование для чайников это хобби, а для других скука и раздражение. Если вы знаете, что конкретно должна выполнять программа и не хотите её самостоятельно разрабатывать, то сначала можно поискать уже готовую работающую программу в сети Интернет. &lt;/p&gt;
						&lt;p&gt;Если же вы хотите изучить основы программирования, как работает программа и как её создавать, то вы пришли по правильному адресу. &lt;/p&gt;
						&lt;p&gt;Данный сайт поможет выбрать вам правильный язык программирования для новичков, а также обеспечит всеми необходимыми материалами по его изучению. А для продвинутых новичков предлагается рассмотрение нюансов и классических решений. &lt;/p&gt;
						&lt;p&gt;Может быть, вы желаете разрабатывать свои собственные игры, тогда вы опять сделали правильный выбор. И хотя это долгий и трудный путь, но вы почувствуете полное удовлетворение, когда достигнете поставленной цели. На данном сайте есть раздел полностью посвященный разработке игр. &lt;/p&gt;
						&lt;p&gt;А если же у вас уже есть готовая программа, которая, по вашему мнению, достойна занять место в продаже и она уникальна в своем назначении, то здесь вы найдете инструкции по выбору маршрута для достижения желаемого результата.&lt;br /&gt;Что такое программирование для начинающих?&lt;/p&gt;
						&lt;p&gt;&amp;quot;Программирование&amp;quot; представляет собой процесс написания инструкций, который использует язык программирования, которые объяснят компьютеру, что нужно делать. Конечно, объяснение может быть более подробным и сложным, чем это, но это хорошее объяснение основной идеи. Программирование может осуществляться на любой платформе (&amp;quot;платформа&amp;quot; в основном относится к комбинации аппаратного и программного обеспечения вы используете - например, Intel процессор и операционную систему Windows XP), которыми вы наверняка пользуетесь прямо сейчас для прочтения этой странички. . Будем считать, что большинство, скорее всего, использует Windows, но также вы можете написать аналогичные программы для других платформ, таких как: Unix, Linux, MAC или системы эксплуатации.&lt;br /&gt;Смогу ли я научиться программированию для чайников?&lt;/p&gt;
						&lt;p&gt;Хотя большую часть обучающего материала вы можете купить в магазине или посмотреть в Интернете, но обычно она выглядит очень разрозненной, в виде кусков и это трудно понять, хотя программирование не так уж трудно. Любой, кто может следовать своду правил и логически подходить к решению проблемы может писать программы. Любой живущий в современном обществе способен на это! Разработка очень сложных проектов становится все более и более долгой и сложной, но давайте не будем ставить телегу впереди лошади. &lt;/p&gt;
						&lt;p&gt;Чтобы успешно писать программы, вы должны уметь писать инструкции на языке программирования (это правила), и порядок создания этих инструкций (это логика) для достижения результата, который вы хотите. Вы делаете это каждый день, хотя и не замечаете: для приготовления пищи (даже если вы используете СВЧ), вы берете ингредиенты, выполняете несколько шагов, и получаете в результате полностью готовую еду. Чтобы подготовиться лечь в кровать на ночь, вы перед этим выполняете несколько задач спедующих друг за другом - чистите зубы, меняете одежду, ложись в постель и т.д. - и все это делаете в определенном порядке для достижения результата - лечь в кровать для сна. &lt;/p&gt;
						&lt;p&gt;Если вы умеете такие простые вещи, то вы сможете заниматься программированием. В остальном это просто немного практики с правилами написания на языке программирования. &lt;/p&gt;
						&lt;p&gt;Одно из основных правил в программировании - программы не могут читать ваши мысли. При программировании, компьютер сделает лишь то, что вы говорите ему, ни больше, ни меньше. Если программа имеет результат, но не тот, что вы хотели, то вы либо забыл сказать программе что-то, что ей необходимо знать и делать, или сказали ей сделать что-то неправильно или ошибочно. Это может показаться очень простым правилом концепции, но это очень важно иметь в виду, когда задумываете создание программы.&lt;/p&gt;</description>
			<author>mybb@mybb.ru (AdamThomasMoran)</author>
			<pubDate>Mon, 16 Apr 2012 22:41:03 +0400</pubDate>
			<guid>http://programming.lifeforums.ru/viewtopic.php?pid=3#p3</guid>
		</item>
	</channel>
</rss>
