Для каждой задачи составить программу с ветвящейся структурой

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

Первая задача: даны два числа; выбрать большее из них.

Пусть исходными данными являются переменные А и В. Их значения будут задаваться вводом. Значение большего из них должно быть присвоено переменной С и выведено на экран компьютера. Например, если А = 5, В = 8, то должно получиться: С = 8.

Блок-схема алгоритма решения этой задачи изображена на рис. 3.6.

Рис. 3.6. Алгоритм выбора большего из двух чисел (с полным ветвлением)

Нетрудно понять смысл этого алгоритма. Если значение переменной А больше, чем В, то переменной С присвоится значение А. В противном случае, когда А В. Изучая базы данных и электронные таблицы, вы узнали, что такое отношение является логическим выражением. Если оно справедливо, то результатом будет логическая величина «истина» и выполнение алгоритма продолжится по ветви «да»; в противном случае логическое выражение примет значение «ложь» и выполнение алгоритма пойдет по ветви «нет».

Уроки программирования на языке Pascal. Разветвляющиеся алгоритмы. Задача 12 стр. 135

До выполнения на компьютере правильность алгоритма можно проверить путем заполнения трассировочной таблицы. Вот как будет выглядеть трассировка нашего алгоритма для исходных значений А = 5, В = 8.

Шаг Операция А В С Проверка условия
1 ввод А, В 5 8
2 А>В 5 8 5 > 8, нет (ложь)
3 С:=В 5 8 8
4 вывод С 5 8 8

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

В алгоритме на рис. 3.6 используется полное ветвление. Эту же самую задачу можно решить, применяя структурную команду неполного ветвления. Блок-схема такого алгоритма изображена на рис. 3.7.

Читайте также:
Как перенести программу 1с с одного компьютера на другой с базой
Рис. 3.7. Алгоритм выбора большего из двух значений (с неполным ветвлением)

Выполните самостоятельно трассировку этого алгоритма для вариантов 1) А = 0,2, В = 0,3; 2) А = 7, В = 4; 3) А = 5, В = 5. Если вы все проделаете правильно, то убедитесь, что алгоритм верный.

Урок 4. Алгоритм с ветвящейся структурой

А теперь запишем рассмотренные алгоритмы на Алгоритмическом языке (АЯ). Во-первых, нужно решить вопрос о том, как описать переменные в этом алгоритме. Вспомним, что для всех переменных в алгоритме на Алгоритмическом языке необходимо указать их тип.

Переменные А, В, С — числовые величины. В этой задаче они могут принимать любые значения. В программировании числовые величины, которые могут иметь любые значения — целые, дробные, — называются вещественными. Им ставится в соответствие вещественный тип. На Алгоритмическом языке этот тип указывается служебным словом вещ.

Как выглядит команда ветвления, вы уже знаете. Вот два алгоритма на АЯ, соответствующие блок-схемам на рис. 3.6 и 3.7:

алг БИД1
вещ А, В, С
нач ввод А, В
если А>В
то С:=А
иначе С:=В
кв
вывод С
кон
алг БИД2
вещ А, В, С
нач ввод А, В
С:=А
если В>А
то С:=В
кв
вывод С
кон

Под сокращенным названием алгоритмов ВИД подразумевается «Большее из двух».

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

Следующая задача: упорядочить значения двух переменных X и Y по возрастанию. Смысл этой задачи следующий: если для исходных значений переменных справедливо отношение X Y (например, X = 2, Y = 1), то выполнить обмен значениями.

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

В алгоритме решения данной задачи используется неполное ветвление. Приведем блок-схему (рис. 3.8) и алгоритм на АЯ.

Читайте также:
Список литературы для 10 класса по программе зинина

Здесь роль вспомогательной переменной для обмена выполняет С.

Сложные ветвящиеся алгоритмы

Получим алгоритм решения еще одной задачи: найти наибольшее значение среди трех величин: А, В, С.

