Программирование алгоритмов линейной структуры паскаль

Программирование алгоритмов линейной структуры паскаль

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

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

Вычислить значение функции

Очевидно, что функцию Y целесообразно вычислять в такой последовательности: предварительно введя исходные данные a, b, c и присвоив значение переменной х, вначале найдем значение выражения, которое обозначим переменной z, и далее определим выражение Y. Используя общепринятые символы блоков (рисунок 1), изобразим схему разрабатываемого алгоритма (рисунок 2) и составим программу при значении аргумента x=1.5 и произвольных значениях переменных a, b, c.

Рисунок 2 – Схема алгоритма линейной структуры

После запуска программы на выполнение вводим численные значения исходных данных a, b, c с клавиатуры, разделяя числа пробелами. После выполнения программы на экране появится результат вычислений. Результат выполнения программы представлен на рисунке 3.

Рисунок 3 – Результат выполнения Примера3

Рассмотрим реализацию простейшего линейного алгоритма на языке Pascal и приведем полный текст программы.

Вычислить значение функции Y по формуле

Рисунок 4 – Схема алгоритма линейной структуры Примера 4

После запуска программы на выполнение вводим численные значения исходных данных a, b, x с клавиатуры, разделяя числа пробелами. Результат выполнения программы представлен на рисунке 5.

Рисунок 5 – Результат выполнения Примера 5

2. Индивидуальные задания

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

Составить программы на языке Turbo Pascal.

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

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

При составлении схем алгоритма:

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

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

Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 4.2, y = 3.1, z = 6 результат вычисления D = 3.837.

2. Для уборки зерна используется D комбайнов производительностью R га/час. Определить, какую площадь S (га) уберут комбайны за 16 часов.

Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 1.5, y = 4.7, z = 0.3 результат вычисления V = 0.3542.

2. Прямоугольный участок со стороной B м и длиной X м надо огородить сеткой. Определить, сколько метров сетки для этого потребуется, если на участке имеется калитка шириной C м.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 0.3, y = 9, z = 2.2 результат вычисления Q = 3.7341.

2. Ферма содержит в хозяйстве M коров и N телят. Суточное потребление сена коровой составляет A кг, теленка – в 2 раза меньше. Определить, сколько килограммов сена необходимо для коров и телят на 30 дней.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 0.5, y = 1.8, z = 4 результат вычисления W = 9.0105.

2. Лесное озеро имеет форму круга. Лесник обходит периметр озера со средней скоростью X км/ч за T часов. Определить площадь озера.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 8.4, y = 9, z = 12 результат вычисления P = 6.8121.

2. За один день грузовой автомобиль проезжает по городу N км, а по трассе – Z км. Средний расход топлива по городу составляет 22 литра на 100 км, по трассе – 18 литров на 100 км. Определить, сколько топлива расходует грузовой автомобиль за рабочую неделю.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 6, y = 5.5, z = 2 результат вычисления S = -2.0175.

2. Ячменем засеяна площадь S га. Урожайность этой культуры составляет N ц/га. Для доставки зерна на элеватор используются автомобили грузоподъемностью M тонн. Определить, сколько автомобилей требуется для доставки на элеватор всего ячменя. 1 т = 10 ц.

Читайте также:  Как полностью снести андроид на телефоне

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 6.3, y = 4, z = 0.25 результат вычисления H = -0.5817.

2. Автохозяйство имеет M грузовых автомобилей. Плановый пробег за месяц эксплуатации одного автомобиля составляет L км. Норма расхода дизтоплива для грузового автомобиля составляет 22 литра на 100 км. Определить годовую потребность P автохозяйства в топливе в литрах.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 2.1, y = 4.6, z = 3.7 результат вычисления R = 1.3462.

2. Для уборки зерна используется R комбайнов производительностью W га/час. Продолжительность рабочего дня комбайнов составляет K часов. Определить, какую площадь S га уберут комбайны за 5 дней.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 0.6, y = -3.2, z = 4 результат вычисления F = -0.3484.

2. Садовый участок имеет форму прямоугольника, ширина которого A м, длина – B м. Участок по периметру огорожен забором, высота которого 1,8 м. Определить, сколько килограммов краски потребуется для окрашивания забора. Расход краски составляет P грамм на 1 м 2 .

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 12, y = 6, z = 0.37 результат вычисления D = -1.2917.

