Ветвление, логический оператор 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Ветвление, логический оператор



Вот мы и дошли до того места, где ярко выражается характерная черта языка Python – отступы, как прием структурирования программы. В этом языке это несет и синтаксический и семантический смыслы. Отступы – это аналог операторских скобок. Python’исты призывают делать каждый отступ в 1 tab/4 пробела. Так что если нужно подтянуть дисциплинированность в написании кода – добро пожаловать в Python!

Синтаксис условного оператора в Python выглядит следующим образом:

Поведение этой цепочки лучше всего смотреть на примере. Напишем скрипт и проанализируем его выполнение:

В результате выведется лишь строка:

В первом условии обе проверки дают False. Помните, что интерпретатор даже не проверяет второе условие в and, если уже на первом возврат значении False? Дальше следует вложенное условие else if. Одно условие истинно. Выполняется ветка. Здесь абсолютное значение имеют отступы, ведь выполнится все то, что стоит под условием с отступом в одну табуляцию. До следующей проверки дело не дойдет, т.к. интерпретатор проверяет до первого попадания в True выражения из условий. Поэтому ветка else выполняется в последнюю очередь, если все предшествующие “терпят крах”. Поэтому здесь она не выполнится. Ветки elif и else необязательны.

Циклы

В Python имеются два вида циклов: цикл while (общий оператор, выполняется некоторое действие) и цикл for (удобен для всех значений последовательностей).

Оператор цикла while имеет синтаксис:

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

Вначале мы подключили модуль random оператором import. Модуль random содержит функции, позволяющие выбрать число псевдослучайным образом. В данном случае использована функция randint, генерирующая целое число в диапазоне [0..9], но есть и много других, например choice, выбирающая элемент последовательности, например строки.

Конструкция else сокращает код, данный пример это показывает. Для большей гибкости при организации циклов применяются операторы break (прервать) и continue (продолжить). Первый позволяет прервать цикл, а второй – продолжить цикл, перейдя к следующей итерации (если, конечно, выполняется условие цикла).

В Python цикл for выполняет тело цикла для каждого элемента последовательности. В следующем примере выводится таблица умножения:

Функция range () порождает список целых чисел из полуоткрытого диапазона [1..10). Перед каждой итерацией счетчик цикла получает очередное значение из этого списка. Полуоткрытые диапазоны общеприняты в Python. Считается, что их использование более удобно и вызывает меньше программистских ошибок. Например, range (len(s)) порождает список индексов для списка s (частный случай – строки). В Python -последовательностях первый элемент имеет индекс 0.

Рисунок 1 – Ввод таблицы умножения

Оборудование

ПЭВМ IBMPC, операционная система Windows, OooWriter, MSWord, Python.

ЗАДАНИЕ НА РАБОТУ

В отдельном модуле составить программу для:

1. Определения, в каком квадранте находится точка с координатами (x,y). Вывести на печать номер квадранта 1,2,3,4. Если точка находится на оси, то вывести номера смежных квадрантов, если в начале координат, то вывести 0.

2. Вычисления значений функции Z(x):

если i X и i A - элементы последовательности, состоящих из N элементов, где 20≤ N.

3. Выяснения, пройдет ли кирпич с размерами a×b×c в прямоугольное окно размером x×y, где a, b, c, x, y – действительные положительные числа. Вывести ответ "Да" или "Нет".

4. Определения простоты натурального числа N. Число называется простым, если оно делится нацело только на 1 и на само себя. Сколько делителей имеет число N? Решить задачу для N=(1000,1001,...,1020). Сколько простых чисел в этом интервале?

5. Расчета значения функции , если это возможно, иначе выдать соответствующее сообщения.

6. Вывода на экран последовательностей (аi) и (bi), заданные началом и концом, а также значения третьей последовательности (сi), значения которой рассчитываются по формуле:

сi = ai + bi

7. Вычисления полярных координат r, φ точки по ее прямоугольным координатам х, y с использованием формул:

8. Вычисления площади N -угольника, заданного координатами вершин (x1, y1), (x2, y2),...,(xN, yN), воспользовавшись формулой:

Нумерацию вершин проводить против часовой стрелки.

9. Вычисления функции:

10. Вычисления числа членов ряда 1+1/2+1/3+1/4+..., при котором их сумма впервые превысит A=10. Использовать при этом один из операторов цикла. Вывести сумму ряда после каждых 100 слагаемых, но число таких выводов не должно превышать 15.

