Основы алгоритмизации и программирования
Контрольная работа - Компьютеры, программирование
Другие контрольные работы по предмету Компьютеры, программирование
учебниках по информатике обычно пишут, что исполнителем алгоритма может быть и человек. На самом деле алгоритмы для людей никто не составляет (не будем забывать, что не всякий набор дискретных операций является алгоритмом). Человек в принципе не может действовать по алгоритму. Выполнение алгоритма это автоматическое, бездумное выполнение операций. Человек всегда действует осмысленно. Для того чтобы человек мог выполнять какой-то набор операций, ему нужно объяснить, как это делается. Любую работу человек сможет выполнять только тогда, когда он понимает, как она выполняется.
Вот в этом “объяснение и понимание” и кроется различие между понятиями “алгоритм” и “способ”, “метод”, “правило”. Правила выполнения арифметических операций это именно правила (или способы), а не алгоритмы. Конечно, эти правила можно изложить в виде алгоритмов, но толку от этого не будет. Для того чтобы человек смог считать по правилам арифметики, его нужно научить. А если есть процесс обучения, значит, мы имеем дело не с алгоритмом, а с методом.
При составлении алгоритма программист никому ничего не объясняет, а исполнитель не пытается ничего понять. Алгоритм размещается в памяти компьютера, который извлекает команды по одной и исполняет их. Человек действует по-другому. Чтобы решить задачу, человеку требуется держать в памяти метод решения задачи в целом, а воплощает этот метод каждый по-своему.
Очень ярко эта особенность человеческой психологии неалгоритмичность мышления проявилась в методическом пособии А. Г. Гейна и В. Ф. Шолоховича. В пособии излагаются решения задач из известного учебника. Решения задач должны быть представлены в виде алгоритмов. Однако авторы пособия понимают, что если просто написать алгоритм решения задачи, то разобраться в самом решении будет трудно. Поэтому они сначала приводят “нечеткое изложение алгоритма” (т. е. объясняют решение задачи), а затем пишут сам алгоритм.
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 десятичных арабских цифр:
- большие заглавные буквы:
ABCDEFGHIJKLMNOPQRSTUVWXYZ
- малые строчные буквы:
abcdefghijklmnopqrstuvwxyz
- десятичные цифры:
0123456789
буквы и цифры используются при формировании констант, идентификаторов и ключевых слов. Компилятор Си рассматривает одну и ту же малую и большую буквы как различные символы.
Пробельные символы. Пробел, табуляция, перевод строки, возврат каретки, новая страница, вертикальная табуляция и новая строка это символы, называемые пробельными, поскольку они имеют то же самое назначение, что и пробелы между словами и строками на печатной странице. Эти символы разделяют объекты программы.
Знаки пунктуации и специальные символы из множества символов Си используются для различных целей, от организации текста программы до определения заданий, которые будут выполнены компилятором или откомпилированной п