2. Поле имеет форму квадрат со стороной C м. На ручной уборке картофеля задействована группа из 25 студентов. Скорость уборки картофеля одним студентом составляет R м 2 за 1 час. Определить, сколько дней D необходимо запланировать на уборку поля, если продолжительность рабочего дня составляет 8 часов.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= 0.2, y = 4.1, z = 6.7 результат вычисления C = 8.089.

2. На молочно-товарной ферме 200 коров. Удой каждой коровы составляет Z литров в сутки. При охлаждении молока на каждый литр расходуется 6 литров холодной воды. Определить, сколько литров L воды будет израсходовано за месяц.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= — 0.5, y = 1.8, z = 2 результат вычисления T = 0.3496.

2. Комнату, ширина которой составляет A м, длина – L м, необходимо отклеить обоями. Высота потолков в комнате – В м. Определить, сколько потребуется трубок обоев. Длина трубки обоев – 10,5 м, ширина трубки – X см.

1. Составить схему алгоритма и программу для вычисления выражения

Убедиться, что при заданных численных значениях исходных данных x= — 0.2, y = 1.7, z = 4 результат вычисления U = -0.6832.

2. Участок имеет форму прямоугольника. Ширина участка составляет R метров, площадь участка – S м 2 . Определить, сколько потребуется пролетов забора для ограждения участка, если длина одного пролета составляет 3 метра.

Методический материал "Программирование линейных алгоритмов и ветвлений на Паскале" закрепляет знания по реализации линейных и разветвляющихся алгоритмов на компьютере в программной оболочке PascalABC.NET

Просмотр содержимого документа
«Программирование линейных алгоритмов и ветвлений на Паскале»

Практическое занятие №5

Программирование линейных алгоритмов и ветвлений на Паскале

Цель работы: изучить среду программирования и структуру программы PascalABC.NET, научиться составлять несложные программы в этой среде программирования, производить тестирование программы.

Оборудование: персональный компьютер, инструкция к работе, презентация, программа Net Op, PascalABC.NET

Программирование линейных алгоритмов

Рассмотрим пример программы линейного алгоритма.

Пример 1. Длина отрезка задана в дюймах (1 дюйм = 2,54 см). Перевести значение длины в метрическую систему, т. е. выразить ее в сантиметрах.

write(‘Длина в дюймах:’);

writeln (‘Длина в сантиметрах ‘,m);

Пример 2. Треугольник задан величинами своих сторон. Найти его площадь.

var a,b,c,р,s : real;

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

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

Ответ на первый вопрос возникает естественно: нет, в любом случае какое-то количество бензина машина будет расходовать. Но какое? Простое суммирование или нахождение среднего значения исходных данных даст нам неверный результат. Практически тот же подход используется и при решении большинства задач «на время», на перевод величин в разных системах мер, на экономию операций при выполнении некоторых действий.

Читайте также:  Как делать схему сложного предложения

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

Пример 3. Решить задачу обмена значениями двух переменных, не используя дополнительных переменных и предполагая, что значениями целых переменных могут быть произвольные целые числа.

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

(Блок-схему алгоритма составить самостоятельно)

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

Пример 4. Часовая стрелка образует угол лучом, проходящим через центр циферблата и через точку, соответствующую 12 часам. По значению угла определить время, показываемое часами.

Циферблат разбит на 12 равных частей (часов). Циферблат, как окружность, имеет 360 градусов. Значит, один полный час равен 30 градусам.

То есть количество полных часов определяется выражением div 30. За один полный час, т. е. за 30 градусов хода часовой стрелки, минутная совершает полный оборот, т. е. 360 градусов. Значит, 1 минута равна 2 градусам и количество минут в текущем часе будет равно: (mod 30)*2.

Точность определения времени по углу часовой стрелки равна ±1 минута.

(Блок-схему алгоритма составить самостоятельно)

var fi,chas,min: integer;

write (‘Введите угол ‘ ) ;

write(‘Текущее время ‘,chas,’ час’,min,’ мин’);

Алгоритмы с ветвящейся структурой на языке Паскаль

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

Условный оператор используется для реализации разветвлений в программе, которые происходят при выполнении некоторого условия, и имеет следующую структуру:

Данная запись читается как: ЕСЛИ ТО … ИНАЧЕ …

В качестве оператора может выступать и составной оператор.

