Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Систематическое программирование




I. Программирование на CF Pascal

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

 

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

 
 

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

 

Каким образом программа (список инструкций) размещается в компьютере? Во-первых, программа должна быть написана на в форме понятной компьютеру – на языке программирования. Компьютер должен уже иметь программу для чтения и распознавания инструкций языка программирования как входных данных. Программа, которая читает инструкции на языке программирования и готовит их для выполнения на компьютере, называется компилятором. В этом курсе используется Паскаль, язык программирования, разработанный Николасом Виртом. Компилятор Паскаля преобразует последовательность инструкций на языке программирования Паскаль в машинную программу для компьютера. Таким образом, выполнение Паскаль-программы обычно требует двух стадий. На Cтадии 1, Паскаль-программа является входными данными для компилятора, а полученная в результате компиляции машинная программа – выходными. На Стадии 2 только что созданная машинная программа преобразует входные данные (задачу) в выходные данные (решение).

Стадии выполнения Pascal-программы
  Стадия 1 Стадия 2
INPUT Pascal-программа Исходные данные
Программа Компилятор Pascal Машинная программа
OUTPUT Машинная программа Результат

 

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

 

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

 

Систематическое программирование

 

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

К несчастью, мы знаем, что таким образом нельзя научиться печатать профессионально. Через год Вам также потребуется день для того, чтобы напечатать документ в пять страниц, но Вы ожидали, что сможете делать эту работу за час, а не за день. Что здесь не так?

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

Программировать сложнее, чем печатать на машинке. Один день в обучении печати как несколько недель в обучении программированию. Вы можете напечатать свое первое письмо за день, и написать свою первую программу за неделю. Если Вам объяснят как работает компьютер, вы методом проб и ошибок сможете научиться писать простые программы делая то, что получается естественным образом.

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

 

CF (Character&File) Pascal

 

В части I данного курса программирование рассматривается как деятельность по решению задач с помощью языка CF Pascal. CF Pascal (Character&File Pascal) – язык программирования, являющий подмножеством языка программирования Pascal, использующий один тип данных - символьный и одну структуру данных – текстовый файл.

CFP нужен для того, чтобы сконцентрироваться на программировании как таковом и избежать соблазна удариться в изучение языка программирования Pascal.

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

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

Компьютеры подчиняются законам физики и электроники, но не законам арифметики. Арифметика в компьютерах следствие продуманного инженерного проектирования, которые заставили электронные приборы моделировать вычислительные операции, которые необходимы пользователям. Фактически, компьютер читает и пишет только символьные последовательности – его интерфейс с человеком. Цифра 7 и число 7 для человека то же самое, что символ 7 для компьютера. Ограничение до символов в CF Pascal не исключает операции с числами, оно просто делает основы для операций с числами более явными.

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

Концентрация на двух ключевых идеях программирования: символах и последовательностях позволит проиллюстрировать и важные концепции и принципы программирования в простом контексте. Научившись решать задачи на CF Pascal, вы без труда будет их решать используя полный Pascal или другой язык программирования.


ВВЕДЕНИЕ В CF-Pascal

 

Обучение чтению простых программ, написанных на CFP, определение действий компьютера, задаваемых этими программами.

 

Pascal-программа (PP) – записанное множество операторов, заданное для выполнения компьютером, написанное на языке Pascal.

 

Pascal-машина (PM) – любая комбинация аппаратно-программных средств, способная выполнить Pascal-программу.

 

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

 

Программа PrintHello

 

PROGRAM PrintHello(INPUT, OUTPUT);

BEGIN

WRITELN(‘HELLO’)

END.

 

OUTPUT: HELLO

 

Форма, в которой представлена программа, называется синтаксисом.

 

Данная программа имеет заголовок и оператор ВEGIN. Эти части есть в синтаксисе любой Паскаль-программы. Слова PROGRAM, INPUT, OUTPUT, BEGIN, WRITELN, END – стандартные слова языка Pascal.

Знаки пунктуации и скобки должны размещаться именно так как размещаются.

 

Стандартное слово WRITELN указывает Паскаль-машине вывести строку текста.

Стандартное слово INPUT – имя входных данных программы, которые в данном случае не используются

Стандартное слово OUTPUT – имя выходных данных программы, которые будут распечатаны как результат работы программы

Стандартные слова PROGRAM BEGIN END указывают Паскаль-машине границы исполняемой части программы. Точка символизирует конец программы.

 

Название программы – идентификатор, начинается с буквы, не содержит пробелов. Название программы не влияет на результат выполнения но оно должно быть достаточно информативным для других программистов, которые будут читать эту программу.

‘HELLO’ символьная строка, апострофы, расположенные внутри символьной строки, удваиваются.

 

Выражение – комбинация стандартных слов языка Паскаль, переменных, литералов, знаков пунктуации, допустимая синтаксисом языка Паскаль.

 

Оператор – комбинация выражений, допустимая синтаксисом языка Паскаль.

 

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...