Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Алг_прогр.doc
Скачиваний:
27
Добавлен:
01.12.2018
Размер:
950.78 Кб
Скачать

Конструирование блок-схем алгоритмов

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

1. Разветвляющиеся алгоритмы.

Составить алгоритм вычисления следующей функции:

a=2,68; b=1,75.

х =1,27.

Решение.

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

2. Циклические алгоритмы.

Для функции вычислить значения для x[1,4], с шагом х=0,2; a=2,1, b=1,4.

Решение.

3 . Дан массив из 5 чисел: Х=[2 4 6,2 3 1,4], вычислить значение функции , где a=27,8; b=4,24.

Решение.

Лекция 2. Основы программирования Введение в программирование

Если Вы работали с компьютером, то уже знаете, что для выполнения любых действий Вам необходимо запустить соответствующую программу. Все программы, запускаемые в операционных системах MS DOS и MS Windows 95/98/NT, имеют расширение exe или com. Если Вы попытаетесь прочитать файлы программ, то увидите лишь набор символов (на первый взгляд абсолютно бессмысленный). Однако именно эти символы представляют собой команды, которые понимает процессор, и под управлением которых он может работать, а сами символы называются машинные коды.

Самые первые программы, которые создавались для первых ЭВМ, были написаны именно на машинных кодах. Представляете, сколько требовалось времени программисту, чтобы создать простенькую программу? С течением времени, для удобства программистов, появились первые языки программирования - ассемблеры. Основное достоинство ассемблера - это то, что текст создаваемой программы представлял собой список команд, записанных на вполне читаемом языке (например, jmp 28 - перейти на строку 28, mov x, 10 - присвоить переменной x значение 10). После написания текста программы запускался «переводчик» на машинный язык (компилятор) и подготавливал сам исполняемый файл (com или exe). Структура текста программы оставалась точно такой же, как она выглядит в машинных кодах, не вдаваясь в подробности, можно сказать что это было главным неудобством в применении ассемблеров (так как, например, для однотипных действий (ввод числа) приходилось часто копировать целый кусок программы). Для каждого нового процессора (или системы) создавался свой язык ассемблер (так как у каждого процессора свой набор команд, часто совершенно не похожий на набор команд другого процессора). Это были языки низкого уровня.

Для создания больших программ (мощных приложений, обеспечивающих выполнение многих функций) возможностей ассемблеров явно не хватало. Поэтому стали появляться языки программирования высокого уровня. Количество этих языков (впрочем как и их назначение и возможности) довольно большое и не имеет смысла их здесь перечислять. Все языки программирования можно разделить на две большие группы, существенно различающиеся друг от друга: интерпретаторы и компиляторы. Чтобы понять их отличие, сначала отметим, что в любом языке программирования Вы сначала создаете текст программы с помощью команд и выражений, понятных данному языку, и только затем переводите этот текст (с помощью средств того же языка программирования) на язык, понятный компьютеру (в машинные коды). Именно способ перевода текста программы на язык компьютера отличает интерпретатор от компилятора. Компилятор «переводит» текст программы сразу и полностью, создавая при отдельную программу (exe- или com-файл). После этого Вы можете взять готовую программу и перенести ее на другой компьютер - работать она будет точно также как и на том компьютере где создавалась. Это все равно, что перевести книгу с английского языка на русский и отдать ее другу или любому другому человеку: любой русский сможет ее теперь прочитать (если конечно закончил хотя бы несколько классов средней школы). Одним из самых распространненых компиляторов до недавнего времени был язык программирования Pascal. Именно с ним нам и предстоит познакомить в этой главе.

Работа интерпретатора (англ. interpreter - «переводчик») несколько отличается. Он не может «перевести» весь текст сразу, а переводит его по командам («по словам»). Это похоже на то, если Вы при переводе английской книги выпишите только английские слова и их дословный перевод - прочитать такую книгу можно будет лишь имея под рукой Ваш «словарик». Поэтому и запустить Вашу программу на другом компьютере лишь в том случае, если там стоит точно такой же «переводчик». На первый взгляд, такой подход к программированию кажется не слишком удобным: не будешь же носить с собой везде этот пресловутый интерпретатор. Однако большинство компьютеров в настоящее время имеют довольно стандартный набор программ (трудно найти в офисе какой-нибудь фирмы компьютер, на котором не установлен пакет программ MS Office). Именно этот факт и явился причиной довольно широкого распространения такого языка программирования (интерпретатора) как Visual Basic. Знакомство с ним не входит в рамки нашего курса, однако, если у Вас есть дома компьютер, Вы можете ознакомиться с ним самостоятельно - он является встроенным средством пакета MS Office и используется при написании макросов в таких известных приложениях как MS Word, MS Excel и MS Access. Как правило, интерпретатор - более легко средство для программирования, чем компилятор, так как накладывает меньше ограничений на структуру программы и использование переменных, и это еще одна причина широкого распространения интерпретаторов.