§ 18. Практическая работа «Линейные программы»
1. Требуется написать программу, которая складывает два числа и выводит на экран их сумму.
Определите входные данные и результат этого алгоритма.
К какому типу относятся входные данные:
Сколько входных значений у алгоритма?
К какому типу относятся результаты:
Сколько результатов у алгоритма?
Обозначьте именами входные данные и результаты и напишите их на стрелках:
Запишите формулу, которая связывает исходные данные и результат:
Место для ввода текста.
2. Требуется написать программу, которая выводит скорость и времядвижения автомобиля и выводит на экран расстояние, которое он проехал.Определите входные данные и результат этого алгоритма.
К какому типу относятся входные данные:
Сколько входных значений у алгоритма?
К какому типу относятся результаты:
Сколько результатов у алгоритма?
Обозначьте именами входные данные и результаты и напишите их на стрелках:
Этапы решения задач с помощью компьютера
Образовательные. Повторить определение алгоритма, свойства, формы записи, типы, основные структуры алгоритмов. Повторить с учащимися последовательность записи программы линейной структуры на языке Паскаль. Помочь учащимся осуществить переход от сформулированной задачи к созданию информационной модели, а затем записи программы. Познакомить учащихся с основными этапами решения прикладной задачи с помощью компьютера и научить использовать на практике.
Развивающая. Развивать логику, умение анализировать, сравнивать, делать выводы, высказывать свою мысль. Развивать внимания и аналитическое мышление. Развивать умение находить общее и различное в поставленных задачах, замечать свои ошибки, делать выводы.
Воспитательная. Воспитывать аккуратность, внимательность, вежливость и дисциплинированность, бережное отношение к своему здоровью. Формирование самостоятельности и ответственности при повторении пройденного и изучении нового материала. Воспитывать чувство ответственности за напарника при работе в группе.
- сформулировать у учащихся навыки решения задач на составление программ с использованием линейных алгоритмов, блок-схем и программ;
- организовать творческую деятельность учащихся по созданию аналогичных задач;
- закрепить у учащихся навыки работы за компьютером и умение обосновывать свою точку зрения.
Тип урока: комбинированный урок: повторение, обобщение пройденного материала, изучение и закрепление нового материала.
Методы обучения: лекция, объяснительно-иллюстративный, фронтальный опрос, исследование, тестирование, использование интерактивных методов.
Оборудование: компьютер, интерактивная доска, таблицы, презентации, схемы, учебник.
Программное обеспечение: Операционная система Windows 7, среда программирования Free Pascal, тестирующая среда Knowing, операционная система Naulinux, образовательная программная оболочка kTurtle.
Дидактический материал: карточки с заданиями, тест в тестирующей среде Knowing.
1. Организационный момент.
2. Постановка целей и задач урока.
3. Повторение пройденного материала: “Мозговой штурм”.
1) Что такое алгоритм и его исполнители?
Алгоритмом — называется строго определенная последовательность действий, выполнение которых приводит к заранее предполагаемому результату.
Алгоритм — это описание детерминированной последовательности действий, направленных на получение из исходных данных результата за конечное число дискретных шагов с помощью понятных исполнителю команд.
Исполнителем называется тот, кто исполняет алгоритм. Исполнителем алгоритма может быть человек, автомат, компьютер.
2) От какого слова произошло название алгоритма?
Название “алгоритм” произошло от латинской формы имени среднеазиатского математика аль-Хорезми – Algorithmi.
3) Назовите свойства алгоритмов?
Дискретность, результативность, массовость, детерминированность, выполнимость и понятность.
4) Какие существуют способы записи алгоритмов.
Для записи алгоритмов можно использовать разные способы:
словесный — каждое действие алгоритма описывается словами;
графический — действия алгоритмов представлены в виде картинок;
табличный — все шаги алгоритма записываются в таблицу;
в виде блок-схемы — описание алгоритма с помощью блок-схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками;
программа – алгоритм, записанный на “понятном” компьютеру языке программирования.
5) Рассказать об основных структурах алгоритмов.
Алгоритм, в котором команды выполняются последовательно одна за другой, называется линейным алгоритмом.
В алгоритмической структуре “ветвление” в зависимости от истинности или ложности условия выполняется одна или другая серия команд.
В алгоритмической структуре “цикл” серия команд (тело цикла) выполняется многократно.
6) Что такое программа?
Программа – последовательность стандартных операторов языка программирования, использующих допустимые данные.
7) Назовите основные этапы разработки линейной программы в среде программирования Pascal.
Основные этапы разработки программы в среде Паскаль.
1. Ввод и редактирование текста на языке программирования.
2. Сохранение текста программы на диске.
3. Запуск программы на исполнение.
4. Отладка программы.
5. Тестирование программы.
На интерактивной доске показывается изображение “Примеры выполнения линейной программы на Паскале”.
В качестве примера используется геометрическая задача нахождения гипотенузы в прямоугольном треугольнике.
Задание 1. Найти соответствие между понятиями в 1 колонке и определениями во 2 колонке и поставить стрелки. (Карточка оранжевого цвета)
Задание 2. Рассмотреть схемы структур алгоритмов и выявив соответствие между схемой и её названием, поставить стрелки. (Карточка желто-зелёного цвета)
Задание 3. Рассмотреть рисунки примеров алгоритмов, выявив соответствие между типом алгоритма и рисунком, поставить стрелки. (Карточка ярко-розового цвета)
4. Обобщение пройденного и изучение новой темы “Этапы решения задач с помощью компьютера”.
Задание 4. Поставить предполагаемые порядковые номера выполнения этапов. (Карточка ярко-жёлтого цвета)
После выполнения задания на экране появляется готовая схема: “Этапы решения задач с помощью компьютера”.
Человек использует компьютер для решения самых разнообразных информационных задач: работа с текстами, создание графических изображений, получение справки из базы данных, табличные расчеты, решение математических задач, расчет технических конструкций и многое другое. Для их решения в распоряжении пользователя имеется обширное программное обеспечение: системное ПО (ядром которого является операционная система), прикладное ПО (программы, предназначенные для пользователя) и системы программирования (средства для создания программ на языках программирования).
Постановка задачи. На этапе постановки задачи должно быть четко определено, что дано, и что требуется найти. Так, если задача конкретная, то под постановкой задачи понимают ответ на два вопроса: какие исходные данные известны и что требуется определить. Если задача обобщенная, то при постановке задачи понадобится еще ответ на третий вопрос: какие данные допустимы. Таким образом, постановка задачи включает в себя следующие моменты: сбор информации о задаче; формулировку условия задачи; определение конечных целей решения задачи; определение формы выдачи результатов; описание данных (их типов, диапазонов величин, структуры и т.п.).
Моделирование. На этом этапе строится математическая модель — система математических соотношений — формул, уравнений, неравенств и т.д., отражающих существенные свойства объекта или явления. Необходимо отметить, что при построении математических моделей далеко не всегда удается найти формулы, явно выражающие искомые величины через данные. В таких случаях используются математические методы, позволяющие дать ответы той или иной степени точности.
В случае большого числа параметров, ограничений, возможных вариантов исходных данных модель явления может иметь очень сложное математическое описание (правда, реальное явление еще более сложно), поэтому часто построение математической модели требует упрощения требований задачи. Необходимо выявить самые существенные свойства объекта, явления или процесса, закономерности; внутренние связи, роль отдельных характеристик. Выделив наиболее важные факторы, можно пренебречь менее существенными.
Итак, создавая математическую модель для решения задачи, нужно: выделить предположения, на которых будет основываться математическая модель; определить, что считать исходными данными и результатами; записать математические соотношения, связывающие результаты с исходными данными.
Построение алгоритма. Наиболее эффективно математическую модель можно реализовать на компьютере в виде алгоритмической модели. Для этого может быть использован язык блок-схем или какой-нибудь псевдокод, например учебный алгоритмический язык. Разработка алгоритма включает в себя выбор метода проектирования алгоритма; выбор формы записи алгоритма (блок-схемы, псевдокод и др.); выбор тестов и метода тестирования; проектирование самого алгоритма.
Программирование. Первые три этапа — это работа без компьютера. Дальше следует собственно программирование на определенном языке в определенной системе программирования. Программирование включает в себя следующие виды работ: выбор языка программирования; уточнение способов организации данных; запись алгоритма на выбранном языке программирования.
Отладка и тестирование программы. Под отладкой программы понимается процесс испытания работы программы и исправления обнаруженных при этом ошибок. Обнаружить ошибки, связанные с нарушением правил записи программы на языке программирования (синтаксические и семантические ошибки), помогает используемая система программирования. Пользователь получает сообщение об ошибке, исправляет ее и снова повторяет попытку исполнить программу.
Проверка на компьютере правильности алгоритма производится с помощью тестов. Тест — это конкретный вариант значений исходных данных, для, которого известен ожидаемый результат. Прохождение теста — необходимое условие правильности программы. На тестах проверяется правильность реализации программой запланированного сценария.
Таким образом, тестирование и отладка включают в себя синтаксическую отладку; отладку семантики и логической структуры программы; тестовые расчеты и анализ результатов тестирования; совершенствование программы.
Анализ результатов. Уточнение модели. Последний этап — это использование уже разработанной программы для получения искомых результатов Производится анализ результатов решения задачи и в случае необходимости — уточнение математической модели (с последующей корректировкой алгоритма и программы). Программы, имеющие большое практическое или научное значение, используются длительное время. Иногда даже в процессе эксплуатации программы могут исправляться, дорабатываться.
5. Решение задачи в среде программирования Free Pascal, используя этапы решения задач с помощью компьютера.
I этап (постановка задачи)
Задача № 5. Рассчитать расстояние полёта ракеты Гагарина (1 оборот вокруг Земли), если экваториальный радиус Земли R />6378 км, высота полёта ракеты над Землёй H />300 км.
02. Линейный алгоритм
Любой алгоритм можно составить из нескольких базовых структур. Простейшей из них является линейная (следование).
Линейный алгоритм (следование) образуется командами, выполняемыми однократно в той последовательности, в которой они записаны.
Программа на языке Pascal
var a, b, c: integer;
2. Объявление переменных
3. Начало блока операторов
4. Ввод исходных данных
5. Вычисление по формуле
6. Вывод результата
7. Конец блока операторов
- Определить, что является исходными данными, какие будут у них типы. Выбрать имена переменных.
- Определить, что является искомыми результатами, какие будут у них типы. Выбрать имена переменных.
- Определить, какие формулы связывают исходные данные с результатами.
- Если нужны промежуточные данные, определить их типы и выбрать имена вспомогательных переменных.
- Описать все используемые переменные.
- Записать алгоритм, который должен включать:
- ввод всех исходных данных;
- вычисления;
- вывод результатов.
- конечность – заключается в завершении работы всего алгоритма за определенно конечное число этапов (шагов);
- определенность (однозначность) – представляет собой единственность толкования правил для выполнения действий, а также порядка их выполнения;
- результативность – получение необходимого результата за любое конечное число шагов;
- понятность – указания должны быть понятны исполнителю;
- массовость – алгоритмы должны иметь возможность решать целый класс конкретных задач с общей постановкой задачи.
- линейный;
- разветвляющий;
- с циклом.
- Начало.
- Встань.
- Сделай зарядку.
- Умойся.
- Оденься.
- Позавтракай.
- Собери портфель.
- Конец.
- Блок начала-конца алгоритма. На блоке располагается надпись «начало» или «конец».
- Блок «ввод-вывод данных». Изображается этот блок в виде параллелограмма. На нем размещаются следующие надписи: «ввод», «вывод», «печать». Также к ним прилагается список вводимых или, соответственно, выводимых переменных.
- Арифметический блок, или блок решения. Ему соответствует прямоугольник. На блоке должна быть надпись: «операция», «группа операций».
- числитель дроби 1 нужно умножить на знаменатель дроби 2;
- знаменатель дроби 1 необходимо умножить на числитель дроби 2;
- требуется записать дробь, у которой числитель является результатом выполнения 1 пункта, а знаменатель – результатом выполнения 2 пункта. Алгебраическая форма этого правила имеет следующий вид:
- вычисления выражения;
- присвоения переменной полученного значения.
- присваивание;
- ввод;
- вывод.
Для ввода данных в языке Pascal используются процедуры
read(переменные); например, read(a, b, c);
readln(переменные); например, readln(a, b, c);
Для вывода данных в языке Pascal используются процедуры
write(выражения); например, write('a =', a, 'b + c =', b + c);
writeln(выражения); например, writeln('a =', a, 'b + c =', b + c);
Процедуры readln и writeln отличаются от read и write тем, что после ввода/вывода производят перевод строки.
В языке программирования Pascal имеется 6 арифметических операции и несколько встроенных функций. Обратите внимание, что существуют довольно строгие ограничения на использование арифметических операций с разными типами данных.
Линейные алгоритмы — схема, структура и вычисление
Повседневная жизнь каждого человека заключается в решении огромного количества задач различной сложности на работе или во время учебы. Некоторые задачи являются настолько простыми, что при их выполнении мы делаем определенные действия автоматически, даже не задумываясь. Решение любой задачи, даже самой простой, как правило, осуществляется последовательно за несколько шагов. Такого рода последовательность при решении задач называется алгоритмом. Сегодня мы рассмотрим, что такое линейные алгоритмы, как изображается их структура, как осуществляется их решение и программирование.
Алгоритмический язык
Это понятие представляет собой точное предписание для исполнителя совершить определенную последовательность действий, которая направляется на решение поставленной задачи.
Данный язык является средством описания алгоритмов, которые ориентированы обычно на пользователя.
Если говорить на компьютерном языке, так обозначается точное предписание, определяющее вычислительный процесс. Он, в свою очередь, ведет от начальных данных, которые варьируются, к исходному результату.
Разработка алгоритма — довольно сложный и трудоемкий процесс. Он представляет собой технику составления (разработки) последовательности действий, предназначающихся для решения задач с помощью ЭВМ.
Свойства алгоритма
Среди свойств выделяют:
Линейные алгоритмы. Информатика 9 класса
Мы уже рассмотрели определения и свойства данного понятия. Теперь поговорим о его видах:
Нас интересуют линейные алгоритмы. Что они собой представляют? Они содержат команды, которые должны выполняться одна за другой в четкой последовательности.
Линейная структура алгоритма может быть записана в словесной и графической форме.
Приведем такой пример, записанный в словесной форме. Итак, задача: соберись в школу. Решение:
Графическая форма вышеописанного процесса будет предсатвлять собой следующее:
Линейный алгоритм в виде блок-схемы
Блок-схема представляет собой иллюстративное изображение алгоритма, при котором каждый отдельный этап изображается с помощью блоков, представленных в виде разнообразных геометрических фигур. К тому же связь между этапами (иными словами, последовательность поэтапного выполнения) обозначается с помощью стрелок, которые соединяют фигуры (блоки). Каждый блок сопровождается надписью. Для типичных действий в линейном алгоритме используются следующие геометрические фигуры:
Вот с помощью таких блок-схем изображается решение линейных алгоритмов. Далее поговорим об особенностях присваивания значений.
Линейные вычислительные алгоритмы
Основное элементарное действие в вычислительном алгоритме – это присваивание переменной величине определенного значения. В случае, когда значение константы определяется видом ее записи, переменная величина получит конкретное значение исключительно в результате присваивания. Это может быть выполнено с помощью двух способов: при помощи команды присваивания; при помощи команды ввода.
Пример решения линейного алгоритма
Приведем пример описания правил деления обыкновенных дробей с помощью линейного алгоритма, которые в школьных учебниках имеют такое содержание:
Итак, построим для ЭВМ алгоритм деления дробей. Чтобы не запутаться, будем использовать для переменных те самые обозначения, что и в формуле, которая была указана выше. а, b, с, d– исходные данные в виде целочисленных переменных. Результатом также будут целые величины. Решение на алгоритмическом языке будет следующим:
алг Деление дробей
нач
цел а, b, с, d, m, n
кон
Графическая форма решения
Схема линейного алгоритма, описанного выше, выглядит так:
Команда присваивания значения имеет следующий формат:
Знак «:=» читается как присвоить.
Присваивание – это команда, которая необходима для выполнения компьютером следующих действий:
Приведенный выше алгоритм содержит две команды в качестве присваивания. В блок-схеме команду присваивания нужно записывать в прямоугольнике, который называется вычислительным блоком.
Когда описываются линейные алгоритмы, нет особой необходимости в обязательном соблюдении строгих правил при записи выражений. Можно их записывать с помощью обычной математической формы. Ведь это не строгий синтаксис языка программирования.
В приведенном примере алгоритма есть также команда ввода:
Команда ввода в блок-схеме записывается в параллелограмме, то есть в блоке ввода-вывода. Выполняя эту команду, процессор прерывает работу, пока пользователь не осуществит определенные действия. А именно: пользователю нужно на устройстве ввода (клавиатуре) набрать вводимые переменные (их значения) и нажать Enter, которая выступает клавишей ввода. Важно, чтобы значения вводились в таком же порядке, что и расположенные в списке ввода соответствующие переменные.
Линейный алгоритм. Его программирование
Как уже говорилось в начале статьи, линейные программы могут включать такие операторы:
То есть с помощью перечисленных операторов осуществляется программирование линейных алгоритмов.
Итак, оператор присваивания на программном языке записывается так:
LET А = В, где А – переменная, В – выражение. Например, А = У + 20.
Оператор ввода имеет следующий вид:
INPUT, к примеру: INPUT С
Оператор вывода данных, значений, записывается в таком виде:
PRINT. К примеру PRINT С.
Приведем простой пример. Нам нужно написать программу, которая будет находить сумму вводимых с клавиатуры чисел А и В.
На языке программирования мы получим программу, текст которой изображен ниже.
Операторы ввода, вывода в языке программирования Паскаль
Паскаль не выделяет специальных операторов, обозначающих операции ввода или вывода, которые используют линейные алгоритмы. В программах обмен информацией осуществляется с помощью встроенных процедур. Поскольку нет нужды в предварительном описании стандартной процедуры, она доступна каждой программе, содержащей обращение к ней. Также названием упомянутой процедуры не выступает какое-либо зарезервированное слово.
При вводе данных используют такие операторы для обращения к стандартной процедуре ввода данных, которая уже встроена в программу.
Read (А, В, С), где А, В, С – переменные, которые нужно ввести в оперативную память для запоминания.
Readlnn (х1, у, х2) – закончив ввод, курсор переходит на начало новой строки.
Readlnn; — свидетельствует об ожидании нажатия «Enter». Как правило этот оператор вставляют в текст перед последним «End», чтобы сохранить результаты выполнения программы на экране содержимого.
Вывод на экран монитора данных осуществляется с помощью таких операторов:
Write (А, В, С) – указав значения А, В, С в одной строке, курсор не покидает текущей строки.
Writeln (z, у, z2) – закончив вывод значений, курсор в данной позиции перейдет на новую строку.
Writeln; — свидетельствует о пропуске одной строки и переходе на начало новой.
Вот с помощью таких простых операторов и осуществляется ввод и вывод данных в языке Паскаль.