Если логическое выражение, выступающее в качестве условия, принимает значение False (ложь), то выполняются оператор расположенный после else, если True(истина) — оператор, следующий за then. При записи логического выражения следует избегать знака = (равно) для действительных (вещественных) переменных, так как они представляются с некоторой точностью (до определенного знака), а поэтому может не произойти совпадения значений выражений, стоящих слева и справа от знака равно. Для устранения указанного недостатка следует проверять выполнения условия с заданной точностью, т. е. вместо отношения Х = Y рекомендуется, например, использовать такой прием:

ABS (X Y) E-8, т. е. абсолютная разница сравниваемых величин не превышает некоторой весьма малой величины.

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

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

Рассмотрим следующую задачу.

Даны действительные числа х, у. Если х и у отрицательны, то каждое значение заменить модулем; если отрицательно только одно из них, то оба значения увеличить на 0,5; если оба значения неотрицательны и ни одно из них не принадлежит отрезку [0,5; 2,0], то оба значения уменьшить в 10 раз; в остальных случаях х и у оставить без изменения.

Разработаем алгоритм решения задачи, после чего напишем программу.

Алгоритм запишем словесно:

1. ввести значения х, у;

4. если ни х, ни у не принадлежат отрезку [0,5; 2,0], уменьшить их в 10 раз;

5. вывести значения х и у;

Обратите внимание на «связки» в нашем условном алгоритме: если х

Эти смысловые союзы образуют смысловую логическую связку двух или более условий в одно. В программировании они называются логическими функциями. Основных логических функций четыре:

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

Логические функции могут принимать только одно значение из двух — ИСТИНА или ЛОЖЬ (TRUE — FALSE). Истинность обозначают цифрой 1, а ложность — цифрой 0.

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

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

Читайте также:  Роутер d link кнопка wps

Структура программы на языке Паскаль

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

Заголовок программы

Текст программы начинается со слова program. После него записывается имя программы. Данная строка носит информативный характер и ее можно не писать.

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

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

Раздел описания переменных

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

Комментарии в программе можно записывать внутри фигурных скобок. Они игнорируются во время выполнения программы. Эти пояснения вы пишите только для себя.

В нашем примере переменные с именами X и Y используются для хранения исходных данных. Переменная с именем Z используется для хранения результата вычислений.

Имя переменной может записываться большими или маленькими латинскими буквами. Имя может содержать цифры, знак подчеркивания и не должно начинаться с цифры. Прописные и строчные символы считаются одинаковыми. В качестве имени нельзя использовать служебное слово языка Pascal.

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

Принадлежность переменной к типу integer означает, что она может хранить только целые числа. Если требуется хранить действительные (дробные) числа, тогда используется тип real.

Тело программы

Все что находится между служебными словами Begin и end — тело программы. Здесь записываются основные команды.

Оператор присваивания значений переменным имеет следующую структуру: переменная := выражение

Значок : = (двоеточие, равно) читается как «присвоить».
Умножение обозначается символом * (звездочка), деление — символом / (слеш).

Вывод результата выполняет команда write.

Каждая строка содержащая команду на языке Паскаль обязательно заканчивается символом «точка с запятой».

Команды ввода и вывода

Команда Read

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

Модифицируем код программы из примера выше.

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

При работающей программе в системе программирования PascalABC появится строка ввода данных. Там и пишутся значения переменных.

Команда Write

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

Теперь посмотрите, как добавленные строки повлияли на работу программы.


У нас появились подсказки. Посмотрите на команду write. В качестве ее аргумента был использован текст, заключенный в апострофы. И еще, появилось окончание ln у оператора write. Именно оно заставляет последующий вывод информации делать с новой строки. Это же окончание можно использовать совместно с оператором read.

Также поменялся вывод результата. Здесь тоже появилась подсказка.

Примеры программ на паскале — задания на линейные алгоритмы

Задание 1. Модифицировать программу так, чтобы она вычисляла и выводила на экран сумму и произведение трех целых чисел.

Решение:

Задание 2. Дана длина ребра куба а. Найти объем куба V=a 3 и площадь его поверхности S=6a 2 .

Решение:

Хотите подробнее узнать о системе PascalABC и начать писать в ней свои первые программы, тогда статья «Знакомство с PascalABC» для вас.

Ссылка на основную публикацию
Adblock detector