Алгоритмизация и программирование




Скачать 109.36 Kb.
НазваниеАлгоритмизация и программирование
ТипДокументы
rykovodstvo.ru > Руководство эксплуатация > Документы

ГЛАВА 3.

АЛГОРИТМИЗАЦИЯ И ПРОГРАММИРОВАНИЕ



§3.1. ПРОГРАММИРОВАНИЕ КАК ФОРМАЛЬНЫЙ СПОСОБ ЗАПИСИ АЛГОРИТМОВ

!


Алгоритм - это совокупность строгих предписаний-приказов для исполнителя, выполняя которые он (исполнитель) может достичь цели, в частности решить задачу.


!


Исполнитель - это объект или субъект, который способен выполнять какие-то действия, выполняя заданный алгоритм.

Каждый исполнитель имеет свою систему команд, то список того, что он умеет выполнять.

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

Исполнители можно разделить на неформальные (человек) и формальные (робот, компьютер или язык программирования).

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

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

Существует несколько способов записи алгоритмов (представления алгоритма), отличающихся друг от друга наглядностью, компактностью, степенью формализации и другими показателями.

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

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

В виде программ для компьютера – значит на любом алгоритмическом языке программирования (Бейсик, Паскаль,Си++ т.д.), когда исполнителем является компьютер.

 Блок-схема – последовательность блоков, соединенных линиями передачи.
Формальный способ записи алгоритма – это алгоритм, составленный для формального исполнителя.

Компьютер, являясь формальным исполнителем алгоритмов по обработке информации, может выполнять такие предписания, которые записаны на понятном ему языке, с учетом того, что он воспринимает информацию в виде цифр (0 и 1). Такими языками являются языки программирования, где каждая команда – директива для процессора на выполнение определённого действия.

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




?



  1. Что такое алгоритм?

  2. Какие бывают исполнители алгоритмов?

  3. В чем отличия формального и интеллектуального исполнителей?

  4. Какие существуют способы записи алгоритма?

  5. Может ли программа быть способом записи алгоритма?

  6. Что нужно помнить при составлении программы для компьютера?




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

§3.2. АЛГОРИТМИЧЕСКИЙ ЯЗЫК ПРОГРАММИРОВАНИЯ ПАСКАЛЬ.

АЛФАВИТ И СИНТАКСИС ЯЗЫКА ПРОГРАММИРОВАНИЯ

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

Паскаль – алгоритмический язык программирования, созданный Никлаусом Виртом в 1968—1969 годах.

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

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



!




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

Алфавит Турбо Паскаль включает следующий набор основных символов: 

  • строчные и прописные латинские буквы:

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

a b c d e f g h i j k l m n o p q r s t u v w x y z

  • пробел 

  • подчеркивание: _

  • арабские цифры:

0 1 2 3 4 5 6 7 8 9

  • знаки операций:

+ - * / = <> < > <= >= := @

  • ограничители:

. , ' ( ) [ ] (. .) { } (* *) .. : ;

  • спецификаторы:

^ # $

  • служебные (зарезервированные) слова:

ABSOLUTE EXPORTS LIBRARY SET ASSEMBLER EXTERNAL MOD SHL  AND FAR NAME SHR  ARRAY FILE NIL STRING  ASM FOR NEAR THEN  ASSEMBLER FORWARD NOT TO  BEGIN FUNCTION OBJECT TYPE CASE GOTO OF UNIT CONST IF OR UNTIL CONSTRUCTOR IMPLEMENTATION PACKED USES DESTRUCTOR IN PRIVATE VAR DIV INDEX PROCEDURE VIRTUAL DO INHERITED PROGRAM WHILE DOWNTO INLINE PUBLIC WITH ELSE INTERFACE RECORD XOR END INTERRUPT REPEAT EXPORT LABEL RESIDENT
Замечание: Буквы русского алфавита используются только как константы (в кавычках). Например, ‘Русский язык’



!




Синтаксис – это правила построения фраз языка, позволяющие определить, правильно или неправильно написана та или иная фраза, т.е. набор правил построения осмысленных предложений.

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

В синтаксисе языка предусмотрены следующие метасимволы:

<> — служат для выделения нетерминалов — понятий языка.

| — «или». Разделяет альтернативные правые части правил.

— «есть по определению». Заменяет стрелку.