11. Округления действительного числа x, меньшего 5, до ближайшего целого числа:

12. Вывода на печать положительные элементы последовательности (x1, x2,..., xN), где xi=sin(x). Найти максимальный элемент и его индекс, если N=20.

13. Определения является ли треугольник, который определен координатами вершин (x1,y1), (x2,y2), (x3,y3), тупоугольным Если а, b, c - рассчитанные длины сторон, то треугольник тупоугольный, если выполняется одно из неравенств:

14. Нахождения суммы n членов ряда:

15. Определения, делится ли данное целое число N нацело на 2, на 3, на 2 и 3, либо не делится ни на 2, ни на 3. Вывести соответствующее сообщение.

16. Определения, имеются ли в положительном трехзначном целом числе одинаковые цифры. Вывести ответ «Да» или «Нет».

17. Вычисления длины ломаной линии, заданной координатами точек ее начала, изломов и конца. N - число точек; (x1,y1),(x2,Y2),...,(xN,yN) - координаты точек излома и концов. Контрольный пример: N =5; (x,y)=[(0,0),(2,2),(4,0), (6,2),(8,4)]; L=11.313.

18. Расстановки действительных чисел х1,х2,х3 в убывающем порядке при любом исходном порядке.

19. Вычисления периметра N -угольника, заданного координатами своих вершин (x1,y1),...,(xN,yN). Контрольный пример: N =4; (xi,yi) = [(0,0),(1.0,0),(1.0,1.0),(0,1.0)]. Вершины нумеруются по часовой стрелке, сторона i соединяет вершины i,i +1. При расчете положить N =10

20. Определения делится ли последняя цифра трехзначного целого числа N на 3.

 

КОНТРОЛЬНЫЕ ВОПРОСЫ

1. Что из себя представляют аналог операторских скобок в Python?

2. Каков синтаксис условного оператора Python?

3. Какие виды циклов есть в Python?

4. Каков синтаксис цикла while?

5. Когда выполняется альтернативная ветка while и сколько раз?

6. Каков синтаксис цикла for?


Используемая литература

Основная литература

1. Степанов А.Н. Информатика: учеб. пособие для вузов / А.Н.Степанов. – 5-е изд. – М.[и др.]: Питер, 2007. – 765с.: ил. – (Учебник для вузов). – Библиогр. в конце кн. – ISBN 978-5-469-01348-8 /в пер./: 250.52. (АУЛ-1,21)

2. Андриянова М.А. Информатика. Ч. 2: учеб.пособие / М.А.Андриянова, М.А.Князева; ТулГУ. – Тула: Изд-во ТулГУ, 2007. – 96 с.: ил. – Библиогр. в конце кн. – ISBN 978-5-7679-1210-0: 43.00. (АУЛ-1,48; КХ,1;УЧЗ,1)

3. Острейковский В.А. Информатика: учебник для вузов / В.А.Острейковский. – 3-е изд., стер. – М.: Высш.шк., 2005. – 511с.: ил. – Библиогр. в конце кн. – ISBN 5-06-003533-6 / в пер./: 128.74. (АУЛ-1,10; АУЛ-2, 84)

4. Huffman D. A Method for the Construction of Minimum-Redundancy
Codes. Proceedings of IRE, vol.40, N9, pp.1098-1101, September 1952.

5. Кормен Т., Лейзерсон Ч., Ривест Р. Алгоритмы: построение и
анализ. — М.: МЦНМО, 2001. — 960 с.

6. Язык программирования Python: Учеб. пособие / Р. А. Сузи. – 2. изд., испр. – Москва: Интернет-Университет информационных технологий: Бином. Лаборатория знаний, 2007. – 326 с.

Дополнительная литература

1. Информатика: Базовый курс: учеб.пособие для втузов / под ред. С.В.Симоновича. – 2-е изд. – М.[и др.]: Питер, 2006. – 640с.: ил. – (Учебник для вузов). – Библиогр. в конце кн. – ISBN 5-94723-752-0 /в пер./: 101.20. (АУЛ-1,7; АУЛ-2,6)

2. Макарова, Н.В. Информатика: учебник для вузов / Н.В.Макарова [и др.]; Под ред.Н.В. Макаровой. – 3-е изд., перераб. – М.: Финансы и статистика, 2007. – 768с.: ил. – Библиогр. в конце гл. – ISBN 5-279-02202-0 /в пер./: 253.81. – ISBN 978-5-279-02202-1. (АУЛ-1,16; АУЛ-2,15)

