Файл: Алгоритмизация как обязательный этап разработки.pdf

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

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

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

Добавлен: 31.03.2023

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

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

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

•Пока. Также служит для перебора нескольких значений. Используется для работы до тех пор, пока не выполнится определённое условие.

•Нц и кц. "Нц" в алгоритмическом языке означает начало тела цикла, а "кц" - конец. Между этими двумя ключевыми словами встраиваются необходимые для вычисления процедуры.

•Если. С помощью этого слова реализуется структура ветвления. Таким образом можно определить ход программы в нужном направлении, учитывая условия.

•То, иначе. Два слова, работающих в паре с "если". Также выстраивают механизм ветвления.

•Выбор. Удобный инструмент для осуществления ветвления из нескольких значений одного типа. Работает в паре с ключевым словом "при" и "иначе".

•Все. Означает окончание механизма ветвления.

•Ввод. Данное ключевое слово позволяет пользователю вводить значения переменных в ходе работы программы для их последующей обработки.

•Вывод. Производит вывод данных на экран.

3.2 Основные структуры языка

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

Структура следования

При проектировании такого вида структуры выполнение кода происходит непосредственно строка за строкой. Общий пример можно выразить таким образом:

алг Сумма двух чисел (арг цел a, b, рез цел S)

нач

ввод a, b

S := a + b

вывод «S = », S

кон

В данном примере происходит вычисление суммы двух чисел, введённых пользователем. В начале слово "алг" показывает, что алгоритм начинается, и кратко описывает, что именно он делает. В скобках определяются аргументы, необходимые для работы программы, и переменная, которая послужит контейнером для хранения результатов. Далее идёт ключевое слово "нач", показывающее непосредственное начало выполнения выражений и процедур. Рядом с "нач" можно определить и некоторые промежуточные переменные.

В теле алгоритма ключевое слово "ввод" принимает от пользователя данные и записывает их в переменные. Затем они складываются, и их сумма присваивается S. Перед концом алгоритма результат работы программы выводится на экран посредством ключевого слова "вывод". Данная запись на алгоритмическом языке типична и для многих других сред программирования [3].

Структура ветвления

Ход программы не всегда должен выполняться строка за строкой. Иногда нужно определить или изменить значение некой переменной в зависимости от ситуации. Например, при условии, что х = 0, не осуществлять деление на х.


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

если х = 0

то у = 1

все

Таким образом можно менять значения переменных в зависимости от других факторов. Данный пример не полностью охватывает все возможные реализации. Поэтому дополнительно к конструкции применяется ключевое слово "иначе". Оно позволяет перейти в другую ветвь, если условие не соответствует выбранным критериям.

если х = 0

то у = 1

иначе у = 0

все

То есть в случае, когда х будет не равен нулю, у также обнулится вне зависимости от значения, которое он имел до этого.

Более удобным средством для осуществления множественного выбора является конструкция "выбор". Она позволяет перебрать несколько условий. При срабатывании одного из них будет выполнено указанное для него действие.

выбор

при х = 0: у = 0

при х = 1: у = 1

при х = 2: у = 2

все

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

Алгоритмический язык обладает стандартными функциями, которые уже в него встроены. Они способны облегчить некоторые рутинные операции с числами и выражениями. Штатные функции алгоритмического языка могут производить вычисление квадратного корня, логарифмы, модули, синусы, косинусы и т. д:

•абсолютный модуль — abs(x);

•корень квадратный — sqrt(x);

•натуральный и десятичный логарифмы — ln(x) и lg(x);

•минимум и максимум двух чисел — min(x,y), max (x,y);

•синус, косинус, тангенс, котангенс — sin(x), cos(x), tg(x), ctg(x).

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

Логические выражения отражают, удовлетворяет ли некая операция условию. Например, х > 0 будет иметь значение "истина" при х, равном 1, 2, 25 или любом другом числе больше нуля. Алгоритмический язык содержит логические выражения, которые помимо стандартных математических операций могут использовать следующие ключевые слова и операторы:

•И. Означает, что выражения, между которыми находится ключевое слово, должны удовлетворять определённому условию: (х>0) и (у>0);


•Или. Одно из выражений может не удовлетворять условию, например, (х>0) или (у>0);

•Не. «Переворачивает» логическое значение выражения. Например, такая конструкция не (х>0), означает, что х все же должен быть не больше нуля.

Также присутствуют операторы сравнения - <, >, =, которые могут сочетаться, создавая выражения типа больше или равно.

3.3 Небольшая программа для алгоритмического языка

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

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

Составляющие алгоритмического языка имеют в своем составе множество ключевых слов. Первое, с чего начинается программа, это объявление об алгоритме — алг.

