Алгоритмы линейной структуры
Классификация структур данных и алгоритмов. Использование блок-схемы из стандартных графических объектов, для наглядного представления последовательности действий. Реализация линейного алгоритма на Бейсике, особенности программирования на языке QBasic.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | конспект урока |
Язык | русский |
Дата добавления | 22.10.2014 |
Размер файла | 29,0 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Конспект урока
Тема: Алгоритмы. Алгоритмы линейной структуры
План урока
I. Организационный момент
II. Актуализация знаний
III. Теоретическая часть
IV. Практическая часть
V. Домашнее задание
VI. Вопросы студентов
VII. Итог урока
I. Организационный момент
Приветствие, проверка присутствующих. Объяснение хода урока.
Цели урока:
· помочь студентам усвоить понятие алгоритма, свойства алгоритмов, виды алгоритмов.
· воспитание информационной культуры студентов, внимательности, аккуратности, дисциплинированности, усидчивости.
· развитие алгоритмического мышления, познавательных интересов, навыков работы на компьютере.
Оборудование:
· доска, компьютер.
II. Актуализация знаний
Для решения большинства задач существует множество готовых программ. Но для того чтобы лучше понимать все происходящее с компьютером и уверенно принимать правильные решения, рядовому пользователю необходимо обладать определенной компьютерной грамотностью.
Следует отметить, что большинство редакторов (например, Microsoft Office Word, Excel) имеют встроенные средства программирования, освоив которые можно значительно расширить свои возможности.
III. Теоретическая часть
Алгоритмы
Появление алгоритмов связывают с зарождением математики. Более 1000 лет назад (в 825 году) ученый из города Хорезма Абдулла (или Абу Джафар) Мухаммед бен Муса аль-Хорезми создал книгу по математике, в которой описал способы выполнения арифметических действий над многозначными числами. Само слово алгоритм возникло в Европе после перевода на латынь книги этого математика.
Алгоритм - описание последовательности действий (план), строгое исполнение которых приводит к решению поставленной задачи за конечное число шагов.
Вы постоянно сталкиваетесь с этим понятием в различных сферах деятельности человека (кулинарные книги, инструкции по использованию различных приборов, правила решения математических задач...). Обычно мы выполняем привычные действия не задумываясь, механически. Например, вы хорошо знаете, как открывать ключом дверь. Однако, чтобы научить этому малыша, придется четко разъяснить и сами эти действия и порядок их выполнения:
1. Достать ключ из кармана.
2. Вставить ключ в замочную скважину.
3. Повернуть ключ два раза против часовой стрелки.
4. Вынуть ключ.
Если вы внимательно оглянитесь вокруг, то обнаружите множество алгоритмов, которые мы с вами постоянно выполняем. Мир алгоритмов очень разнообразен. Несмотря на это, удается выделить общие свойства, которыми обладает любой алгоритм.
Свойства алгоритмов:
1. Дискретность (алгоритм должен состоять из конкретных действий, следующих в определенном порядке);
2. Детерминированность (любое действие должно быть строго и недвусмысленно определено в каждом случае);
3. Конечность (каждое действие и алгоритм в целом должны иметь возможность завершения);
4. Массовость (один и тот же алгоритм можно использовать с разными исходными данными);
5. Результативность (отсутствие ошибок, алгоритм должен приводить к правильному результату для всех допустимых входных значениях).
Виды алгоритмов:
1. Линейный алгоритм (описание действий, которые выполняются однократно в заданном порядке);
2. Циклический алгоритм (описание действий, которые должны повторятся указанное число раз или пока не выполнено задание);
3. Разветвляющий алгоритм (алгоритм, в котором в зависимости от условия выполняется либо одна, либо другая последовательность действий)
4. Вспомогательный алгоритм (алгоритм, который можно использовать в других алгоритмах, указав только его имя).
Для более наглядного представления алгоритма широко используется графическая форма - блок-схема, которая составляется из стандартных графических объектов.
Вид стандартного графического объекта |
Назначение |
|
Начало алгоритма |
||
Конец алгоритма |
||
Выполняемое действие записывается внутри прямоугольника |
||
Условие выполнения действий записывается внутри ромба |
||
Счетчик кол-во повторов |
||
Последовательность выполнения действий |
Пример записи алгоритма в виде блок-схемы:
Стадии создания алгоритма:
1. Алгоритм должен быть представлен в форме, понятной человеку, который его разрабатывает.
2. Алгоритм должен быть представлен в форме, понятной тому объекту (в том числе и человеку), который будет выполнять описанные в алгоритме действия. алгоритм графический бейсик программирование
Объект, который будет выполнять алгоритм, обычно называют исполнителем.
Исполнитель - объект, который выполняет алгоритм.
Идеальными исполнителями являются машины, роботы, компьютеры...
Компьютер - автоматический исполнитель алгоритмов.
Алгоритм, записанный на "понятном" компьютеру языке программирования, называется программой.
Вопросы:
· Что такое алгоритм? Приведите примеры алгоритмов.
· Какие свойства алгоритмов вы знаете?
· Какие виды алгоритмов вы знаете?
· Какие способы записи алгоритмов вы знаете?
· Что такое исполнитель алгоритмов?
· Что такое программа?
IV. Практическая часть
Линейные алгоритмы - это такие алгоритмы, когда действия выполняются в одну линию друг за другом.
Пример:
Вычислить значение функции
Линейный алгоритм реализуется на Бейсике следующим способом:
1. Ввод исходных данных производится с использованием команды присвоения, или команды INPUT, или команд DATA, READ, RESTORE.
2. Получение промежуточных данных, искомых результатов производится при помощи команды присвоения.
3. Искомый результат выводится на экран при помощи команды PRINT.
В Бейсике имеется достаточное количество зарезервированных английских слов - команд и операторов.
Команды - это зарезервированные английские слова, которые влияют на выполнение всей программы. Например, RUN, LIST, NEW, DELETE...
Операторы - это зарезервированные английские слова, которые влияют на выполнение одной строки или группы строк. Например, INPUT, GOTO, LET, REM. Рассмотрим некоторые операторы:
INPUT a, b, c - оператор ввода данных, где a, b, c - переменные.
Оператор INPUT останавливает выполнение программы и ждёт ввода данных. На экране в это время выводится символ "?", затем с клавиатуры необходимо набрать данные. Если данных несколько, то они набираются через запятую, в конце никакого знака (символа) не ставится. Переменные (данные) могут быть как числовые, так и символьные. В операторе INPUT в кавычках может быть подсказка, например,
INPUT "Введите значения x"; x
В этом случае после кавачек ставится ";" и набираются переменные. После того, как закончен ввод, необходимо нажать клавишу Enter.
PRINT "Выводимая информация" - оператор для вывода результатов на экран. После этого оператора в кавычках записывается то, что необходимо вывести на экран. Например, PRIINT "Сегодня 1 сентября". На экран будет выведено: Сегодня 1 сентября.
Если после оператора PRINT стоит только переменная, тогда на экран выводится её числовое значение, если переменная числовая, или символы, если переменная символьная.
PRINT x - будет выведено числовое значение x.
A$="школа"
PRINT A$ - будет выведено "школа".
Простые программы на Бейсике.
Пример:
Дана десятичная дробь. Округлить её с точностью до двух знаков после запятой.
Решение:
Пусть нам дано, например, число 4,6238. Умножим это число на 100. Получим 462,38. Прибавим 0,5, получим 462,88. Отбросим дробную часть и разделим на 100. Получим нужный результат округления. Описанный выше алгоритм даёт правильный результат, применительно к любой дроби.
На Бейсике этот алгоритм запишется следующим образом
10 INPUT"Введите_дробь";A
20 B=A*100
30 B=B+0.5
40 B=INT(B)
50 B=B/100
60 PRINT "Округлённая дробь-";B
Если программа написана на QBasic -строки можно не нумеровать.
Наименьшее из заданных чисел определится по формуле
На Бейсике соответствующий алгоритм запишется:
INPUT "A=";A
INPUT "B=";B
X=(ABS(A-B)+A+B))/2
Y=(A+B-ABS(A-B))/2
PRINT "X=";X
PRINT "Y=";Y
Пример:
Вычислить значение функции
при x=1,369;1,18;2,936;3,15
Решение:
В этом примере значения x уже заданы, поэтому целесообразней вводить их не с помощью оператора INPUT, а операторами DATA, READ. Для перевода десятичного лагорифма в натуральный следует воспользоваться формулой.
10 REM Вычислить значение функции
20 DATA 1.369,1.18,2.936,3.15
30 READ X
40 L=LOG(X)/LOG(10)
50 Y=(SQR(X)+X^2*L)/(2*X*L^2)
60 PRINT "X=";X,"Y=";Y
70 GOTO 30
80 END
В этом примере использованы четыре новых оператора REM, DATA, READ и GOTO.
Оператор REM применяется для внесения комментариев в программу. Компьютером этот оператор не выполняется.
Операторы DATA и READ всегда применяются в паре. Формат их записи:
DATA(числовая константа, символьная константа в кавычках или без, но без запятых)
DATA 3, 1.25, "Номер телефона"
READ (переменная 1, переменная 2...) - этот оператор вводит данные из оператора DATA.
10 DATA 3,1.25,"Номер телефона"
20 READ X%,Y,A$
В этом примере X% присваивается 3; Y-1.25; A$ присваивается - Номер телефона. Кроме, рассмотренных выше в примере использован ещё один - оператор GOTO. Этот оператор передаёт управление той строке, номер которой указан за этим оператором. (В нашем примере строка 30).
В процессе выполнения программы примера на компьютере, вначале оператор READ выбирает из DATA первое значение x и вычисляет функцию y, затем выводит полученный результат на печать. Потом в работу включается оператор GOTO, который передаёт управление 30 строке, то есть возвращается к началу программы. Далее, оператор READ выбирает следующее значение x из DATA. Затем процесс повторяется, пока не закончатся данные в DATA.
V. Домашнее задание
1. Знать, что такое алгоритм, свойства и виды алгоритмов, способы записи алгоритмов.
2. Вычислить значение функции
для пяти любых значений x, используя операторы DATA и READ. Составьте алгоритм и программу.
VI. Вопросы студентов
Ответы на вопросы студентов.
VII. Итог урока
Подведение итога урока. Выставление оценок.
На уроке мы познакомились с тем, что такое алгоритм, какими свойствами он обладает и как его можно записать. Начали знакомиться с программирование на языке QBasic и написали свою небольшую программу.
Размещено на Allbest.ru
...Подобные документы
Сущность языка программирования, идентификатора, структуры данных. Хранение информации, алгоритмы их обработки и особенности запоминающих устройств. Классификация структур данных и алгоритмов. Операции над структурами данных и технология программирования.
контрольная работа [19,6 K], добавлен 11.12.2011Анализ затрат и прибыли. Создание программного проекта для решения задачи о прибыли и убытках на языке программирования C#. Использование функций и переменных, компиляция программы. Алгоритмы и структуры данных. Тестирование программного обеспечения.
курсовая работа [1,2 M], добавлен 03.01.2015Выполнение арифметических операций, этапы решения задач с помощью ЭВМ - постановка задачи, составление алгоритма решения, программная реализация алгоритма в среде Qbasic. Решение систем линейных уравнений по формулам Крамера. Графический режим Qbasic.
курсовая работа [101,7 K], добавлен 29.09.2009Понятие алгоритма, его назначение, представление (изобразительные средства для описания), типы, способы записи, схемы. Основные принципы разработки алгоритмов и программ. Характеристика языков программирования. Средства и правила построения блок-схем.
реферат [87,9 K], добавлен 26.03.2010Построение базовой линейной структуры и организация ввода с формы переменной. Определение значения функции и построение блок-схемы базовой структуры "ветвление". Использование цикла со счетчиком. Рассмотрение особенностей работы с одномерными массивами.
контрольная работа [1,4 M], добавлен 10.12.2021Свойства алгоритма как определенного содержания и порядка действий над объектами. Базовые алгоритмические структуры: следование, ветвление, повторение. Структурированные типы данных. Реализация на языке программирования задач при помощи алгоритмов.
контрольная работа [598,6 K], добавлен 06.12.2014Основные понятия и принципы динамического программирования, реккурентность природы задач данного типа и функциональные уравнения Беллмана. Разработка структуры блок-схемы и реализация на ЭВМ построенного алгоритма на выбранном языке программирования.
курсовая работа [30,2 K], добавлен 26.11.2010Постановка задачи линейного программирования. Решение системы уравнений симплекс-методом. Разработка программы для использования симплекс-метода. Блок-схемы основных алгоритмов. Создание интерфейса, инструкция пользователя по применению программы.
курсовая работа [1,7 M], добавлен 05.01.2015Изучение особенностей создания алгоритмов вычислительных задач. Визуальное программирование стандартных компонентов среды программирования Delphi. Технология создания компонента Delphi для решения производственной задачи. Выполнение блок-схемы алгоритма.
курсовая работа [638,0 K], добавлен 30.01.2015Особенности разработки и реализации обучающей программы и схемы алгоритмов на языке программирования С++. Понятие равномерной и неравномерной дискретизации. Представление информации (составление кода) в виде таблицы перекодировки или многочлена.
курсовая работа [704,6 K], добавлен 06.03.2013Цель информационного программирования; алгоритмический язык как система обозначений и правил для единообразной и точной записи алгоритмов и их исполнения. Языки программирования низкого и высокого уровня; классификация и использование структуры данных.
реферат [383,1 K], добавлен 07.01.2012Переход от словесной неформальной постановки к математической формулировке данной задачи. Оценка различных вариантов с целью выбора наиболее эффективных структур данных и алгоритмов обработки. Реализация алгоритмов на одном из языков программирования.
курсовая работа [35,0 K], добавлен 25.06.2013Последовательность действий, понятных для исполнителя и ведущая к решению поставленной задачи. Форма представления алгоритма для исполнения его машиной. Основные свойства алгоритмов и способы их записи. Линейный, разветвляющийся и циклический алгоритмы.
презентация [128,2 K], добавлен 22.10.2012Составление алгоритма сортировки линейной вставкой. Понятие однонаправленного циклического списка символов, реализация процедуры подсчета суммы элементов и составление алгоритма. Прямое представление дерева, алгоритм работы с ним на абстрактном уровне.
контрольная работа [32,8 K], добавлен 20.01.2012Алгоритм - определенная последовательность действий для получения решения задачи, его сущность и свойства. Основные характеристики разветвляющегося, циклического и линейного алгоритмов. Применение базовых алгоритмов при написании программных продуктов.
презентация [221,5 K], добавлен 01.03.2012Разработка блок-схемы и программы обработки одномерного массива с доступом к элементам с помощью индексов и с помощью указателей. Словесное описание алгоритма и пользовательского интерфейса, листинг программы обработки матрицы и результат её выполнения.
курсовая работа [391,1 K], добавлен 30.09.2013Изучение применяемых в программировании и информатике структур данных, их спецификации и реализации, алгоритмов обработки данных и анализ этих алгоритмов. Программа определения среднего значения для увеличивающегося количества чисел заданного типа.
контрольная работа [16,0 K], добавлен 19.03.2015Целые числа в позиционных системах счисления. Недостатки двоичной системы. Разработка алгоритмов, структур данных. Программная реализация алгоритмов перевода в различные системы счисления на языке программирования С. Тестирование программного обеспечения.
курсовая работа [593,3 K], добавлен 03.01.2015Решение базовых задач линейного программирования симплекс-методом, их реализация на языке программирования С++. Математическое обеспечение; разработка алгоритма программы, решающей задачу с помощью симплекс-таблиц с произвольными свободными членами.
курсовая работа [217,8 K], добавлен 25.05.2014Определение понятия структур данных. Рассмотрение информации и ее представления в памяти. Особенности непозиционных и позиционных систем счисления. Классификация структур данных, операции над ними. Структурность данных и технология программирования.
презентация [359,3 K], добавлен 20.05.2015