Элементарные конструкции языка Паскаль включают в себя имена, числа и строки.

Идентификаторы - это условное обозначение, имя объекта. Даются константам, меткам, типам, переменным, процедурам, функциям, модулям, объектам.

Идентификатор в Турбо Паскале может включать в себя:

- буквы латинского алфавита,

- цифры,

- символ подчеркивания.

Строчные и прописные буквы не различаются (например, NAME, Name и name будет означать одно и то же). Цифра не может стоять на первом месте в идентификаторе, а символ подчеркивания может находиться в любой позиции

Например, name1 и name2item являются допустимыми идентификаторами, а 5name - нет; _name, name_, name_item - тоже допустимые названия.

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

- перевод строки;

- комментарий.

В любом месте программы, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании, что позволяет наглядно представить структуру программы.
Комментарии заключаются либо в скобки { ... }, либо в скобки вида (* ... *) и могут занимать любое число строк.
Числа в языке Паскаль обычно записываются в десятичной системе счисления. Они могут быть целыми и действительными. Положительный знак числа может быть опущен. Целые числа записываются в форме без десятичной точки, например:

217 -45 8954 +483

Действительные числа записываются в форме с десятичной точкой:

28.6 0.65 -0.018 4.0

Возможна также запись с использованием десятичного порядка, который изображается буквой Е:

5Е12 -1.72Е9 73.1Е-16

В "переводе" такую запись следует понимать соответственно как:

5x1012 -1.72x109 73.1x10-16

Паскаль допускает запись целых чисел и фрагментов действительных чисел в форме с порядком в шестнадцатиричной системе счисления:

$7F $40 $ABC0

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

Примеры строк:

'СТРОКА' 'STRING' 'ПРОГРАММА' 'АД' 'ЮТАНТ'





?



  1. Почему язык Паскаль называется алгоритмическим?

  2. Что не содержит алфавит Паскаля, но может присутствовать в программе, составленной на этом языке?

  3. Перечислите элементарные конструкции языка Паскаль.




Составьте реферат на тему «История создания алгоритмического языка Паскаль»

§3.3. ПРОГРАММА И ЕЕ СТРУКТУРА



!




Программа – это формализованное описание алгоритма решения задачи для компьютера, как исполнителя. Программа состоит из набора команд – операторов языка программирования. Структура программы зависит от языка программирования.


Программа на языке Паскаль состоит из двух частей (раздел описание и раздел операторов) и имеет следующую структуру:

.

Обязательной частью программы является лишь тело программы (раздел операторов), которое начинается словом begin, а заканчивается словом end с точкой. Операторы в Паскале заканчиваются точкой запятой. Заголовок программы является хотя и необязательным, но желательным элементом и состоит из зарезервированного слова program и идентификатора - имени программы, за котором следует точка с запятой. Порядок объявлений и описаний не регламентируется.
Пример : Простейшая программа.

program prim_1; { демонстрация структуры программы}

{эта программа не требует никаких объявлений и описаний}

begin

write('Привет! Вот мы и начали.') (* эта строка текста появится на экране *)

end.
Программа - это набор команд (инструкций), которые управляют работой компьютера и записываются в теле программы между словами begin и end.
Инструкции записываются в виде строк в редакторе программной среды Pascal (например, Turbo Pascal 7) и являются законченными командами.

Команды могут заставить компьютер:

  • получить от пользователя какие то данные. (Ввод)

  • отобразить данные на экране, записать в файл, распечатать на принтере, передать в сеть. (Вывод)

  • выполнить какие то  действия, например: арифметические, алгебраические,  логические. (Вычислительные выражения).

  • перескочить в программе с одного места на другое или выполнить какой-то блок команд многократно (Ветвление и цикл).

  • команды записываются на языке программирования и, фактически, состоят из операторов и параметров:

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

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


!




Оператор – выполняемая инструкция (команда исполнителя Паскаль).

Операторы делятся на:

  • операторы присваивания, например А:=2+D$;

  • структурные операторы (ветвление, циклы);

  • составные операторы (группа операторов между begin … end;):

Begin

Оператор 1; Оператор 2; … Оператор n;

End;

  • пустой оператор – оператор Begin End;, не выполняющий никакого действия.

  • нестандартные операторы;


!