алг Возведение числа в квадрат ()

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

алг Возведение числа в квадрат (арг цел х, рез цел S)

Теперь машина будет знать, что взаимодействовать ей придется с переменной типа целое число, а результатом ее работы будет S.

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

нач

Первое, что нужно сделать, осуществить ввод данных. Это производится с помощью ключевого слова "ввод".

ввод х

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

S := х*х

вывод «S = », S

Алгоритмический язык, команды которого позволяют реализовать присвоение, записываются в виде :=. Тем самым в переменную S попадает значение произведения х на самого себя. Строка с выводом показывает результат на экране. Ну и завершается все это ключевым словом "кон". Полный код теперь будет выглядеть так:

алг Возведение числа в квадрат (арг цел х, рез цел S)

нач

ввод х

S := х*х

вывод «S = », S

кон

Вот таким простым образом реализуется алгоритм подсчёта квадрата введённого числа. Программу можно усложнить, добавив к ней сумму всех операций. И тогда она будет выглядеть так:

алг Возведение числа в квадрат и расчёт их суммы (арг цел х, рез цел S)

дано | х > 0

надо | S = 1*1 + 2*2+ … + x*x

нач цел а

ввод х; S:=0

нц для а от 1 до х


S:= S + a*a

кц

вывод «S = », S

кон

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

3.4 Использование и развитие алгоритмических языков

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

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

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

Заключение

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

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


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

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

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

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

Таким образом, в ходе проведенного исследования нами были решены все поставленные задачи.

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

Библиография

Нормативно-правовые документы

1. Конституция Российской Федерации от 12 декабря 1993 г. (с изм. и доп., вступ. в силу с 21.07.2014)

Научная литература

  1. Информатика: Базовый курс. / С. В. Симонович и др. СПб.: Питер, 2015
  2. Острейковский В. А. Информатика: Учеб. для вузов. - М.: Высш. шк., 2018. - 511 с.: ил.
  3. Алексеев Е. В. и др. Вычислительная техника и программирование. Практикум по программированию: Практ. пособие / В. Е. Алексеев, А. С. Ваулин, Г. Б. Петрова; Под ред. А. В. Петрова. - М.: Высш. шк., 2011. - 400 с.: ил
  4. Глушаков С. В., Мельников И. В. Персональный компьютер: Учебный курс / Худож. оформитель А. С. Юхтман. - Харьков: Фолио; М.: ООО «Издательство АСТ», 2017. - 520 с. - (Домашняя б-ка).
  5. Леонтьев В. Новейшая энциклопедия персонального компьютера. - М.: ОЛМА-ПРЕСС, 2019. - 640 с.
  6. Козлов В.В., Можаева Н.А., Зуева Н.Г. Информатика. Алгоритмизация и программирование. Мет. Указания и задания к курсовой работе,2016. -32с
  7. Изучение информатики и вычислительной техники: Пособие для учителей / Под ред. А.П. Ершова, В.М. Монахова. - М., 2013.
  8. Информатика и ИКТ. Практикум 8-9 класс / Под ред. Н.В. Макаровой - СПб, 2018.
  9. Информатика и ИКТ. Учебник 8-9 класс / Под ред. Н.В. Макаровой - СПб, 2018.
  10. Лапчик М.П. Вычисление. Алгоритмизация. Программирование: Пособие для учителя / Лапчик М.П. - М., 2012.
  11. Лапчик М.П. Методика обучения информатики / Лапчик М.П. - М., 2017.
  12. Пейперт С. Дети, компьютер и плодотворные идеи. / Пейперт С. - М, 2013.
  13. Программы для средних общеобразовательных учебных заведений. Информатика и ИКТ. / М., 2018.
  14. Программа по информатике и ИКТ. 5-11 класс / Под ред. Н.В. Макаровой - СПб, 2018.
  15. Семакин И.Г. Базовый курс информатики: 7-9 класс / Семакин И.Г и др. - М., 2018.
  16. Семакин И.Г., Шеина Т.Ю. Преподавание базового курса информатики в средней школе: Метод. пособие / Семакин И.Г., Шеина Т.Ю. - М., 2012.
  17. Сластенин В.А. и др. Педагогика: Учеб. пособие для студентов пед. Учебных заведений / Сластенин В.А. и др., М. - 2019.
  18. Угринович Н. Информатика. Базовый курс: Учебник для 9 класса / Угринович Н.Д. - М., 2018.
  19. Угринович Н. Преподавание курса «Информатика и ИКТ» в основной и старей школе. Методическое пособие для учителей/ Угринович Н.Д. - М., 2018.