Главная » Все файлы » Просмотр файлов из архивов » PDF-файлы » Лекция 12. Подпрограммы (часть1)

Лекция 12. Подпрограммы (часть1) (Воробьева И.А. «Информатика. Язык Питон» (2016))

PDF-файл Лекция 12. Подпрограммы (часть1) (Воробьева И.А. «Информатика. Язык Питон» (2016)) Информатика (51793): Лекции - 1 семестрЛекция 12. Подпрограммы (часть1) (Воробьева И.А. «Информатика. Язык Питон» (2016)) - PDF (51793) - СтудИзба2019-09-06СтудИзба

Описание файла

Файл "Лекция 12. Подпрограммы (часть1)" внутри архива находится в папке "Воробьева И.А. «Информатика. Язык Питон» (2016)". PDF-файл из архива "Воробьева И.А. «Информатика. Язык Питон» (2016)", который расположен в категории "". Всё это находится в предмете "информатика" из 1 семестр, которые можно найти в файловом архиве НИУ «МЭИ» . Не смотря на прямую связь этого архива с НИУ «МЭИ» , его также можно найти и в других разделах. .

Просмотр PDF-файла онлайн

Текст из PDF

1Воробьева И.А. «Информатика. Язык Питон»Подпрограммы. Взаимодействие подпрограммПрограммирование с использованием подпрограмм. Типы подпрограмм.Формальные и фактические параметры. Способы передачи параметров.Параметры по умолчанию, списки параметров. Области видимостипеременных. Разработка сложных программ, содержащих подпрограммы.Использование имени подпрограммы в качестве параметра.8. ПОДПРОГРАММЫ. ВЗАИМОДЕЙСТВИЕ ПОДПРОГРАММ8.1.

Вспомогательные алгоритмы: общего типа и функцииВ материале прошлой лекции мы рассматривали все этапынисходящего проектирования, кроме следующего: подзадачи автономны - кодируются как подпрограммы, преимущественно использующие локальные (внутренние) переменные.Для реализации этого этапа в языках программированияиспользуются подпрограммы двух видов: общего типа (процедуры) ифункции.Процедуры и функции аналогичны программам в миниатюре иимеют общее название – подпрограммы (это часть программы,описывающая некоторый алгоритм, который можно многократноиспользовать, обращаясь к нему из различных точек программы).Использование подпрограмм: сокращает исходный текст программного кода; сокращает объем исполняемого кода; повышает надёжность программы за счет:− уменьшения строк, в которых возможно допустить ошибку;− повышения читабельности кода, ясной логики программы;− сокрытия видимости переменных путем их локализации;2Воробьева И.А.

«Информатика. Язык Питон» увеличивает гибкость и функциональность кода, так как позволяетсоздавать и использовать так называемые библиотеки – сборникподпрограмм или объектов для решения близких по тематике задач; является необходимым условием многомодульной организациипрограммных продуктов, без которых не возможна современнаятехнология программирования.Существуют встроенные подпрограммы - они являются частьюязыка, хранятся в библиотеках языка и подключаются при запуске кодапо умолчанию, не требуя специальных действий.

Это написанныеразработчикамиязыкаподпрограммыдлянаиболеечастовостребованных операций. Вам такие операции уже хорошо знакомы,например, принудительное преобразование типов переменных илиоперации ввода с консоли и вывода на консоль переменных.Встроенныеподпрограммывызываютсяпоименибезпредварительного описания. Например, функции – int, float, str илиinput, print.Для того чтобы использовать наиболее распространенные, но неподключаемые по умолчанию библиотечные подпрограммы, какправило, не требуется никаких специальных действий, кромеподключения библиотеки.

В Python вы уже сталкивались с этим в своихработах 1 , когда подключали математическую библиотеку (math) ибиблиотеку системных операций (sys), например:import math # содержит расширенные математические функцииimport cmath # содержит расширенные математические функциидля комплексных переменныхimport sys # обеспечивает доступ к системным переменным ифункциямПодпрограммы таких библиотек не являются встроенными в «вашупрограмму» по умолчанию, поэтому и требуют отдельного подключения,но всегда поставляются вместе с установщиком среды разработкипрограмм. Таким образом, снимается излишняя нагрузка на объем1В Python приходится писать имя модуля перед функцией из этого модуля для доступа к ней; в других языках, например C, Pascal, этого не требуются.3Воробьева И.А.

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

При этомраздел описаний объединяет пять смысловых подразделов, которыемогут чередоваться и повторяться, соблюдая одно основополагающееправило – никакое «имя» не может быть использовано до того, как онобудет описано (впервые определено).РАЗДЕЛ ОПИСАНИЙ:Как видим, в основной программеописание подпрограмм располагаются в1. раздел подключаемых модулей (биб- разделе описаний.лиотек)Подпрограмма оформляется подобно2. раздел константосновной программе, т.е.

вновь состоит из3. раздел типов4. раздел переменных заголовка, раздела описаний, раздела5. разделподпро- операторов. При этом в подпрограммеграмм.раздел описаний может состоять из всех пятиподразделов,включаясобственныеРАЗДЕЛлокальныеподпрограммы.ПодобноеОПЕРАТОРОВидентичное описание по принципу матрешки(действий).влияет на так называемую областьвидимости имен: констант, типов, переменных, подпрограмм.4Воробьева И.А. «Информатика.