Нестандартный оператор – это процедура (подпрограмма), содержащиеся одном из стандартных модулей.


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

Паскаль имеет 8 стандартных модулей, осуществляют поддержку программ написанных на языке Паскаль. Чаще всего используются модули SYSTEM, CRT, GRAPH:

  • В модуль System входят все процедуры и функции стандартного Паскаля, а также много дополнительных подпрограмм общего характера, ориентированные на конкретную операционную среду.

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

  • Модуль Graph объединяет многочисленные программные средства управления графическим режимом работы дисплея. Данный модуль позволяет создавать разнообразные и эффективные графические программы.

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

Пример описания модуля:

Uses Crt, Graph;
Различают две формы записи операторов:

  • запись оператора в тексте программы,

  • описание структуры оператора, т.е. концентрированное выражения всех возможностей оператора.

Пример записи структуры оператора присваивания:

<переменная>:=<выражение>





?



  1. Что такое программа?

  2. Из каких частей состоит программа, составленная на языке Паскаль?

  3. Что описывается в разделе описаний программы?

  4. Какими словами начинается и заканчивается раздел операторов в программа?

  5. Что такое оператор?

  6. Какие бывают типы операторов?

  7. Может ли оператор ничего не выполнять?

  8. Как называется конструкция из нескольких операторов между словами Begin и end?

  9. Каким символом должен заканчиваться каждый оператор?

  10. Что такое структура оператора?

  11. Что такое модуль?

Похожие:

Алгоритмизация и программирование icon12 Достижения компьютерной техники 15 Программирование
Программирование 3

Алгоритмизация и программирование iconРабочая программа спецкурса Олимпиадное программирование 8 и класс...
Рабочая программа элективного курса «Олимпиадное программирование» для 8 специализированного класса инженерно-технологической направленности...

Алгоритмизация и программирование icon«Системное программирование»
Магистерская программа «Системное программирование» сочетает в себе академический подход к изучению предметной области с практической...

Алгоритмизация и программирование icon02 «Фрезерные работы на станках с чпу» cnc milling Чемпионат juniorSkills
К основным навыкам современного оператора станка с чпу относится наладка и эксплуатация станка, программирование перемещения исполнительных...

Алгоритмизация и программирование iconВопросы к экзамену по дисциплине «Высокоуровневое программирование»
Вопросы к экзамену по дисциплине «Высокоуровневое программирование» для студентов специальности 09. 05. 01 «Применение и эксплуатация...

Алгоритмизация и программирование iconПрограмма дисциплины «Программирование на языке java»
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направлений подготовки 231000....

Алгоритмизация и программирование iconПрограмма дисциплины [Объектно-ориентированное программирование]...
Программа предназначена для преподавателей, ведущих данную дисциплину, учебных ассистентов и студентов направления подготовки 220400....

Алгоритмизация и программирование iconПрограмма дисциплины «Информатика и программирование» для направления...
Программа дисциплины «Информатика и программирование» для направления 01. 03. 04 «Прикладная математика» подготовки бакалавров

Алгоритмизация и программирование iconИстория развития программирования 4
Программирование 3

Алгоритмизация и программирование iconМетодические рекомендации к практическим занятиям по дисциплине «Программирование...
Методические рекомендации к практическим занятиям по учебной дисциплине «Программирование для автоматизированного оборудования»

Алгоритмизация и программирование iconЮ. Ревич «Практическое программирование микроконтроллеров atmel avr на языке ассемблера»

Алгоритмизация и программирование iconРуководство по установке содержание
Программирование времени работы стартера и чувствительности датчика напряжения 14

Алгоритмизация и программирование iconИнструкция по программирование выше перечисленный моделий контроллеров....

Алгоритмизация и программирование iconЛабораторная работа №3
Программируемый логический контроллер Fatek. Программирование контроллера на языке последовательных функциональных схем

Алгоритмизация и программирование iconКонспект лекций междисциплинарного курса мдк 01. 02 Прикладное программирование
ПМ. 01 Разработка программных модулей программного обеспечения для компьютерных систем

Алгоритмизация и программирование iconИ. Н. Мелихов Скрытый гипноз
Оперативное гипновоздействие: эриксонианский гипноз и нейролингвистическое программирование


Руководство, инструкция по применению






При копировании материала укажите ссылку © 2017
контакты
rykovodstvo.ru
Поиск