Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Криванкова Л.С.
В данной статье описывается одна из базовых структур алгоритмов , а именно линейные алгоритмы . Представлен стандартный способ соединения набора блоков для выполнения типичных последовательностей действий. Также приведены примеры записи линейных алгоритмов в виде блок-схем и реализация их на языке С++, так как данный язык является одним из наиболее распространенных и удобных для пользования.This article describes one of the basic structures of algorithms, namely linear algorithms. A standard way of connecting a set of blocks to perform typical sequences of actions is presented. Examples of writing linear algorithms in the form of flowcharts and their implementation in C++ are also given, since this language is one of the most common and convenient to use.
i Надоели баннеры? Вы всегда можете отключить рекламу.
Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Криванкова Л.С.
Оптимизация алгоритмов сортировки при решении задач с массивами
Python. Программирование линейных алгоритмов
Методика проведения вводной лабораторной работы при изучении студентами бакалавриата языка программирования с++
Циклы и массивы в языке программирования Си++
Автоматизированная система верификации программных приложений
НЕКОТОРЫЙ АЛГОРИТМ ВЫЧИСЛЕНИЯ ВНЕШНЕЙ СТЕПЕНИ ПРЕДСТАВЛЕНИЯ π2 АЛГЕБРЫ ЛИ Α N
i Не можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры?
Вы всегда можете отключить рекламу.
Текст научной работы на тему «Реализация линейных алгоритмов на языке с++»
РЕАЛИЗАЦИЯ ЛИНЕЙНЫХ АЛГОРИТМОВ НА ЯЗЫКЕ С++
Л.С. Криванкова, магистр педагогических наук, старший преподаватель Жетысуский государственный университет (Казахстан, г. Талдыкорган)
Аннотация. В данной статье описывается одна из базовых структур алгоритмов, а именно линейные алгоритмы. Представлен стандартный способ соединения набора блоков для выполнения типичных последовательностей действий. Также приведены примеры записи линейных алгоритмов в виде блок-схем и реализация их на языке С++, так как данный язык является одним из наиболее распространенных и удобных для пользования.
Ключевые слова: алгоритм, линейный алгоритм, программа, блок-схема, оператор.
Повседневная жизнь любого человека заключает в себе решение большого количества задач разной сложности. Это может происходить на работе или во время учебного процесса. Некоторые задачи настолько простые, что мы их, даже не задумываясь, выполняем автоматически. Решение любой задачи, даже если она самая простая, как правило, исполняется последовательно за несколько этапов. Подобного типа последовательность при решении задач называется алгоритмом. В данной статье мы рассмотрим, что представляют собой линейные алгоритмы, как изображает-
ся их структура, как реализовывается их решение и программирование.
В алгоритмическом языке линейным является алгоритм, состоящий из команд, выполняющихся одна за другой. Команды в записи алгоритма расположены в таком порядке, в каком обязаны быть реализованы предписываемые ими действия. Данный порядок выполнения называется естественным. Последовательность команд образует составную команду «цепочка», которая в записи блок-схемы имеет вид, приведенный ниже на рисунке [1].
C++ | Линейный алгоритм в С++ (А + В)
Рис. Блок-схема записи последовательности команд
В математике к линейным алгоритмам относятся алгоритмы, которые представлены формулами. Они более простые для программирования.
В настоящее время существует множество разных языков программирования. Одним из таковых является язык С++. Он востребован, популярен и удобен для использования. Язык программирования С++ обладает рядом достоинств перед другими
языками и применяется во всех областях современности.
Рассмотрим следующие задачи: Задача 1. Даны три числа. Увеличьте их в 4 раза и выведите на кран.
Задача 2. Даны три целых числа. Необходимо найти их среднее арифметическое.
Задача 3. Даны катеты прямоугольного треугольника. Необходимо найти его периметр [2].
Если известны исходные данные, тогда решить данные задачи не составит много труда. Но наша цель — научиться разъяснять, как их решить, формальному исполнителю — компьютеру.
Для того, чтобы достигнуть цели во всех случаях необходимо реализовать следующие действия:
1. установить, что является исходными данными и определить их тип;
2. установить, что можно считать результатом и определить тип его значения;
3. выбрать как будут обозначены переменные, где будут храниться исходные данные и результаты;
4. установить, понадобятся ли вспомогательные переменные для того чтобы хранить промежуточные результаты;
5. выбрать операции, необходимые для того, чтобы выполнить для решения задачи и при этом выяснить, каким образом данные операции будут записаны в систему команд исполнителя;
6. обеспечить ввод исходных данных;
7. показать порядок выполнения действий;
8. обеспечить вывод результатов, для того чтобы он был доступен человеку, использующий эту программу.
Разработаем алгоритм и программу для каждой из задач в соответствии с указанным порядком действий.
Рассмотрим примеры записи линейных алгоритмов в виде блок-схемы и на языке С++.
Пример 1. Даны три числа. Увеличьте их в 4 раза и выведите на кран.
// Ввод значение переменных
Источник: cyberleninka.ru
Практическая работа. Программирование линейных алгоритмов
учебно-методический материал по информатике и икт на тему
Практическая работа. Программирование линейных алгоритмов
Цель работы
Выработать практические навыки работы с системой Pascal ABC, научиться создавать, вводить в компьютер, выполнять и исправлять простейшие программы на языке Pascal в режиме диалога, познакомиться с диагностическими сообщениями компилятора об ошибках при выполнении программ, реализующих линейные алгоритмы.
Общие сведения
Линейным называется алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых значениях исходных данных. Операторы программы выполняются последовательно, один за другим, в соответствии с их расположением в программе.
Примеры решения задач по теме «Программирование линейных алгоритмов»
Задание
Определить расстояние на плоскости между двумя точками с заданными координатами и
Скачать:
![]() |
27.93 КБ |
Предварительный просмотр:
Практическая работа. Программирование линейных алгоритмов
Цель работы
Выработать практические навыки работы с системой Pascal ABC, научиться создавать, вводить в компьютер, выполнять и исправлять простейшие программы на языке Pascal в режиме диалога, познакомиться с диагностическими сообщениями компилятора об ошибках при выполнении программ, реализующих линейные алгоритмы.
Общие сведения
Линейным называется алгоритм, в котором результат получается путем однократного выполнения заданной последовательности действий при любых значениях исходных данных. Операторы программы выполняются последовательно, один за другим, в соответствии с их расположением в программе.
Примеры решения задач по теме «Программирование линейных алгоритмов»
Задание
Определить расстояние на плоскости между двумя точками с заданными координатами и
Этапы решения задачи
- Математическая модель: расстояние на плоскости между двумя точками M 1( x 1, y 1) и M 2( x 2, y 2) вычисляется по формуле
- Для вычисления расстояния d между точками M 1( x 1, y 1) и M 2( x 2, y 2) определим в качестве входных данных значения координат .
- Составляем блок-схему алгоритма.
- Прежде чем приступить к программированию, выражение правой части уравнения представим в виде последовательности вычислительных операций, ограниченных скобками, с использованием формул преобразований и стандартных функций языка Pascal: .
- Переводим блок-схему на язык Pascal.
VAR X1, X2, Y1, Y2: INTEGER;
WRITE (‘ВВЕДИТЕ КООРДИНАТУ X1= ‘); READLN (X1);
WRITE (‘ВВЕДИТЕ КООРДИНАТУ Y1= ‘); READLN (Y1);
WRITE (‘ВВЕДИТЕ КООРДИНАТУ X2= ‘); READLN (X2);
WRITE (‘ВВЕДИТЕ КООРДИНАТУ Y2= ‘); READLN (Y2);
WRITELN (‘РАССТОЯНИЕ МЕЖДУ ТОЧКАМИ =’,D);
Выполнение программы в среде PascalABC.NET
- Запустите среду разработки PascalABC.NET , используя иконку на рабочем столе компьютера .
- Введите текст программы в окне редактора
- Сохраните программу с помощью команд меню Файл/Сохранить .
- Запустите программу на исполнение с помощью команд меню Программа /Выполнить или клавиша F9. Если во время компиляции программы обнаружены ошибки, необходимо исправить их, и повторно запустить программу на исполнение.
- Введите исходные данные в окне ввода.
- После ввода данных выводится результат работы программы.
Варианты заданий по теме «Линейные алгоритмы»
Дана длина ребра куба H . Найти объем куба V и площадь его боковой поверхности S .
Определить время t падения камня на поверхность земли с высоты h .
Известна длина окружности. Найти площадь круга S , ограниченного этой окружностью.
Треугольник задан координатами своих вершин. Найти: периметр треугольника P ; площадь треугольника S .
Три сопротивления R 1, R 2, R 3 соединены параллельно. Найти сопротивление соединения.
По данным сторонам прямоугольника вычислить его периметр P , площадь S и длину диагонали.
Определить координаты вершины параболы. Коэффициенты a, b, c заданы.
Вычислить площадь треугольника по формуле Герона, если заданы его стороны.
Определить расстояние S и скорость v , пройденное физическим телом за время t , если тело движется с постоянным ускорением а и имеет в начальный момент времени скорость v0.
Вычислить объем и площадь цилиндра с радиусом основания r и высотой h .
Вычислить высоту треугольника, опущенную на сторону а , по известным значениям длин его сторон a, b, c .
В квадратной комнате шириной A и высотой B есть окно и дверь с размерами и соответственно. Вычислите площадь стен для оклеивания их обоями.
Найти: площадь трапеции S , если заданы стороны
Вычислить путь, пройденный лодкой S , если ее скорость в стоячей воде v км/ч, скорость течения реки v 1 км/ч, время движения по озеру t 1 ч, а против течения реки – t 2 ч.
Определить объем V и температуру T смеси двух жидкостей при заданных значениях .
- Какой алгоритм называется линейным?
- Назовите основные символы алфавита языка программирования Паскаль АВС?
- Каковы приоритеты выполнения операций?
- Какие правила следует соблюдать при записи математических выражений на языке программирования Паскаль АВС?
- Для чего необходимо компилировать программу?
- Как запустить программу на выполнение?
- Как увидеть результаты выполнения программы на экране?
- Можно ли копировать фрагменты программы?
- Какое расширение имеют файлы, созданные в среде программирования Паскаль АВС?
- Как открыть файл в среде программирования Паскаль АВС?
- Как создать файл в среде программирования Паскаль АВС?
По теме: методические разработки, презентации и конспекты
Лекция «Программирование» Линейные алгоритмы
В данной лекции по дисциплине «Программирование» представлен материал для программирования линейных конструкция в языке С++.
Программирование линейных алгоритмов. Самостоятельная работа по информатике в 9 классе.
презентация для урока в 10 классе по учебнику Семакина «Программирование линейных алгоритмов, Практическая работа №8»
Презентация для урока (по учебнику Семакина) «Программирование линейных алгоритмов, Практическая работа №8», 10 класс Цель урока: формирование знаний и умений по работе с линейными алгоритмами: с.
27 февраля 2015 года. Городской конкурс «Учитель года». 8 класс. Программирование линейных алгоритмов
Скажи мне – и я забуду,Покажи мне – и я запомню,Вовлеки меня — и я пойму. (Древняя китайская мудрость)Тема: Программирование линейных алгоритмов. 8 класс Цель урока: Формир.
Программирование линейных алгоритмов
Презентация для проведения урока на тему Программирование линейных алгоритмов в 9 классе, учебник Босова.
Контрольная работа по программированию «Линейный алгоритм» для 9 класса.
Контрольная работа содержит 2 варианта заданий. Каждый вариант состоит из 5 заданий. Дополнительно в каждом варианте есть 2 задания повышенной сложности по теме «Ветвление», которые учащиеся.
Практические работы.» «Программирование на языке Pascal. Линейные алгоритмы»»
Практические работы.» «Программирование на языке Pascal. Линейные алгоритмы»»Практическая работа № 1 Начало программирования. Работа в программе PascalABC. Решение зада.
Источник: nsportal.ru
Программирование линейных Алгоритмов
Итак, мы уже знакомы с некоторыми основными (базовыми) понятиями языка Паскаль. Теперь можно приступать к непосредственному изучению программирования на этом языке тех типов алгоритмов, о которых говорилось ранее.
Вспомним, что программа — это упорядоченный список команд на некотором конкретном языке программирования. Запрограммировать некоторый алгоритм означает написать программу, реализующую этот алгоритм. Попробуем для начала программировать алгоритмы линейной структуры.
Напомню, что линейным называется алгоритм, в котором все этапы решения задачи выполняются строго последовательно, т.е. линейный алгоритм выполняется в естественном порядке его написания и не содержит разветвлений и повторений.
Для реализации алгоритмов линейной структуры используются операторы:
+ Оператор (процедура) вывода — Write ( ); или Writln ( ) + Оператор (процедура) ввода — Read ( ); или Readln ( ) + Оператор присваивания —: =
Рассмотрим эти операторы подробнее.
Оператор присваивания. В результате присваивания переменная получает конкретное значение.
Процедуры вывода. Процедура WRITE предназначена для вывода на экран монитора сообщений и значения выражений или переменных.
Для того, чтобы вывести сообщение, нужно заключить его в апострофы (буква Э) в этом случае то, что заключено в апострофы, при работе вашей программы появится на экране монитора без изменений.
write(‘IIpHBeT’);
После выполнения этой строки программы на экране появится надпись:
Привет
Если вы хотите вывести на экран результат некоторых ваших вычислений, т.е. не сообщение, а значение, хранимое в некоторой переменной, то апострофы не ставятся.
Например: пусть в некоторой переменной Dok в результате вычислений хранится целое значение = 55, которое вы хотите вывести на экран. Тогда достаточно записать в программе следующую строку:
write(Dok);
После выполнения этой процедуры на экране появится:
Если же, например, надо вывести некоторое вещественное значение, то можно использовать форматы вывода.
Например: пусть в некоторой переменной D в результате вычислений хранится значение — 12, 4567, которое вы хотите вывести на экран. Тогда запишем оператор:
write(D: 5: 2);
Здесь использован формат вывода, где первая цифра означает общее количество знаков в выводимом числовом значении, а вторая цифра — количество знаков после запятой. В результате выполнения этой процедуры на экране появится:
12, 45
Т.е. последние две цифры не пропечатаются, так как в формате мы указали только две цифры после запятой. Чтобы пропечатать число полностью надо видоизменить оператор:
write(D: 7: 4);
Тогда после выполнения этой процедуры на экране появится:
12, 4567! Значение переменных перечисляемого типа нельзя
вывести с помощью процедуры write.
Рассмотрим еще один пример. Пусть в переменной kol хранится количество книг в некоторой библиотеке. Например =10675. Выведем это значение на экран, но с пояснением для пользователя вашей программы, т.е. на экране должно появиться:
Всего книг — 10675
Этого можно добиться следующей последовательностью операторов:
Write(‘Bcero книг — ‘);
Write(kol);
А можно записать все в одном, разделив параметры в скобках запятой:
Write(‘Bcero книг — ‘, kol);
Результат будет один и тот же.
Процедура Writeln выводит информацию строкой. После того как была выведена информация, записанная в скобках после имени процедуры, курсор переместится на другую строку.
Процедуры ввода. Для ввода данных используют процедуры read, readln.
Процедура read считывает данные, вводимые с клавиатуры, а процедура readln считывает данные и символ
конца строки. Т.е. как и в случае с процедурой вывода, частица In (line) в конце означает, что после выполнений процедуры ввода курсор будет переведен на следующую строку.
Составить программу, которая находит площадь прямоугольника произвольных размеров. Решение: Program Wip; Var Dlina, Shirina, S: real; Begin
Writeln(‘B8eflHTe длину прямоугольника’);
У/гКе1п(‘Введите ширину прямоугольника’);
Л/гНе1п(‘Площадь прямоугольника с шириной ‘
, Shirina: 8: 2, ‘H длиной «, Dlina: 8: 2, ‘paBHa’, S: 8: 2);
Кстати, приведенная выше программа реализует алгоритм линейной структуры (алгоритм вычисления площади прямоугольника).
Рассмотрим еще примеры реализации алгоритмов линейной структуры.
Алгоритм Квадрат_числа; Переменные X, Y: вещественные числа; Начало Ввод (X); Y: =X*X; Вывод(У); Конец.
Запишем программу на языке Паскаль, реализующую данный алгоритм; для вычисления квадрата числа здесь используется стандартная арифметическая функция языка Паскаль — sqr( ):
Обратите внимание на использование здесь операторов вводавывода.
Во-первых, в начале программы (строки № 4, 5) оператору ввода значения в переменную х (Readln (x); ) предшествует оператор вывода на экран приглашающего сообщения (Write (‘Введите х -> ‘); ). В результате работы этого оператора вывода во время исполнения программы перед пользователем на экране появится сообщение:
Введите х -> _
~V_I——— 1
Мигающий курсор после сообщения показывает, что машина готова «узнать» ответ пользователя. В месте этого курсора пользователь сможет набрать с клавиатуры число, квадрат которого он хочет рассчитать.
После того как число набрано и будет нажата клавиша Enter, управление перейдет к следующему оператору
(Readln (x); ), который прочитает введенное пользователем сообщение и запишет его в переменную х.
Такой способ общения программы с пользователем часто называют режимом диалога, подразумевая здесь диалог машины (программы) и человека (пользователя).
А операторы вводавывода используются в том числе для организации такого режима диалога.
Во-вторых, при выводе результата расчета в операторе вывода (Writeln) через запятую перечислено два параметра: (‘у = ‘, у), первый из которых стоит в апострофах (‘у =’), а второй — без них (у). В чем разница? То, что в параметрах оператора вывода стоит в апострофах, выводится на экран без каких-либо изменений. По сути, это просто строка некоторого сообщения. А второй параметр оператора вывода (без апострофов) выдаст на экран не саму букву у, а значение (в данном случае численное), хранящееся в переменной под именем у. Т.е. на экране появится строка вида:
У=1
Кроме того, напомню, что частичка In в конце оператора вводавывода означает, что после выполнения заданного оператором действия курсор будет переведен на следующую (пока пустую) строку экрана.
С учетом всего вышесказанного во время работы программы перед пользователем на экране сформируется следующая последовательность записей (например):
Введите х -> 2
У=4
Эта последовательность строк называется протоколом работы программы.
Рассмотрим еще один пример. В предыдущих лекциях нами был рассмотрен очень полезный линейный алгоритм. Вспомним его и запишем программную реализацию на языке Паскаль.
Пример
Даны переменные А и В. Требуется обменять их значения, т.е. переменная А должна получить значение В, а В — значение А.
1. Исходные данные: А, В. Вспомогательная переменная DOP. Результат: А, В.
2. Метод решения задачи. В ЭВМ каждая величина хранится в отдельном участке памяти (переменной). Поэтому задача заключается в том, чтобы поменять местами содержимое двух ячеек. Решение задачи распадается на три этапа. Запись этого алгоритма с помощью псевдокода:
Алгоритм Перемещение; Переменные А, В, Оор: целые числа; Начало
Ввод (А, В);
Dop: =A;
А: =В;
B: =Dop;
Вывод(А, В); Конец.
Программная реализация будет иметь вид: Program OBMEN; Var a, b, dop: integer; Begin
Write (‘Введите а -> ‘);
Readln (a);
Write (‘Введите b -> ‘);
Readln (b);
Dop: =A;
А: =В;
B: =Dop;
Writeln (‘a = ‘, а);
Writeln (‘b = ‘, b); End.
В фигурных скобках здесь записаны комментарии к участкам программы, идущим ниже. Комментарии — это некоторые пояснения к программе, которые не являются исполняемыми операторами (т.е. при работе программы не отрабатывают как операторы и, более того, не компилиру-
ются компилятором языка в исполняемый код), а лишь помогают программисту разобраться в самой программе.
Комментарии удобно применять при разработке больших программ или программных продуктов, а так же при работе в группе программистов.
Попробуйте самостоятельно разобраться в этой программе, для чего ответьте на следующие вопросы:
1. Найдите операторы программы, отвечающие за реализацию режима диалога.
2. Что будет выводиться на экран пользователю после выполнения оператора Writeln (‘а = ‘, а); ?
3. В какой части программы происходит собственно реализация алгоритма обмена с помощью дополнительной переменной?
По возможности наберите программу в среде Турбо Паскаль и протестируйте ее исполнение. Протокол работы программы перепишите с экрана в тетрадь.
Выводы
Попробуем обобщить все вышесказанное.
1. Составной оператор — это последовательность
произвольных операторов программы, заключенная в опе
раторные скобки — зарезервированные слова Begin. .. end.
2. Символ «; » называется пустым оператором и озна
чает окончание предшествующего ему оператора.
3. Для реализации алгоритмов линейной структуры
используются операторы:
+ Оператор (процедура) вывода — Write (); или Writln () + Оператор (процедура) ввода — Read (); или Readln () + Оператор присваивания —: =
Контрольные вопросы______________________
1. Составной оператор — это.
а) последовательность команд, необходимых для реше
ния некоторой задачи;
б) последовательность операторных скобок Begin. .. end;
в) последовательность произвольных операторов про
граммы, заключенная в операторные скобки — зарезер
вированные слова Begin. .. end.
Укажите правильный вариант ответа.
2. Для реализации алгоритмов линейной структуры
используются операторы:
Один из пунктов здесь лишний. Укажите, какой именно.
3. В результате присваивания переменная получает
конкретное значение.
Верно ли данное высказывание?
4. Процедура WRITE предназначена для.
а) вывода на экран монитора сообщений и значения
выражений или переменных;
б) ввода данных значения выражений или переменных.
Укажите правильный вариант ответа.
5. Процедура READ предназначена для.
а) вывода на экран монитора сообщений и значения
выражений или переменных;
б) ввода данных значения выражений или переменных.
Укажите правильный вариант ответа.
6. Какой из нижеперечисленных операторов выведет
на экран сообщение следующего вида: «write(‘Bec одной
пачки = ‘, v: 7: 2); », если переменной V р, о этого было при
своено значение 12, 5674?
а) вес одной пачки = 12, 5674; б)12, 5674;
в) вес одной пачки = 12, 56;
г) вес одной пачки = 12, 5.
Укажите правильный вариант ответа.
Ответы
1. Правильный ответ — в.
2. Правильный ответ — б.
3. Правильный ответ — ДА.
4. Правильный ответ — а.
5. Правильный ответ — б.
6. Правильный ответ — в.
Задания и упражнения
Составить и протестировать на машине программы для решения следующих задач.
1. Построили N домов (пятиэтажных и девятиэтажных), из них Y домов — пятиэтажные. Сколько девятиэтажных домов построили?
2. Даны величины переменных А, В, С, D. Требуется переместить значение переменных следующим образом: в переменную В поместить значение из А, в А — значение из D, в D — значение из С, переменной С присвоить значение суммы А и D.
Источник: lektsia.com