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

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

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

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

Добавлен: 22.04.2023

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

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

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

Заметим, что алгоритм требует либо одного действия, либо двух. А именно: вначале измерить температуру, а уж затем, в зависимости от результатов выполнять или не выполнять следующее действие. Такой алгоритм называется разветвляющимся, а именно: алгоритм, который выполняется в зависимости от условия, т.е. от вопроса на который можно ответить "да" или "нет", т.е. условие может быть истинным (да), или ложным (нет). Алгоритм ветвления, как и другие алгоритмы, должны обладать следующими свойствами:

  1. Дикретность, т.е. все решение разбивается на простейшие шаги.
  2. Понятность, алгоритм должен быть понятен исполнителю.
  3. Точность, не должно быть неясностей и двусмысленностей.
  4. Массовость, с помощью одного и того же алгоритма можно решить множество задач.
  5. Результативность (или конечность) состоит в том, что алгоритм должен приводить к решению задачи за конечное число шагов.

Полная форма.

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

если-то-иначе

Пример

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

  • Если а>b, то происходит присваивание к переменной "а" значение "а*2", а к переменной "b", значение "1".
  • Иначе, т.е. если а<=b, происходит присваивание переменной "b" значение "2*b".

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

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

если-то

Пример

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

  1. Если x>0, то переменной "y" присваивается значение "sin(x)"
  2. Иначе, т.е. если x<=0, то действия ветви "да" пропускаются.

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

  1. Словесный.
  2. В виде блок-схем (графический).
  3. На языке программирования.

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

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


Например:

  1. Задать два числа.
  2. Если числа равны, то взять любое из них в качестве ответа и остановиться, иначе продолжить выполнение алгоритма.
  3. Определить большее из чисел.
  4. Заменить большее из чисел разностью большего и меньшего из чисел.
  5. Повторить алгоритм с числа два.

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

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

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

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

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

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

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

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

Пояснение

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

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

Ввод — вывод

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

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

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

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

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


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

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

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

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

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

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

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

10 INPUT a,b
20 x=a^2
30 y=b^2
40 z=x+y
50 w=SQR(z)
60 PRINT w
70 END

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

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

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

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

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

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

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

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

Для организации циклов с известным числом повторений (типа "Для") используют оператор 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

заголовок - 20
тело цикла - 30; 40
конец цикла - 50

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

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

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

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

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

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

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

Начав тренировки, спортсмен в первый день пробежал 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

S - счетчик км
N - счетчик дней

ЗАКЛЮЧЕНИЕ

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

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


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

В данной курсовой работе были рассмотрены наиболее популярные языки программирования, такие как Си++, Си, Бейсик, Паскаль.

Сформулируем основные перспективы развития языков программирования:

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

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

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

В заключение хотелось бы сказать такие слова Брайэна Кернигана: «Единственный способ изучать язык программирования – это писать на нем программы».

ГЛОССАРИЙ

Искусственный интеллект – (от англ. artifical intellect) наука и технология создания интеллектуальных машин, особенно интеллектуальных компьютерных программ

Компилятор – (от англ. Compile – собирать вместе, оставлять) специальная программа для преобразования в машинный код

Макропроцессор – (МП) компонент программного обеспечения, которые обеспечивает функционирование макросов

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

Машинно-независимые языки – средство описания алгоритмов решения задач и информации, которая подлежит обработки.

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