Естественно, возникает следующая идея этого алгоритма: сначала нужно найти большее из значений АИВИ присвоить его какой-то дополнительной переменной, например D; затем найти большее среди D и С. Это значение можно присвоить той же переменной D.

Решение задачи сводится к двукратному применению уже знакомого алгоритма нахождения большего из двух значений. Блок-схема алгоритма — на рис. 3.9

Нетрудно догадаться, что «БИТ» обозначает «Большее из трех». В структуре этого алгоритма содержатся два последовательных ветвления: первое — полное, второе — неполное.

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

А вот как выглядят описание этого алгоритма на АЯ и трассировочная таблица при А = 5,В = 7,С = 2.

Алг БИТ2
вещ А, В, С, D
нач ввод А, В, С
если А>В
то если A>C то D:=A иначе D:=С кв
иначе если В>С то D:=B иначе D:=С кв
кв
вывод D
кон

Шаг Операция А В С D Проверка условия
1 ввод А, В, С 5 7 2
2 А>В 5 7 2 5 > 7, нет
3 В>С 5 7 2 7 > 2, да
4 D:=B 5 7 2 7
5 вывод D 5 7 2 7

Вопросы и задания

1. Какую структуру имеет алгоритм нахождения большего из двух значений?

2. Почему отношение неравенства можно назвать логическим выражением?

3. В каком случае для числовой переменной следует указывать цб лый тип, в каком — вещественный?

4. Составьте алгоритм (в виде блок-схемы и на АЯ) нахождения меньшего из двух значений.

5. Составьте алгоритм нахождения наименьшего из трех значений.

6. Для вывода на экран произвольной символьной строки нужно в команде вывода записать эту строку в апострофах. Например, по команде

вывод «ОТВЕТ»
на экран выведется слово ОТВЕТ.

Определите, какая задача решается по следующему алгоритму:

Читайте также:
Какая программа для прослушивания музыки лучше

Источник: 5byte.ru

Эух. Нужна помощь в составлении математических моделей и блок-схем. Программа паскаль. Буду рад, если поможете с любой из списка.

1. Вычислить длину окружности и площадь круга одного и того же заданного радиуса R.

2. Вычислить площадь и периметр правильного N-угольника, описанного около окружности R(Рассмотреть N- целого числа, R- вещественного типа)

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

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

4. Данное четврехзначное число читается одинаково слева направо и справа налево.

5. Заданы координаты трех точек плоскости. Эти точки не лежат на одной прямой.

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

6. Грузовой автомобиль выехали одного города в другой со скоростью v1 км/ч. Через t ч в этом же направлении выехал легковой автомобиль со скоростью v2 км/с. Составить программу, определяющую, догонит ли легковой автомобиль грузовой через t1 после своего выезда.

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

8. Дана точка А(х, у). Определить, принадлежит ли она прямоугольнику с вершинам в точках (х1, у1), (х2, у2) (х3, у3), (х4, у4). (прикреплю фото2)

Приложения:

На этот вопрос еще никто не ответил. Напишите свой ответ или воспользуйтесь поиском:

Источник: znanijam.net

Для каждой задачи составить программу с ветвящейся структурой

Зинаида1111111

20 балов .Очень нужнооо!Задачи на определение принадлежности точки области

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

Ответ проверен экспертом
5 (1 оценка)

triolana

triolana 5 лет назад
Светило науки — 553134 ответа — 388270 раз оказано помощи

PascalABC.NET 3.3.5, сборка 1659 от 09.04.2018
Внимание! Если программа не работает, обновите версию!

begin
var (x,y):=ReadReal2;
var p:=(x>-4) and (x<5) and (y>-3) and (y <0) or
(y>0) and (y <4) and (Abs(x)<2);
if p then Writeln(‘Принадлежит’)
else Writeln(‘Не принадлежит’)
end.

Источник: vashurok.com

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru