Главная Фотогалерея Скачать Викторина Форум О нас
Главная arrow Спорт и общество arrow Люблю Паскаль, пишу на Паскале, думаю на Паскале
Серьезный спорт ни имеет ничего общего с честной игрой. Серьезный спорт — это война минус убийство.
Джордж Оруэлл

Люблю Паскаль, пишу на Паскале, думаю на Паскале

Версия для печати Отправить на e-mail
Рейтинг: / 1
ХудшаяЛучшая 
Написал Алексей Абрамов   
28.02.2010 г.

Люблю Паскаль, пишу на Паскале, думаю на Паскале.

Написать эту заметку, которая, возможно будет иметь и продолжение сподвиг неподдельный интерес молодых (я бы даже сказал: «очень молодых») контуровцев к программированию.

В XXI веке в каждой школе, в каждом учебном заведении в обязательном порядке изучают информатику. Где-то хорошо, где-то плохо, где-то вовсе безобразно. Такое «разнообразие» возникает потому, что и ученики и преподаватели подразумевают под понятием «информатика» совсем разные вещи.

 

Я же буду писать конкретно – о программировании. То есть о технологии моделирования окружающего мира в виде компьютерных программ с целью его познания, изучения и в конечном счете – облегчении процесса управления.

Книг по Паскалю написано очень много. Среди них множество просто замечательных. Наверное, и я буду «изобретать велосипед». А может получиться и так, что мое изложение – изложение программиста и педагога окажется кому-то самым доступным и станет первым шагом в освоении будущей профессии.

Человечество изобрело множество языков для общения с компьютером. Форт и Фортран, Модула и Симула, Си и Си++, Джава и Перл, Питон и ПХП, Бейсик, Лисп, Пролог, наконец – ассемблер… Никаких страниц не хватит чтобы перечислить все алгоритмические языки.

Скажу честно, приходилось писать на Бейсике, Клипере, Фреде, ПХП, разных ассемблерах, C++, Фортране, и конечно Паскале. Признаюсь, что на каком бы языке не приходилось программировать – задачу я все равно продумывал и формулировал на Паскале. Вообще Н. Вирт придумал замечательный язык. Паскаль позволяет общаться с компьютером на языке очень близком к естественному, вместе с тем, он позволяет при необходимости учитывать особенности архитектуры компьютера и работать с самыми разными внешними устройствами. А если вдруг оказывается, что у Паскаля не хватает низкоуровневых средств – на помощь придет поддерживаемая всеми компиляторами директива asm после которой можно написать фрагмент программы прямо на ассемблере.

Но, ближе к делу.

Компьютерная программа выполняется электронным устройством, которое называется процессор. (Часто «процессором» называют системный блок – это неверно). Процессор включает в себя регистры и арифметико-логическое устройство. Поскольку любая программа работает с некими данными, эти данные размещаются в оперативной памяти компьютера. Сама программа, впрочем, тоже загружается в память.

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

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

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

При выполнении команд условных и безусловных переходов в счетчик записывается адрес перехода.

Компьютерное программирование тесно связано с таким понятием как «код». Программный код, кодирование адреса, кодирование символов и чисел. Любой объект, с которым работает программист должен быть закодирован. Железо компьютера понимает только язык электрических сигналов. Есть напряжение на проводочке или его нет. Принято считать, что если напряжение есть – то это означает «1», а если его нет – то «0».

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

Как записываются в двоичной системе целые числа? Очень просто:

1 – 1

2 – 10

3 – 11

4 – 100

5 – 101

6 – 110

и так далее.

Чтобы перевести двоичное число в его десятичное представление нужно последнюю цифру умножить на 1 и прибавить к ней предпоследнюю цифру, умноженную на 2, следующую цифру, умноженную на 4, далее на 8, 16, 32 … То есть на степени двойки.

Существуют специальные соглашения для представления отрицательных чисел, дробей. Есть таблицы кодирования символов.

Размер памяти измеряется в битах. Бит – это одна элементарная двоичная ячейка в которую может быть записан ноль или единица. Восемь битов – составляют байт. Каждая ячейка памяти компьютера может занимать один или несколько байт. Размер ячейки памяти определяется конструкцией процессора и, конечно, операционной системой компьютера. Ваш компьютер, скорее всего, работает с четырехбайтными ячейками – 32 двоичных разряда.

Адрес тоже кодируется двоичными разрядами. Чем больше бит отводится для адреса, тем больше ячеек можно адресовать.

А что делать, если число не помещается в одну ячейку? Все очень просто – тогда используется несколько ячеек следующих подряд.

Представьте себе работу программиста на заре компьютерной эпохи. Программа представляла собой длиннющий список двоичных чисел. Даже если записывать команды в более компактной, шестнадцатеричной форме, все равно запомнить такие команды и разобраться в этой абракадабре нелегко. Поэтому был изобретен ассемблер. Ассемблер – это и язык и программа. Язык ассемблера заменяет команды понятные процессору, на мнемонические сокращения понятные программисту. MOV – переслать, ADD – сложить, SUB – вычесть. А программа – ассемблер превращает эти команды (транслирует) в машинный код. Программировать на ассемблере немного приятнее, чем в машинных кодах. Но гораздо приятнее программировать на языках высокого уровня, поручая всю работу по переводу программ в машинный код, специальным программам – компиляторам…

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

У программистов есть традиция – изучение любого языка начинается с программы «Hello World!». «Здравствуй, мир!» — пишет на дисплее первая программа. Не будем отклоняться от традиции:

 

Program Hello;

begin

     Writeln (‘Hello World’);

end.

 

Первая строчка программы обозначает, что в данном файле расположена программа с именем Hello. По правилам pascal, имя программы (модуля, библиотеки) должно совпадать с именем файла, в котором эта программа записана. Нашу программу мы должны поместить в файл с именем hello.pas.

Begin – обозначает начало собственно программного кода.

Далее следует вызов процедуры writeln, выводящую на экран строчку текста. Сам текст заключается в одинарные кавычки.

End с точкой – завершает программный модуль.

 

 

 

 

 

Комментарии  

 
+1 #1 контуровец 2010-08-18 14:39 сколько сайтов посетил но так подробно об этом я ещё не где не встречал Цитировать
 

Добавить комментарий


Защитный код
Обновить

< Пред.   След. >

На нашем сайте много полезной информации. Возможно Вас заинтересуют и эти странички:

Где купить разрядные значки и книжки

Расписание электричек. Самара, 2011 г.


......
Rambler's Top100
RSS-лентаRSS20

Данный ресурс является официальным сайтом Самарской городской общественной организации `Детско-молодежный спортивно-технический клуб `Контур` и не имеет никакого отношения к официальным интернет-ресурсам РОСТО (ДОСААФ) и Союза Радиолюбителей России.Публикуемые материалы выражают точку зрения авторов, которая может не совпадать с точкой зрения спортивного клуба `Контур` и тем более с позицией руководящих органов СРР.

Рейтинг O-сайтов на O-sport.ru Экстремальный портал VVV.RU Яндекс цитирования
Система Orphus