Основы алгоритмизации и программирования

Контрольная работа - Компьютеры, программирование

Другие контрольные работы по предмету Компьютеры, программирование

учебниках по информатике обычно пишут, что исполнителем алгоритма может быть и человек. На самом деле алгоритмы для людей никто не составляет (не будем забывать, что не всякий набор дискретных операций является алгоритмом). Человек в принципе не может действовать по алгоритму. Выполнение алгоритма это автоматическое, бездумное выполнение операций. Человек всегда действует осмысленно. Для того чтобы человек мог выполнять какой-то набор операций, ему нужно объяснить, как это делается. Любую работу человек сможет выполнять только тогда, когда он понимает, как она выполняется.

Вот в этом “объяснение и понимание” и кроется различие между понятиями “алгоритм” и “способ”, “метод”, “правило”. Правила выполнения арифметических операций это именно правила (или способы), а не алгоритмы. Конечно, эти правила можно изложить в виде алгоритмов, но толку от этого не будет. Для того чтобы человек смог считать по правилам арифметики, его нужно научить. А если есть процесс обучения, значит, мы имеем дело не с алгоритмом, а с методом.

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

Очень ярко эта особенность человеческой психологии неалгоритмичность мышления проявилась в методическом пособии А. Г. Гейна и В. Ф. Шолоховича. В пособии излагаются решения задач из известного учебника. Решения задач должны быть представлены в виде алгоритмов. Однако авторы пособия понимают, что если просто написать алгоритм решения задачи, то разобраться в самом решении будет трудно. Поэтому они сначала приводят “нечеткое изложение алгоритма” (т. е. объясняют решение задачи), а затем пишут сам алгоритм.

2. ЭЛЕМЕНТЫ ЯЗЫКА TURBO PASCAL

 

2.1. Алфавит

 

Алфавит языка состоит из множества символов, включающих в себя буквы, цифры и специальные символы.

Латинские буквы: от A до Z (прописные) и от a до z (строчные).

Цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9.

Шестнадцатеричные цифры: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F.

Специальные символы: + * / = [ ] . , ( ) : ; { } ^ @ $ #.

Следующие комбинации специальных символов являются едиными символами (их нельзя разделять пробелами):

:= знак присваивания;

>= больше или равно;

<> не равно;

<= меньше или равно;

(**) ограничители комментариев (используются наряду с {});

(..) эквивалент [].

Пробелы символ пробела (ASCII-32) и все управляющие символы кода ASCII (от 0 до 31).

К спецсимволам относятся служебные слова, смысл которых определен однозначно. Служебные слова не могут быть использованы для других целей. С точки зрения языка это единые символы. Вот список служебных слов Турбо Паскаля:

absoluteendinlineproceduretypeandexternalinterfaceprogramunitarrayfileinterruptrecorduntilbeginforlabelrepeatusescaseforwardmodsetvarconstfunctionnilshlwhiledivgotonotshrwithdoifofstringxor downtoimplementationorthenelse in packed to Последние версии языка содержат еще ряд служебных слов, относящихся к работе с объектами и встроенным ассемблером.

 

2.2. Идентификаторы

 

Идентификатором называется символическое имя определенного программного объекта. Такими объектами являются имена констант, переменных, типов данных, процедур и функций, программ. С помощью синтаксической диаграммы идентификатор можно определить, как показано на рис.1.

 

 

 

 

 

 

Рис.1

 

Расшифровать это можно так: идентификатор это любая последовательность букв и цифр, начинающаяся с буквы. В Турбо Паскале к буквам приравнивается также знак подчеркивания. Строчные и прописные буквы в идентификаторах и служебных словах не различаются. Например: max, MAX, MaX и mAx одно и то же имя.

Длина идентификатора может быть произвольной, но значащими являются только первые 63 символа.

 

2.3. Комментарии

 

Следующие конструкции представляют собой комментарии и поэтому игнорируются компилятором:

{любой текст, не содержащий символ }}

(*любой текст, не содержащий символы *)*)

Буквы русского алфавита употребляются только в комментариях, в литерных и текстовых константах.

Строка, начинающаяся с символов {$ или (*$, является директивой компилятора. За этими символами следует мнемоника команды компилятора.

3. ЛЕКСИКА ЯЗЫКА ПРОГРАММИРОВАНИЯ СИ

 

Множество символов Си включает большие и малые буквы латинского алфавита и 10 десятичных арабских цифр:

  1. большие заглавные буквы:

ABCDEFGHIJKLMNOPQRSTUVWXYZ

  1. малые строчные буквы:

abcdefghijklmnopqrstuvwxyz

  1. десятичные цифры:

0123456789

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

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

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