Студопедия

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

Разделы сайта

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






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






1. Изменить алгоритм и программу предыдущего задания так, чтобы она начинала выполняться только при правильном вводе пароля. В противном случае должно выводиться сообщение «Пароль неверен. Доступ к программе закрыт».

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

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

4. Вводится информация о количестве экскурсий по Парижу и по Лондону. Вычислить и вывести по какому городу больше экскурсий.

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

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

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

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

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

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

11. Вводится информация о количестве свободных одноместных и двухместных номеров в отеле. Вычислить и вывести, каких свободных номеров больше и на сколько.

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

13. Задан список из трех отелей. Определить, имеется ли в списке Националь. Напечатать соответствующее сообщение.

14. Вводятся наименования трех авиакомпаний в трех странах. Определить, имеется ли среди них французская авиакомпания и сделать соответствующее сообщение.

15. Вводится информация о стоимостях перелета в ОАЭ тремя разными авиакомпаниями. Определить, перелет какой авиакомпанией самый дешевый.

16. Вводятся названия трех отелей. Напечатать сообщение о наличии или отсутствии одинаковых названий и напечатать повторяющееся название, если оно есть.

 

Циклический алгоритм. Обработка массивов

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

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

1) перед циклом задать начальные значения переменных, изменяющихся в цикле;

2) изменять значения этих переменных перед каждым новым повторением цикла по заданным формулам;

3) проверять условие окончания или повторения цикла;

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

 

Среди циклически изменяющихся переменных обычно выбирают одну, так называемый параметр цикла. Если такой переменной нет, то можно её ввести причем с законом изменения счетчика, К=К+1. Следует иметь в виду, что параметром цикла является при использовании простой переменной сама переменная, а при использовании переменной с индексом – ее индекс.

Возможны три способа организации циклов, общий вид алгоритмов которых представлен на рис 6.


             
   
     
1) цикл с предусловием – цикл «пока» метка тело цикла IF условие Then оператор: GOTO метка Следующий оператор WHILE условие тело цикла WEND
 
 
 
   
2) цикл с постусловием цикл «повторять… до»  
 

 

       
 
   
3) счетный цикл FOR x=xo TO xk [STEP h] Тело цикла NEXT [x]
 

 


Рис. 6. Виды циклических алгоритмов.


Задача 1.

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

Рассмотрим решение задачи 1 тремя способами.

1-ый способ – организация цикла с помощью операторов If… и Goto. Алгоритм решения см. рис 7.

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

1. переменной P$ присваивается значение пароля, например, #$W56;

2. значение счетчика (переменная К) обнуляется;

3. вводится с подсказкой “Пароль” значение переменной X$;

4. счетчику присваивается значение K=K+1 (в первом цикле - 1);

5. проверяется значение счетчика: если оно больше 3, то выводится сообщение “Нет доступа! ” и программа останавливается, так будет после третьей неправильной попытки ввода пароля;

6. в противном случае сравнивается значение введенного пароля с заданным.

7. если они неравны, то значение логического выражения P$< > X$ будет Истина и будет выводится сообщение “Пароль неверен. Попытка ” К и осуществляется переход к оператору ввода по метке 55, то есть будет очередная попытка ввода пароля.

8. если же пароль введен верно, то значение логического выражения P$< > X$ будет Ложь и выполнится переход на следующую строку программы, то есть будет выводиться сообщение “Программа выполняется! ” и последует выполнение любой программы записанной ниже.

Блок-схема алгоритма представлена на рис.7

Рис. 7. Алгоритм решения задачи 1 – 1ый способ

Программа

P$=”#$W56”

K=0

55 Input “Пароль”, X$

K=K+1

If K> 3 Then Print“Нет доступа! ”: Stop

If P$< > X$ Then Print “Пароль неверен. Попытка ”, К: Goto 55

Print “Программа выполняется! ”

< < Здесь может быть любая программа> >

End

 

2-ой способ – организация цикла с помощью оператора While … Wend - а лгоритм 2 на рис 6

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

1. переменной P$ присваивается значение пароля, например, #$W56;

2. значение счетчика (переменная К) обнуляется;

3. открывается цикл, в котором все операторы будут выполняться пока значение счетчика К не станет больше 3:

§ вводится с подсказкой “Пароль” значение переменной X$;

§ сравнивается значение введенного пароля с заданным P$=X$;

§ если значение логического выражения P$=X$ Истина, то есть пароль введен верно, произойдет выход из цикла по оператору Goto 44, будет выводится сообщение “Программа выполняется! ” и последует выполнение любой программы записанной ниже;

§ если же пароль введен неверно, то значение логического выражения P$=X$ будет Ложь, выполнится переход на следующую строку программы, то есть счетчику присвоится значение по формуле K=K+1 (в первом цикле - 1); затем будет выводиться сообщение “Пароль неверен. Попытка ” К

§ цикл повторится, последует очередная попытка ввода пароля;

4. если значение счетчика: станет больше 3, то выводится сообщение “Нет доступа! ” и программа останавливается, так будет после третьей неправильной попытки ввода пароля.

Блок схема алгоритма представлена на рис.8.

 

 

 


Рис.8. Блок схема алгоритма.(2-ой способ).

Программная реализация алгоритма рис.8.

P$=”#$W56”

K=0

While K< 3

Input “Введите пароль”, X$

If P$=X$ Goto 44

K=K+1

Print “Пароль неверен. Попытка ” К

Wend

Print“Нет доступа! ”

Stop

44 Print “Программа выполняется! ”

< < Здесь может быть любая программа> >

End

 

3-ий способ – организация цикла с помощью оператора For - алгоритм 3 на рис 6.

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

Алгоритм отличается от предыдущего использованием оператора For K=1 To 3, который сам умеет считать циклы, поэтому счетчик К=К+1 не требуется.

Блок схема алгоритма представлена на рис.9.

 

 


Рис.9. Блок схема алгоритма.(3-ой способ).

 

 

Программная реализация алгоритма рис.9.

P$=”#$W56”

For K=1 To 3

Input “Введите пароль”, X$

If P$=X$ Goto 44

Print “Пароль неверен. Попытка ” К

Next

Print“Нет доступа! ”

Stop

44 Print “Программа выполняется! ”

< < Здесь может быть любая программа> >

End

В рассмотренных нами задачах использовались простые переменные. Теперь попробуем разобраться с массивами.






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.