Язык Питон»Все имена, представленные в разделе описаний основнойпрограммы (головного модуля), называются глобальными. Онидействуют как в разделе операторов основной программы, так и влюбой подпрограмме. Имена, представленные в разделе описанийподпрограммы, называют локальными. Они действуют только в рамкахподпрограммы и недоступны операторам основной программы.Глобальные и локальные имена размещаются в разных областяхоперативной памяти (ОП) и существуют только на время работысоответствующего программного блока.После вызова подпрограммы из основной программывыполнение основной программы приостанавливается, и управлениепередается в подпрограмму, после завершения подпрограммыуправление возвращается в основную программу.Позже рассмотрим понятие области видимости переменных имеханизм взаимодействия программ и подпрограмм подробнее.У подпрограммы, как и у любой переменной, есть два статуса: описание (то, что позволяет нам понять, что она делает, как к нейобращаться, какие данные ей могут потребоваться, что мыожидаем в качестве результата);  ОДИН РАЗ использование (когда мы много раз вызываем одну и ту жеподпрограмму по имени, применяя к ней различные входныеданные, допустимого типа); – это похоже на то, как вы запускалимного раз свою программу, решающую какую-то задачу в массиве,для различных массивов в функциональных тестах.

 СКОЛЬКОУГОДНО РАЗСейчас нас должно беспокоить два вопроса:1. Каким образом подпрограмма общается с внешним миром, какмы сообщаем ей входные данные, как получаем результат?2. Чем же отличаются подпрограммы общего типа от функций?5Воробьева И.А. «Информатика. Язык Питон»Ответ на первый вопрос очень простой:С помощью имени, данного при описании и списка параметров,перечисленных через запятую. Часть параметров списка можетпередавать входные данные, а часть – результат работы.Ответ на второй вопрос:Ключевое отличие в том, что имя подпрограммы-функциивоспринимается, как переменная какого-то типа данных и один изрезультатов ее работы может быть передан через имя, а не черезпараметры в списке.!Отсюда возникает важное отличие функции от подпрограммыобщего типа.

Раз функция может возвращать значение, значит, ееможно использовать в выражениях, допустимых для возвращаемогорезультата.Мы это свойство использовали, не задумываясь, в первой желабораторной работе.Запись вида:возможна только потому, чтоивозвращающие результат вещественного типа.–была– это функции,Описание подпрограмм в общем виде (процедура)def ИМЯ ПОДПРОГРАММЫ (<список формальных параметров>):< раздел описаний>< раздел операторов>Замечание. Любой раздел, указанный в <угловых скобках>, можетотсутствовать в описании подпрограммы.6Воробьева И.А.

«Информатика. Язык Питон»Примеры:def F_1(a):b=abs(a)####______print(‘а= ’, a, ‘модуль a= ’, b)def F_2( ):b=’’####______b= input(‘Как вас зовут? ’)print( b, ‘ – какое странное имя…’)def F_3(S ):print(‘Куб S равен ’, S**3)def F_4( ):pass # специальный оператор для обозначения пустого блока командОформление функций. Оператор ReturnФункция - это подпрограмма, результат выполнения которой связан свозвращаемым значением определенного типа.Формальноdef ИМЯ ФУНКЦИИ (<список формальных параметров>):< раздел описаний>< раздел операторов>result <значение> # механизм возврата значения функции7Воробьева И.А.

«Информатика. Язык Питон»Примерdef Max(X, Y):if X > Y:return 'X больше.'elif X == Y:return 'Числа равны.'else:return 'Y больше.'print(Max(2, 3))print(Max(2, 2))print(Max(2.1, 2))Вывод:'Y больше.''Числа равны.''X больше.'Что плохо в этом примере с точки зрения структурного подхода?Несколько выходов из функции.

По хорошему, надо писать так:def Max(X, Y):Z=’’if X > Y:Z='X больше.'elif X == Y:Z='Числа равны.'else:Z='Y больше.'return ZЗамечание. В небольших по объему функциях с простой логикой,первый подход может оказаться предпочтительным, но в сложныхзадачах структурный подход дает преимущество в ясности кода,вспомним, что он зародился именно вследствие усложнения программных проектов.8Воробьева И.А.

«Информатика. Язык Питон».Вызов подпрограммИМЯ (фактические параметры)Вызов процедуры осуществляют только в качестве самостоятельнойинструкции программы, а вызов функции можно делать, каксамостоятельную инструкцию, так и непосредственно внутри выраженияили в правой части оператора присваивания подобно тому, какиспользуются стандартные функции, например. Такжефункцию можно использовать в качестве параметра другойподпрограммы. Использование функции подчиняются правилусогласования типов, аналогично обычным переменным языка.Пусть ,– переменные типа float, тогда верно:;Пусть , – переменные типа boolean и функция F() возвращаетрезультат логического типа, тогда верно:.9Воробьева И.А.

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
5167
Авторов
на СтудИзбе
438
Средний доход
с одного платного файла
Обучение Подробнее