<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Задачи на языке Pascal</title>
		<link>http://pascalchik.ucoz.ru/</link>
		<description>Теория</description>
		<lastBuildDate>Sat, 12 Jan 2013 08:44:10 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://pascalchik.ucoz.ru/blog/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Первая программа на языке программирования Паскаль.</title>
			<description>Следует начать с самого минимума. К примеру давайте напишем программу вычисляющую сложение двух чисел a и b, и равняться это будет числу c. &lt;br /&gt;&lt;br /&gt; Введем понятие &lt;b&gt;переменной&lt;/b&gt;. Переменная это чтото типа икса в математике, переменная может принимать разные значения в ходе выполнения программы. Она должна иметь собственное имя, и служит для хранения какого-либо значения. Имя переменной может состоять из латинских букв, цифр, и символа подчеркивания &quot;_&quot;. Имя переменной может начитаться толко с буквы, и может иметь длину до 250 символов. Регистр букв не учитывается. &lt;br /&gt;&lt;br /&gt; Понятие &lt;b&gt;тип переменной&lt;/b&gt;. Тип переменной определяет значения какого вида могут содержаться в переменной...</description>
			<content:encoded>Следует начать с самого минимума. К примеру давайте напишем программу вычисляющую сложение двух чисел a и b, и равняться это будет числу c. &lt;br /&gt;&lt;br /&gt; Введем понятие &lt;b&gt;переменной&lt;/b&gt;. Переменная это чтото типа икса в математике, переменная может принимать разные значения в ходе выполнения программы. Она должна иметь собственное имя, и служит для хранения какого-либо значения. Имя переменной может состоять из латинских букв, цифр, и символа подчеркивания &quot;_&quot;. Имя переменной может начитаться толко с буквы, и может иметь длину до 250 символов. Регистр букв не учитывается. &lt;br /&gt;&lt;br /&gt; Понятие &lt;b&gt;тип переменной&lt;/b&gt;. Тип переменной определяет значения какого вида могут содержаться в переменной. Значения бывают целочисленные - тип Integer ( .. -2, -1, 0, 1, 2, 3, ... и тд), дробные и другие. на данном этапе мы будем рассматривать только тип Integer, об остальных поговорим позже. &lt;br /&gt;&lt;br /&gt; Для того чтобы объявить переменную дастаточно написать &lt;br /&gt; имя_переменной : тип переменной; &lt;br /&gt; например: &lt;br /&gt; A : Integer &lt;br /&gt;&lt;br /&gt; Если у нас несколько переменных одного типа, то их можно указать через запятую, например: &lt;br /&gt; A, B, C: Integer; &lt;br /&gt;&lt;br /&gt; После объявления переменных обязательно нужно поставиь точку с запятой (;). &lt;br /&gt;&lt;br /&gt; Все переменные определяются в начале программы, после ключевого слова var. После окончания введения переменных, нужно написать ключевое слово begin, а затем вводить инструкции для выполнения программы. &lt;br /&gt; Программа оканчивается ключевым словом end. &lt;br /&gt;&lt;br /&gt; После того как переменные определены, им можно присваивать значения. Присваиваение осуществляется так: &lt;br /&gt; имя_переменной := значение_переменной; &lt;br /&gt;&lt;br /&gt; значение_переменной может быть определенным числом, другой переменной, или арифметические действия с перменными или числами. &lt;br /&gt; Например: &lt;br /&gt; A = 10; &lt;br /&gt; C = A + B; &lt;br /&gt; После выражения обязательно ставится &quot;;&quot; &lt;br /&gt;&lt;br /&gt; Теперь приступим к написанию полной программы для вычисления суммы чисел. &lt;br /&gt;&lt;br /&gt; var &lt;br /&gt; A, B, C: Integer; &lt;br /&gt; begin &lt;br /&gt; A := 5; &lt;br /&gt; B := 2; &lt;br /&gt; C := A + B; &lt;br /&gt; end. &lt;br /&gt;&lt;br /&gt; Важно помнить что после выражений ставиться &quot;;&quot;, а после служебных слова(var, begin, end) ничего ставить не нужно. &lt;br /&gt;&lt;br /&gt; Программа написано, теперь нужно ее скомпилировать. Для этого нажмем клавиши Ctrl + F9, и если вы все правильно написали то окно редактора слегка мигнет. На самом деле программа скомпилировалась и выполнилась, открылось черненькое окошко и так как мы не указывали прогамме команды вывод на экран, оно будет пустым. Программа мгновенно посчитала выражения, и завершила свою работу. &lt;br /&gt; О том как выводить на экран переменне, текст, мы поговрим в следующем уроке. &lt;br /&gt; Если вы ошиблись в чем то, например не поставили точку с запятой там где это было нужно, то паскаль не скомпилирует и не выполнит программу, а переместит курсор в строку, туда где совершена ошибка, и выдаст что за ошибка произошла. Например, может быть такое сообщение: &lt;br /&gt; Error 85: &quot;;&quot; expected. &lt;br /&gt; Эта ошибка означет, что вы забыли поставить точку с запятой. &lt;br /&gt; Внимательно пришите свой код, чтобы исбежать таких ошибок, это сэкономит вам время и силы. &lt;img src=&quot;http://s72.ucoz.net/sm/1/smile.gif&quot; border=&quot;0&quot; align=&quot;absmiddle&quot; alt=&quot;smile&quot; /&gt;</content:encoded>
			<link>https://pascalchik.ucoz.ru/blog/pervaja_programma_na_jazyke_programmirovanija_paskal/2013-01-12-4</link>
			<dc:creator>Ghost</dc:creator>
			<guid>https://pascalchik.ucoz.ru/blog/pervaja_programma_na_jazyke_programmirovanija_paskal/2013-01-12-4</guid>
			<pubDate>Sat, 12 Jan 2013 08:44:10 GMT</pubDate>
		</item>
		<item>
			<title>Рекурсия. что это и зачем.</title>
			<description>&lt;b&gt;Объект называется рекурсивным, если он содержит сам себя или определен с помощью самого себя.&lt;/b&gt; &lt;u&gt;Рекурсия&lt;/u&gt; встречается не только в математике, но и в обыденной жизни. Каждый сталкивается с рекурсией, когда стоит с зеркальцем перед большим зеркалом. Рекурсия встречается обычно и в природе: деревья имеют рекурсивное строение (ветки образуются из других веток), реки образуются из впадающих в них рек. Клетки делятся рекурсивно. Продолжение жизни связано с рекурсивным процессом. Молекулы ДНК и вирусы размножаются, копируя себя, живые существа имеют потомство, которое в свою очередь, тоже имеет потомство и т. д. Рекурсия распространена и в языке, и в поведении так же, как и в способах ра...</description>
			<content:encoded>&lt;b&gt;Объект называется рекурсивным, если он содержит сам себя или определен с помощью самого себя.&lt;/b&gt; &lt;u&gt;Рекурсия&lt;/u&gt; встречается не только в математике, но и в обыденной жизни. Каждый сталкивается с рекурсией, когда стоит с зеркальцем перед большим зеркалом. Рекурсия встречается обычно и в природе: деревья имеют рекурсивное строение (ветки образуются из других веток), реки образуются из впадающих в них рек. Клетки делятся рекурсивно. Продолжение жизни связано с рекурсивным процессом. Молекулы ДНК и вирусы размножаются, копируя себя, живые существа имеют потомство, которое в свою очередь, тоже имеет потомство и т. д. Рекурсия распространена и в языке, и в поведении так же, как и в способах рассуждения и познания. Рекурсия в языке, например, может быть в структуре или в содержании: &lt;br /&gt; _Петя сказал, что Вася сказал, что..._ &lt;br /&gt; _Знаю, что знаю, но не помню_ &lt;br /&gt; _Сделать; заставить сделать; заставить, чтобы заставили сделать;..._ &lt;br /&gt; _Замени x этим предложением_ &lt;br /&gt; _Запомни и передай это сообщение_ &lt;br /&gt; . . . &lt;br /&gt; Литературным примером может служить &quot;рассказ в рассказе&quot;, как-то: известное стихотворение &quot;У попа была собака,...&quot; , роман Яна Потоцкого &quot;Рукопись, найденная в Сарагосе&quot;, рассказ Хулио Кортасара _Непрерывность парков_ или рассказ Виктора Пелевина _Водонапорная башня_ (и по форме - состоит из одного предложения и по содержанию). Музыкальные формы и действия также могут быть рекурсивными во многих отношениях (например, канон, в котором мелодия сопровождается той же мелодией с задержкой, и другие). Целенаправленное поведение и решение проблем так же являются рекурсивными процессами. &lt;br /&gt; Рекурсия в программировании - один из важнейших принципов построения подпрограмм. Если процедура P содержит явное обращение к самой себе, то она называется прямо рекурсивной; если P содержит обращение к процедуре Q , которая содержит (прямо или косвенно) обращение к P, то P называется косвенно рекурсивной. Поэтому использование рекурсии не всегда сразу видно из текста программы. С процедурой принято связывать некоторое множество локальных объектов, т. е. переменных, констант, типов и процедур, которые определены локально в этой процедуре, а вне ее не существуют или не имеют смысла. Каждый раз, когда такая процедура рекурсивно вызывается, для нее создается новое множество локальных переменных. Хотя они имеют те же имена, что и соответствующие элементы множества локальных переменных, созданного при предыдущем обращении к этой же процедуре, их значения различны. Следующие правила области действия идентификаторов позволяют исключить какой-либо конфликт при использовании имен: идентификаторы всегда ссылаются на множество переменных, созданное последним. То же правило относится к параметрам процедуры. Подобно операторам цикла, рекурсивные процедуры могут приводить к бесконечным вычислениям. Поэтому для того, чтобы работа процедуры когда-либо завершилась, необходимо, чтобы рекурсивное обращение к процедуре подчинялось некоторому логическому условию, которое в какой-то момент перестает выполняться.</content:encoded>
			<link>https://pascalchik.ucoz.ru/blog/rekursija_chto_ehto_i_zachem/2013-01-07-3</link>
			<dc:creator>Ghost</dc:creator>
			<guid>https://pascalchik.ucoz.ru/blog/rekursija_chto_ehto_i_zachem/2013-01-07-3</guid>
			<pubDate>Mon, 07 Jan 2013 16:20:14 GMT</pubDate>
		</item>
		<item>
			<title>Графические изображения в Турбо Паскале</title>
			<description>Для формирования графических изображений в Турбо Паскале предназначен стандартный библиотечный модуль GRAPH. В нем содержится 79 графических процедур, функций, десятки стандартных констант и типов данных. Все они составляют единый комплекс средств, позволяющих разрабатывать профессиональные программные продукты. &lt;br /&gt; Прежде чем работать с графикой, необходимо установить наиболее подходящий для монитора видеорежим. Турбо Паскаль имеет фиксированное число драйверов, каждый из которых поддерживает от одного до трех видеорежимов. Тип драйвера и режим могут быть заданы как число или кА символическая константа типа. &lt;br /&gt; Для построения изображения на экране используется система координат. Отсч...</description>
			<content:encoded>Для формирования графических изображений в Турбо Паскале предназначен стандартный библиотечный модуль GRAPH. В нем содержится 79 графических процедур, функций, десятки стандартных констант и типов данных. Все они составляют единый комплекс средств, позволяющих разрабатывать профессиональные программные продукты. &lt;br /&gt; Прежде чем работать с графикой, необходимо установить наиболее подходящий для монитора видеорежим. Турбо Паскаль имеет фиксированное число драйверов, каждый из которых поддерживает от одного до трех видеорежимов. Тип драйвера и режим могут быть заданы как число или кА символическая константа типа. &lt;br /&gt; Для построения изображения на экране используется система координат. Отсчет начинается от верхнего левого угла экрана, который имеет координаты (0;0). Значение Х (столбец) увеличивается слева направо , значение Y (строка) увеличивается сверху вниз.</content:encoded>
			<link>https://pascalchik.ucoz.ru/blog/graficheskie_izobrazhenija_v_turbo_paskale/2013-01-06-2</link>
			<dc:creator>Ghost</dc:creator>
			<guid>https://pascalchik.ucoz.ru/blog/graficheskie_izobrazhenija_v_turbo_paskale/2013-01-06-2</guid>
			<pubDate>Sun, 06 Jan 2013 16:14:10 GMT</pubDate>
		</item>
		<item>
			<title>Динамическая память, указатели, сегмент</title>
			<description>&lt;b&gt; Динамическая память &lt;/b&gt;– это оперативная память компьютера, предоставляемая программе при ее работе, за вычетом сегмента данных (64 Кбайта), стека (16 Кбайта) и собственно тела программы. Размер динамической памяти определяется всей доступной памятью компьютера и составляет 200…400 Кбайт. &lt;br /&gt; Решение проблемы экономного расходования памяти состоит в том, чтобы не резервировать заранее максимальный объем памяти для размещения данных, а предварительно определив тип данных , создавать новый экземпляр данных всякий раз, когда в нем возникает необходимость. Такие переменные, которые создаются и уничтожаются в процессе выполнения программы, называются динамическими. &lt;br /&gt; Все рассмотренны...</description>
			<content:encoded>&lt;b&gt; Динамическая память &lt;/b&gt;– это оперативная память компьютера, предоставляемая программе при ее работе, за вычетом сегмента данных (64 Кбайта), стека (16 Кбайта) и собственно тела программы. Размер динамической памяти определяется всей доступной памятью компьютера и составляет 200…400 Кбайт. &lt;br /&gt; Решение проблемы экономного расходования памяти состоит в том, чтобы не резервировать заранее максимальный объем памяти для размещения данных, а предварительно определив тип данных , создавать новый экземпляр данных всякий раз, когда в нем возникает необходимость. Такие переменные, которые создаются и уничтожаются в процессе выполнения программы, называются динамическими. &lt;br /&gt; Все рассмотренные ранее типы данных содержат непосредственно данные, размещенные в памяти компьютера. Для организации динамической памяти применяются особые переменные, называемые указателями. Назначение их состоит в том, чтобы указывать местоположение какой – либо другой переменной заранее определенного типа. Таким образом, указатель – это переменная, которая в качестве своего значения содержит адрес первого байта памяти, по которому записаны данные. Сам по себе указатель занимает в памяти всего 4 байта, а данные, на которые он указывает, могут простираться в памяти на десятки килобайт. Переменной, на которую указывает указатель, не обязательно присваивать какое – либо имя. К ней можно обращаться через имя указателя, потому она называется ссылочной переменной. &lt;br /&gt; &lt;b&gt;Указатели&lt;/b&gt;, содержащие адрес, по которому записана переменная заранее определенного типа, называются типизированными. Для объявления типизированного указателя используется знак ^, который помещается перед соответствующим типом. &lt;br /&gt; Описание типов указателей – единственное исключение из общего правила, согласно которому все идентификаторы должны быть описаны перед использованием. Однако если базовый тип является еще не объявленным идентификатором, то он должен быть объявлен в той же самой части объявления, что и тип «указатель». &lt;br /&gt; Реально значения ссылочных типов содержат адреса расположения в памяти конкретных значений базового типа. В персональном компьютере адреса задаются совокупностью двух шестнадцатиразрядных слов, которые называются сегментом и смещением. &lt;b&gt;Сегмент&lt;/b&gt; – это участок памяти, имеющий длину 65536 байт (64 Кбайта) и начинающийся с физического адреса, кратного 16 (0,16,32,48 и т.д.). Смещение указывает, сколько байт от начала сегмента необходимо пропустить, чтобы обратиться к нужному адресу. Таким образом, по своей внутренней структуре любой указатель представляет собой совокупность двух слов (данных типа Word), трактуемых как сегмент и смещение, а абсолютный адрес образуется следующим образом: сегмент*16+смещение. &lt;br /&gt; В Турбо Паскале можно объявлять указатель и не связывать его при этом с каким - либо конкретном типом данных. Для этого служит стандартный тип pointer. Он обозначает нетипизированный указатель, т.е. указатель, который не указывает ни на какой определенный тип. С помощью нетипизированных указателей удобно динамически размещать данные, структура и тип которых меняются в ходе программы.</content:encoded>
			<link>https://pascalchik.ucoz.ru/blog/dinamicheskaja_pamjat_ukazateli_segment/2013-01-06-1</link>
			<dc:creator>Ghost</dc:creator>
			<guid>https://pascalchik.ucoz.ru/blog/dinamicheskaja_pamjat_ukazateli_segment/2013-01-06-1</guid>
			<pubDate>Sun, 06 Jan 2013 16:11:35 GMT</pubDate>
		</item>
	</channel>
</rss>