Студопедия

Главная страница Случайная страница

КАТЕГОРИИ:

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника






Задания на разработку линейных алгоритмов и программ.






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

2. Вводится информация о семидневном туре в виде стоимостей в долларах США проезда, проживания в двухместном номере в сутки, питания в сутки, страховки и трансфера. Вычислить стоимость тура в долларах США и в рублях.

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

4. Вводится информация о 10-дневном туре в виде стоимостей проезда, проживания в двухместном номере в сутки, питания в сутки и трансфера. Вычислить стоимость тура с учетом вводимой стоимости страховки и без нее.

5. Вводится информация о стоимости аренды автомобиля в сутки в рублях. Выставить счет клиенту в рублях и долларах США за аренду автомобиля в течение 5 суток.

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

7. Клиент, проживая в течение 7 дней в одноместном номере, пользовался бассейном и теннисным кортом каждый день и арендовал автомобиль на 3 суток. Ввести данные о тарифах и выписать счет клиенту.

Решим вместе задачу 1.

Словесное описание алгоритма:

1. Ввести значения стоимостей проезда, проживания и питания в сутки, страховки S1, S2, S3, S4;

2. Ввести значение продолжительности тура D;

3. Вычислить общую стоимость тура и присвоить результат переменной SS;

4. Вывести полученный результат с пояснительным текстом.

Нарисуем блок схему алгоритма.

 

 

 


Рис. 2. Блок-схема алгоритма решения задачи 1.

Программа:

INPUT “Введите стоимости проезда, проживания, питания, страховки”, S1, S2, S3, S4

INPUT “На сколько дней”, D

SS=S1+(S2+S3)*D+S4

PRINT “Стоимость тура на ”, D, “дней ”, SS

END

 

Алгоритм с ветвлением.

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

Примером такого алгоритма может служить простейший алгоритм проверки правильности ввода пароля, например, «36w54».

Описание алгоритма:

1. вводится пароль Р$;

2. проверяется равенство введенного пароля заданному значению;

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

4. если пароль введен неверно, то выводится сообщение “Пароль неверен! ”, а защищенная паролем программа выполняться не будет.

Нарисуем блок-схему этого алгоритма:

 

Рис. 3. Блок-схема алгоритма проверки правильности ввода пароля 39w54.

 

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

Для нарушения линейного порядка выполнения программы используются операторы передачи управления:

§ оператор безусловного перехода GOTO.

§ условный оператор IF … THEN …ELSE.

§ оператор множественного выбора SELECT CASE (в настоящем пособии не рассматривается).

Синтаксис оператора GOTO.

GOTO номер строки

или

GOTO метка.

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

Пример:

M1: a=a*10

GOTO M1

Пример:

10 a=a*15

100 GOTO 10

 

Синтаксис условного оператора.

IF условие THEN оператор 1 ELSE оператор 2,

где условие – логическое выражение, оператор 1 – оператор или группа операторов, которые будут работать в случае, если логическое выражение истинно, оператор 2 - оператор или группа операторов, которые будут работать в случае если логическое выражение ложно.

Краткая форма оператора IF:

IF условие THEN оператор

здесь при невыполнении условия управление передается строке, следующей за IF; если же условие выполняется то работают операторы, записанные после слова THEN в той же строке.

IF условие GOTO nc

где nc – номер строки или метка оператора, куда осуществляется переход в случае выполнения условия. Разумеется, это не может быть следующая строка, так как в этом случае применение оператора IF бессмысленно.

Могут встречаться достаточно сложные конструкции, когда внутри одного оператора IF находится другой оператор IF, так называемый, вложенный IF, например:

IF условие. THEN операторы1 ELSE IF условие THEN операторы2 ELSE операторы3

Заметим, что в программе это должно быть написано в одной строке, таково требование синтаксиса.

Когда по одному условию выполняется несколько операторов, чтение программы затруднено, т.к. все они записаны должны быть в одну строку и строка становится слишком длинной. В таком случае рекомендуется создавать блок IF, в котором операторы можно записывать в столбик, а не в строчку, что облегчает чтение и понимание программы.


Поделиться с друзьями:

mylektsii.su - Мои Лекции - 2015-2024 год. (0.007 сек.)Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав Пожаловаться на материал