Файл: Классификация языков программирования высокого уровня (Язык программирования).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 30.06.2023

Просмотров: 51

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.


Неполная форма

      Неполная форма - это форма записи разветвляющегося алгоритма, в которой предусмотрены команды только в одной ветви.


если-то


Пример



Происходит проверка условия.


  1. Если x>0, то переменной "y" присваивается значение "sin(x)"

  2. Иначе, т.е. если x<=0, то действия ветви "да" пропускаются.


Разветвляющийся алгоритм можно записать несколькими способами:


  1. Словесный.

  2. В виде блок-схем (графический).

  3. На языке программирования.



1. Словесный способ

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

Например:


  1. Задать два числа.

  2. Если числа равны, то взять любое из них в качестве ответа и остановиться, иначе продолжить выполнение алгоритма.

  3. Определить большее из чисел.

  4. Заменить большее из чисел разностью большего и меньшего из чисел.

  5. Повторить алгоритм с числа два.


Словесный способ не имеет широкого распространения, т.к. такие описания:


  1. строго не формализуемы;

  2. страдают многословностью записей;

  3. допускают неоднозначность толкования отдельных предписаний.


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


2. Графический способ

Графический способ представления разветвляющихся алгоритмов является более компактным и наглядным по сравнению со словесным.

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

 



Название символ


Обозначение и пример заполнения


Пояснение


Пуск — остановка



Начало, конец алгоритма, вход и выход в подпрограмму


Ввод — вывод



Обозначает момент ввода данных в ячейки памяти с указанными именами или момент вывода содержимого указанных ячеек на экран монитора или на принтер.


Процесс (действие)



Вычислительное действие или их последовательность


Решение (условие)



Проверка условий


Блок "решение" используется для обозначения переходов управления по условию. В каждом блоке "решение" должны быть указаны вопрос, условие или сравнение, которые он определяет. 

 Линейный алгоритм

Линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно. 

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


Алгоритм (словесный способ записи):


  1. Возвести первый катет в квадрат;

  2. Возвести второй катет в квадрат;

  3. Сложить результаты действий 1 и 2;

  4. Вычислить квадратный корень из результата 3-го действия и принять его за значение гипотенузы.



Программный способ записи:





Циклический алгоритм

Циклический алгоритм - это такой алгоритм, действия которого повторяются. Существует два типа циклических алгоритмов:


Цикл типа "Пока"


Цикл типа "Для"




Пример: алгоритм продавца по обслуживанию покупателей


Пример: алгоритм учителя по проверке тетрадей учеников


1. Циклический алгоритм типа "Для"

Циклический алгоритм типа "Для" - это такой циклический алгоритм, в котором число повторений известно.

Для организации циклов с известным числом повторений (типа "Для") используют оператор FOR - NEXT.



10 FOR A = L TO R STEP N

20 P

30 NEXT A


A - счетчик цикла (управляющая переменная) 
L - начальное значение (число)
R - конечное значение (число)
N - шаг цикла (число)
P - тело цикла (последовательность действий)


Любые арифметические выражения, не содержащие управляющей переменной (счетчика цикла), называют параметрами цикла.

Например, запись:

FOR A = 0 TO 12 STEP 2

означает, что управляющая переменная A (счетчик цикла) примет сначала значение 0 и при каждом повторении цикла будет увеличиваться на 2. Последним значением K будет 12. Если шаг равен 1, то часть STEP 1 в операторе можно опустить. Оператор FOR используется только в паре с оператором NEXT, который имеет вид: NEXT A, где A - имя управляющей переменной (счетчика) цикла.

Операторы, которые требуется повторить многократно, записываются между FOR и NEXT и называются телом цикла.

     Чтобы организовать цикл с помощью оператора FOR, нужно:


  1. выделить тело цикла;

  2. выбрать управляющую переменную;

  3. определить границы ее изменения и шаг (параметры цикла);

  4. предусмотреть начальные присваивания (если это требуется).


Рассмотрим применение оператора FOR - NEXT на следующем примере, где L (начальное значение счетчика цикла) = 1, R (конечное значение счетчика цикла) = 10:


10 K = 6
20 FOR A = 6 TO 10
30 K = K 1
^ 40 PRINT K;
50 NEXT A
60 END



Работа оператора FOR - NEXT

Счетчику присваивается первоначальное значение

Выполняется тело цикла - операторы, которые повторяются

Оператор NEXT выполняет 3 действия:


  1. Присваивает счетчику цикла новое значение

  2. Сравнивает полученное значение с конечным

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


2. Циклический алгоритм типа "Пока"

Циклический алгоритм типа "Пока" - это такой циклический алгоритм, действия которого будут выполнятся до тех пор пока выполняется заданное условие.

Начав тренировки, спортсмен в первый день пробежал 10 км. Каждый следующий день он увеличивал дневную норму на 50% от нормы предыдущего дня. Через сколько дней спортсмен пробежит суммарный путь 60 км?


10 S = 10
20 N = 1
30 S = S 0, 5*S
40 N = N 1
50 IF S<60 THEN GOTO 30
^ 60 PRINT N
70 END





Заключение 


Изобретение языка программирования высшего уровня позволило нам общаться с машиной, понимать её (если конечно Вам знаком используемый язык), как понимает американец немного знакомый с русским языком древнюю азбуку Кириллицы. Проще говоря, мы в нашем развитии науки программирования пока что с ЭВМ на ВЫ. 

Поверьте мне это не сарказм вы только посмотрите как развилась наука программирования с того времени, как появились языки программирования, а ведь язык программирования высшего уровня, судя по всему ещё младенец. Но если мы обратим внимание на темпы роста и развития новейших технологий в области программирования, то можно предположить, что в ближайшем будущем, человеческие познания в этой сфере, помогут произвести на свет языки, умеющие принимать, обрабатывать и передавать информации в виде мысли, слова, звука или жеста. Так и хочется назвать это детище компьютеризированного будущего: «языки программирования"высочайшего" уровня». Возможно, концепция решения этого вопроса проста, а ближайшее будущее этого проекта уже не за горами, и в этот момент, где-нибудь в Запорожье, Амстердаме, Токио или Иерусалиме, перед стареньким 133MHz горбится молодой, никем не признанный специалист и разрабатывает новейшую систему искусственного интеллекта, которая наконец-то позволит человеку, с помощью своих машинных языков, вести диалог с машиной на ТЫ.

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

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

^ Единственный способ изучать новый язык программирования – писать на нём программы.

 

Список литературы


  1. Роберт У. Себеста. Основные концепции языков программирования Concepts of Programming Languages / Пер. с англ. — 5-е изд. — М.: 2001.

  2. Вольфенгаген В. Э. Конструкции языков программирования. Приёмы описания. — М.: Центр ЮрИнфоР, 2001.

  3. Паронджанов В. Д. Как улучшить работу ума. Алгоритмы без программистов — это очень просто!. — М.: Дело, 2001.

  4. Давидов М. И., Антонов В. Г. LEX - генератор программ лексического анализа / М. – 1985;

  5. Justin J. Crom / "BASIC Face-off", PC Tech Journal, September 1987.