3. Баранова Е. М. Практикум по работе в Open Office. ТулГУ. – Тула: Изд-во ТулГУ, 2009. – 180 с.: ил. – Библиогр. в конце кн. (АУЛ-1, 9)

4. Князева М.А. Тульский государственный университет. Информатика. Ч.1: учеб. пособие / М.А.Князева, М.А.Андриянова; ТулГУ. Тула: Изд-во ТулГУ, 2006. – 108с. – Библиогр. в конце кн. – ISBN 5-7679-0999-7: 40.00. (АУЛ-1,20; КХ,1)

5. Курносов А.П. Информатика: учеб. пособие для вузов / А.П.Курносов [и др.]; под ред. А.П.Курносова. – М.: Колос, 2005. – 272с. – (Учебники и учебные пособия для высших учебных заведений). – Библиогр. в конце кн. – ISBN 5-9532-0279-2 /в пер./: 149.60. (АУЛ-2,9; УЧЗ,1)

6. Россум, Г. и др. Язык программирования Python. 2001. 454 с.

 

Периодические издания

1. Прикладная информатика: научно-практический журнал. – 2007 № 4-6. – 2008 № 1-4. – М.: Маркет ДС, 2007. – Выходит 6 раз в год. – ISSN 1993-8314.

2. Информатика и ее применение: научный журнал Отделения нанотехнологий и информационных технологий Российской академии наук. – М.: РАН, 2009. – Издается с 2007г. – ISSN 1992-2264.

Интернет-ресурсы

1. Максим Анатольевич Беляев, Лариса Александровна Малинина, Вадим Васильевич Лысенко. Основы информатики: Учебник для вузов http://fictionbook.ru/author/vadim_vasilevich_liysenko/osnoviy_informatiki_uchebnik_dlya_vuzov/read_online.html?page=1

2 Степанов А. Н. Онлайн-учебник. Информатика. 13.17 Мб http://www.booksgid.com/4203-.html

3 Галкин В.А., Григорьев Ю.А. Телекоммуникации и сети. Учебник для вузов. Из серии: Информатика в техническом университете. 2003 год. 506 стр. PDF. 23.2 Mб.

http://www.ph4s.ru/book_pc_informatika.html

4 Григорьев Ю.А., Ревунков Г.И. Банки данных. Учебник для вузов. Из серии: Информатика в техническом университете. 2002 год. 320 стр. PDF. 7.3 Мб. http://www.ph4s.ru/book_pc_informatika.html

5 Макарова Н.В. Информатика. Практикум по технологии работы на компьютере. 3-е изд. перераб. 2005 год. 256 стр. PDF. 15.0 Мб. http://www.ph4s.ru/book_pc_informatika.html

6 Могилев, Пак, Хённер. ИНФОРМАТИКА. Учебник. 2004 год. 658 стр. doc в архиве 4.8 Mб. http://www.ph4s.ru/book_pc_informatika.html

7 Могилев, Пак, Хённер. Практикум по информатике. 2005 год. 600 стр. PDF 16.1 Mб. http://www.ph4s.ru/book_pc_informatika.html

8 Романова Ю.Д., Лесничая И.Г. Информатика и информационные технологии. Конспект лекций: учебное пособие. 2009 год. 320 стр. djvu. 12.8 Мб. http://www.ph4s.ru/book_pc_informatika.html

9 Соболь Б.В. и др. Информатика. Учебник. 3-е доп. изд. 2007 год. 440 стр. djvu. 9.5 Mб. http://www.ph4s.ru/book_pc_informatika.html

10 Степанов А.Н. Информатика. 2006 год. 684 стр. djvu. 13.5 Мб. http://www.ph4s.ru/book_pc_informatika.html

11. https://docs.python.org/3/tutorial/index.html – постоянно обновляемый электронный учебник (свободный доступ), содержащий полную информацию о языке программирования Python.

12. http://github.com/sympy/sympy – сайт, посвященный свободно распространяемому пакету Sympy, представляющему собой библиотеку Python символьных вычислений. Сайт свободных новинок и постоянного пользовательского обновления данного пакета (реализованный на принципах Вики).

13. http://docs.sympy.org/latest/index.html – постоянно обновляемый электронный учебник (свободный доступ), содержащий полную информацию о пакете Sympy, представляющему собой библиотеку Python символьных вычислений.



Поделиться:


Последнее изменение этой страницы: 2019-11-02; просмотров: 312; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.228.40 (0.034 с.)