Файл: Высокоуровневые языки программирования (Языки программирования).pdf
Добавлен: 22.04.2023
Просмотров: 298
Скачиваний: 2
Заметим, что алгоритм требует либо одного действия, либо двух. А именно: вначале измерить температуру, а уж затем, в зависимости от результатов выполнять или не выполнять следующее действие. Такой алгоритм называется разветвляющимся, а именно: алгоритм, который выполняется в зависимости от условия, т.е. от вопроса на который можно ответить "да" или "нет", т.е. условие может быть истинным (да), или ложным (нет). Алгоритм ветвления, как и другие алгоритмы, должны обладать следующими свойствами:
- Дикретность, т.е. все решение разбивается на простейшие шаги.
- Понятность, алгоритм должен быть понятен исполнителю.
- Точность, не должно быть неясностей и двусмысленностей.
- Массовость, с помощью одного и того же алгоритма можно решить множество задач.
- Результативность (или конечность) состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.
Полная форма.
Полная форма - это форма записи развлетвляющегося алгоритма, в которой предусмотрены команды в ветви "да" и в ветви "нет".
|
если-то-иначе |
Пример |
Происходит проверка условия.
- Если а>b, то происходит присваивание к переменной "а" значение "а*2", а к переменной "b", значение "1".
- Иначе, т.е. если а<=b, происходит присваивание переменной "b" значение "2*b".
Неполная форма
Неполная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды только в одной ветви.
|
если-то |
Пример |
Происходит проверка условия.
- Если x>0, то переменной "y" присваивается значение "sin(x)"
- Иначе, т.е. если x<=0, то действия ветви "да" пропускаются.
Разветвляющийся алгоритм можно записать несколькими способами:
- Словесный.
- В виде блок-схем (графический).
- На языке программирования.
4.1.1. Словесный способ
Словесный способ записи разветвляющихся алгоритмов представляет собой описание последовательных этапов обработки данных. А алгоритм задается в произвольном изложении на естественном языке.
Например:
- Задать два числа.
- Если числа равны, то взять любое из них в качестве ответа и остановиться, иначе продолжить выполнение алгоритма.
- Определить большее из чисел.
- Заменить большее из чисел разностью большего и меньшего из чисел.
- Повторить алгоритм с числа два.
Словесный способ не имеет широкого распространения, т.к. такие описания:
- строго не формализуемы;
- страдают многословностью записей;
- допускают неоднозначность толкования отдельных предписаний.
Машина поймет инструкцию, записанную на языке программирования, а человек наиболее ясно увидит ход решения задачи, если последовательность действий представлена на схеме.
4.1.2. Графический способ
Графический способ представления разветвляющихся алгоритмов является более компактным и наглядным по сравнению со словесным.
При графическом представлении разветвляющийся алгоритм изображается в виде последовательности связанных между собой функциональных блоков, каждый из которых соответствует выполнению одного или нескольких действий. Такое графическое представление называется схемой алгоритма или блок-схемой. В блок-схеме каждому типу действий (вводу исходных данных, вычислению значений выражений, проверке условий, управлению повторением действий, окончанию обработки и т.п.) соответствует геометрическая фигура представленная в виде блочного символа. Блочные символы соединяются линиями переходов, определяющими очередность выполнения действий. Блок-схемы и структурограммы Насси Шнейдермана-наиболее распространенные способы графического изображения алгоритмов.
|
Название символ |
Обозначение и пример заполнения |
Пояснение |
|
Пуск — остановка |
Начало, конец алгоритма, вход и выход в подпрограмму |
|
|
Ввод — вывод |
Обозначает момент ввода данных в ячейки памяти с указанными именами или момент вывода содержимого указанных ячеек на экран монитора или на принтер. |
|
|
Процесс (действие) |
Вычислительное действие или их последовательность |
|
|
Решение (условие) |
Проверка условий |
Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет.
4.2 Линейный алгоритм
Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно.
Например, алгоритм решения математической задачи: найдите гипотенузу, если известны катеты.
|
Алгоритм (словесный способ записи):
|
|
|
Программный способ записи:
|
4.3 Циклический алгоритм
Циклический алгоритм - это такой алгоритм, действия которого повторяются. Существует два типа циклических алгоритмов:
|
Цикл типа "Пока" |
Цикл типа "Для" |
|
Пример: алгоритм продавца по обслуживанию покупателей |
Пример: алгоритм учителя по проверке тетрадей учеников |
Циклический алгоритм типа "Для"
Циклический алгоритм типа "Для" - это такой циклический алгоритм, в котором число повторений известно.
Для организации циклов с известным числом повторений (типа "Для") используют оператор FOR - NEXT.
|
10 FOR A = L TO R STEP N 20 P 30 NEXT A |
A - счетчик цикла (управляющая переменная) |
Любые арифметические выражения, не содержащие управляющей переменной (счетчика цикла), называют параметрами цикла.
Например, запись: FOR A = 0 TO 12 STEP 2
означает, что управляющая переменная A (счетчик цикла) примет сначала значение 0 и при каждом повторении цикла будет увеличиваться на 2. Последним значением K будет 12. Если шаг равен 1, то часть STEP 1 в операторе можно опустить. Оператор FOR используется только в паре с оператором NEXT, который имеет вид: NEXT A, где A - имя управляющей переменной (счетчика) цикла.
Операторы, которые требуется повторить многократно, записываются между FOR и NEXT и называются телом цикла.
Чтобы организовать цикл с помощью оператора FOR, нужно:
- выделить тело цикла;
- выбрать управляющую переменную;
- определить границы ее изменения и шаг (параметры цикла);
- предусмотреть начальные присваивания (если это требуется).
Рассмотрим применение оператора FOR - NEXT на следующем примере, где L (начальное значение счетчика цикла) = 1, R (конечное значение счетчика цикла) = 10:
|
10 K = 6
|
Работа оператора FOR - NEXT
Счетчику присваивается первоначальное значение
Выполняется тело цикла - операторы, которые повторяются
Оператор NEXT выполняет 3 действия:
- Присваивает счетчику цикла новое значение
- Сравнивает полученное значение с конечным
- Если полученное значение меньше или равно конечному, то происходит возврат на начало тела цикла (на первый оператор после заголовка); если полученное значение больше конечного, то происходит выход из цикла
Циклический алгоритм типа "Пока"
Циклический алгоритм типа "Пока" - это такой циклический алгоритм, действия которого будут выполнятся до тех пор пока выполняется заданное условие.
Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 50% от нормы предыдущего дня. Через сколько дней спортсмен пробежит суммарный путь 60 км?
|
10 S = 10
|
ЗАКЛЮЧЕНИЕ
Развитие, изобретение языков программирования высшего уровня позволило человеку не только понимать электронно-вычислительную машину, но и использовать ее для сложнейших операций в медицине, экономике, физики, математики, самолетостроения и в других областях человеческой жизни.
В настоящее время любое среднее или крупное предприятие имеет в своем кадровом составе группу программистов, которые совершенствуют, изменяют, создают программы, используемые другими работниками организации. Отсюда можно сделать вывод, что на рынке труда пользуются спросом личности, обладающие и владеющие знаниями, умениями в области языков программирования.
Общая тенденция в развитии языков программирования – это развитие языков в сторону все большей и большей абстракции. И это сопровождается падением эффективности. Но следует отметить, что повышение уровня абстракции влечет за собой повышение уровня надежности программирования. С низкой эффективностью можно бороться путем создания более быстрых, сильных персональных компьютеров.
В данной курсовой работе были рассмотрены наиболее популярные языки программирования, такие как Си++, Си, Бейсик, Паскаль.
Сформулируем основные перспективы развития языков программирования:
во-первых, следует отметить, что новые языки будут появляться и дальше. Рано или поздно у нас кардинально изменяться мысли и понятия о ЯП. Во-вторых, следует обратить внимание на грамотное изложение идей, заложенных в языках. Идея может быть хорошей, но воплощение неудачным.
Если мы обратим внимание на рост и темпы развития новейших технологий, то можно предположить, что в дальнейшем будущем, люди смогут произвести языки, которые будут способны обрабатывать, передавать информацию в виде мысли, жеста, звука.
Несмотря на то, что современный уровень развития языков программирования высок, происходит постоянное их совершенствование, развитие и появление новых ЯП. Хочется верить в прогресс науки и техники, в компьютеризированное будущее человечество.
В заключение хотелось бы сказать такие слова Брайэна Кернигана: «Единственный способ изучать язык программирования – это писать на нем программы».
ГЛОССАРИЙ
Искусственный интеллект – (от англ. artifical intellect) наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ
Компилятор – (от англ. Compile – собирать вместе, оставлять) специальная программа для преобразования в машинный код
Макропроцессор – (МП) компонент программного обеспечения, которые обеспечивает функционирование макросов
Макрос – язык, который является средством замены последовательности символов, которые описывают выполнение требуемых действий электронно-вычислительных машин на более сжатую форму
Машинно-независимые языки – средство описания алгоритмов решения задач и информации, которая подлежит обработки.
Машинно-ориентированные языки – языки, наборы операторов и изобразительные средства которых существенно зависят от особенностей электронно-вычислительной машины