Факультативный курс "Основы программирования на языке Pyhton"
Исследование алфавита и синтаксиса языка Python. Темы и основные понятия факультативного курса "Основы программирования на языке Pyhton", адаптация теоретического материала для учащихся 10–11 классов. Разработка лабораторных работ по данной теме.
Рубрика | Педагогика |
Вид | дипломная работа |
Язык | русский |
Дата добавления | 25.06.2013 |
Размер файла | 2,3 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
>>> str4 [:5]
'FBFPR'
>>> str4 [0:15:2]
'Fl alFl '
Листинг 26. Оператор извлечения среза подстроки
Практическая работа
1. Свяжите переменную с любой строкой, состоящей не менее чем из 8 символов. Извлеките из строки первый символ, затем последний, третий с начала и третий с конца. Измерьте длину вашей строки.
2. Присвойте произвольную строку длиной 10-15 символов переменной и извлеките из нее следующие срезы:
- первые восемь символов;
- четыре символа из центра строки;
- символы с индексами кратными трем.
Урок 13. Списки
Списки в языке программирования Python, как и строки, являются упорядоченными последовательностями. Однако, в отличии от строк, списки состоят не из символов, а из различных объектов (значений, данных), и заключаются не в кавычки, а в квадратные скобки []. Объекты отделяются друг от друга с помощью запятой.
Списки могут состоять из различных объектов: чисел, строк и даже других списков. В последнем случае, списки называют вложенными.
[23, 656, -20, 67, -45] #список целых чисел
[4.15, 5.93, 6.45, 9.3, 10.0, 11.6] #список из дробных чисел
[«Katy», «Sergei», «Oleg», «Dasha»] #список из строк
[«Москва», «Титова», 12, 148] #смешанный список
[[0, 0, 0], [0, 0, 1], [0, 1, 0]] #список, состоящий из списков
Листинг 27. Примеры списков
Как и над строками над списками можно выполнять операции соединения и повторения:
>>> [45, -12, 'april'] + [21, 48.5, 33]
[45, -12, 'april', 21, 48.5, 33]
>>> [[0,0], [0,1], [1,1]] * 2
[[0, 0], [0, 1], [1, 1], [0, 0], [0, 1], [1, 1]]
Листинг 28. Операции соединения и повторения над списками
По аналогии с символами строк, можно получать доступ к объектам списка по их индексам, извлекать срезы, измерять длину списка:
>>> li = ['a', 'b', 'c', 'd', 'e', 'f']
>>> len(li)
6
>>> li[0]
'a'
>>> li[4]
'e'
>>> li [0:3]
['a', 'b', 'c']
>>> li [3:]
['d', 'e', 'f']
Листинг 29. Доступ к объектам списка по его индексам
В отличии от строк, списки - это изменяемые последовательности. Если представить строку как объект в памяти, то когда над ней выполняются операции конкатенации и повторения, то это строка не меняется, а в результате операции создается другая строка в другом месте памяти. В строку нельзя добавить новый символ или удалить существующий, не создав при этом новой строки. Со списком дело обстоит иначе. При выполнении операций другие списки могут не создаваться, а изменяться непосредственно оригинал. Из списков можно удалять элементы, добавлять новые. При этом следует помнить, многое зависит от того, как вы распоряжаетесь переменными. Бывают ситуации, когда списки все-таки копируются. Например, результат операции присваивается другой переменной.
Символ в строке изменить нельзя, элемент списка - можно:
>>> mystr = 'abrakadabra'
>>> mylist = ['ab', 'ra', 'ka', 'da', 'bra']
>>> mystr[3] = '0'
Traceback (most recent call last):
File «<pyshell#11>», line 1, in <module>
mystr[3] = '0'
TypeError: 'str' object does not support item assignment
>>> mylist[1] = 'ro'
>>> mylist
['ab', 'ro', 'ka', 'da', 'bra']
>>>
Листинг 30. Изменение элемента списка
В списке можно заменить целый срез:
>>> mylist [0:2] = [10,20]
>>> mylist
[10, 20, 'ka', 'da', 'bra']
Листинг 31. Замена среза в списке
Более сложная ситуация:
>>> alist = mylist [0:2] + [100,'it is ', 200] + mylist [2:] # новый список
>>> a2list = mylist # создается вторая ссылка-переменная на первый список
>>> alist
[10, 20, 100, 'it is ', 200, 'ka', 'da', 'bra']
>>> a2list
[10, 20, 'ka', 'da', 'bra']
>>> a2list[0] = '!!!' # изменяем список
>>> a2list
['!!!', 20, 'ka', 'da', 'bra']
>>> mylist # обе переменные связаны с одним списком
['!!!', 20, 'ka', 'da', 'bra']
Листинг 32. Замена элемента списка
Практическая работа
1. Создайте два любых списка и свяжите их с переменными.
2. Извлеките из первого списка второй элемент.
3. Измените во втором списке последний объект. Выведите список на экран.
4. Соедините оба списка в один, присвоив результат новой переменной. Выведите получившийся список на экран.
5. «Снимите» срез из соединенного списка так, чтобы туда попали некоторые части обоих первых списков. Срез свяжите с очередной новой переменной. Выведите значение этой переменной.
6. Добавьте в список-срез два новых элемента и снова выведите его.
Урок 14. Словари.
Одним из сложных типов данных (наряду со строками и списками) в языке программирования Python являются словари. Словарь - это изменяемый (как список) неупорядоченный (в отличие от строк и списков) набор пар «ключ: значение».
Чтобы представление о словаре стало более понятным, можно провести аналогию с обычным словарем, например, англо-русским. На каждое английское слово в таком словаре есть русское слово-перевод: cat - кошка, dog - собака, table - стол и т.д. Если англо-русский словарь описывать с помощью Python, то английские слова будут ключами, а русские - их значениями:
{'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
Листинг 33. Ключ и его значение
Обратите внимание на фигурные скобки, именно с их помощью определяется словарь. Синтаксис словаря на Питоне можно описать такой схемой:
Рис. 13. Синтаксис словаря
Если создать словарь в интерпретаторе Python, то после нажатия Enter можно наблюдать, что последовательность вывода пар «ключ: значение» не совпадает с тем, как было введено:
>>> {'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
{'bird': 'птица', 'mouse': 'мышь', 'dog': 'собака', 'cat': 'кошка'}
Листинг 34. Вывод ключа и его значения
Дело в том, что в словаре абсолютно не важен порядок пар, и интерпретатор выводит их в случайном порядке. Тогда как же получить доступ к определенному элементу, если индексация не возможна в принципе? Ответ: в словаре доступ к значениям осуществляется по ключам, которые заключаются в квадратные скобки (по аналогии с индексами строк и списков).
>>> dic = {'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
>>> dic['cat']
'кошка'
>>> dic['bird']
'птица'
Листинг 35. Доступ к элементу словаря
Словари, как и списки, являются изменяемым типом данных: можно изменять, добавлять и удалять элементы (пары «ключ: значение»). Изначально словарь можно создать пустым (например, d = {}) и лишь потом заполнить его элементами. Добавление и изменение имеет одинаковый синтаксис: словарь[ключ] = значение. Ключ может быть как уже существующим (тогда происходит изменение значения), так и новым (происходит добавление элемента словаря). Удаление элемента словаря осуществляется с помощью функции del().
>>> dic= {'cat':'кошка', 'dog':'собака', 'bird':'птица', 'mouse':'мышь'}
>>> dic['elephant'] = 'бегемот'
>>> dic['fox'] = 'лиса'
>>> dic
{'fox': 'лиса', 'dog': 'собака', 'cat': 'кошка', 'elephant': 'бегемот', 'mouse': 'мышь', 'bird': 'птица'}
>>> dic['elephant'] = 'слон'
>>> del (dic['bird'])
>>> dic
{'fox': 'лиса', 'dog': 'собака', 'cat': 'кошка', 'elephant': 'слон', 'mouse': 'мышь'}
Листинг 36. Удаление элемента словаря с помощью функции del
Тип данных ключей и значений словарей не обязательно должны быть строками. Значения словарей могут быть более сложными (содержать структуры данных, например, другие словари или списки).
>>> d = {1:'one', 2:'two', 3:'three'}
>>> d
{1: 'one', 2: 'two', 3: 'three'}
>>> d = {10: [3,2,8], 100: [1,10,5], 1000: [23,1,5]}
>>> d
{1000: [23, 1, 5], 10: [3, 2, 8], 100: [1, 10, 5]}
>>> d = {1.1:2, 1.2:0, 1.3:8}
>>> d
{1.3: 8, 1.2: 0, 1.1: 2}
>>> d = {1.1:2, 10:'apple', 'box':100}
>>> d
{'box': 100, 10: 'apple', 1.1: 2}
Листинг 37. Типы данных ключей и значений словаря
Словари - это широко используемый тип данных языка Python. Для работы с ними существует ряд встроенных функций.
Практическая работа
1. Создайте словарь, связав его с переменной school, и наполните его данными, которые бы отражали количество учащихся в десяти разных классах (например, 1а, 1б, 2б, 6а, 7в и т.д.).
2. Узнайте сколько человек в каком-нибудь классе.
3. Представьте, что в школе произошли изменения, внесите их в словарь:
- в трех классах изменилось количество учащихся;
- в школе появилось два новых класса;
- в школе расформировали один из классов.
4. Выведите содержимое словаря на экран.
Урок 15. Контрольная работа.
Задание 1
Напишите код по следующему словесному алгоритму:
1. Попросить пользователя ввести число от 1 до 9. Полученные данные связать с переменной x.
2. Если пользователь ввел число от 1 до 3 включительно, то
· попросить пользователя ввести строку. Полученные данные связать с переменной s;
· попросить пользователя ввести число повторов строки. Полученные данные связать с переменной n, предварительно преобразовав их в целочисленный тип;
· выполнить цикл повторения строки n раз;
· вывести результат работы цикла.
3. Если пользователь ввел число от 4 до 6 включительно, то…
· попросить пользователя ввести степень, в которую следует возвести число. Полученные данные связать с переменной m;
· реализовать возведение числа x в степень m;
· вывести полученный результат.
4. Если пользователь ввел число от 7 до 9, то выполнить увеличения числа x на единицу в цикле 10 раз, при этом на экран вывести все 10 чисел.
5. Во всех остальных случаях выводить надпись «Ошибка ввода».
Задание 2
Напишите программу, которая бы выполняла следующие задачи:
1. выводила название программы «Общество в начале XXI века»;
2. запрашивала у пользователя его возраст;
3. если пользователь вводит числа от 0 до 7, то программа выводила надпись «Вам в детский сад»;
4. от 7 до 18 - «Вам в школу»;
5. от 18 до 25 - «Вам в профессиональное учебное заведение»;
6. от 25 до 60 - «Вам на работу»;
7. от 60 до 120 - «Вам предоставляется выбор»;
8. меньше 0 и больше 120 - пятикратный вывод надписи «Ошибка! Это программа для людей!»
В программе желательно использовать все «атрибуты» структурного программирования: функцию, ветвление и цикл.
3. Контрольные вопросы по Python
программирование python лабораторный язык
1. Какая встроенная функция вводит данные с клавиатуры?
a) input;
b) print;
c) def;
d) abs.
2. Какая встроенная функция выводит данные на экран?
a) input;
b) print;
c) def;
d) abs.
3. Как применить функцию cos к действительному числу?
a) math.cos(число);
b) cos(число);
c) cmath.cos(число).
4. Имеется строки x=» 1» и у=» 5». Как сложить эти числа и получить число 6.
a) int (x+y);
b) x+y;
c) int(x)+int(y);
d) x+-y.
5. Какие ключевые слова могут входить в состав оператора цикла for.
a) Step;
b) In;
c) Else;
d) Elif;
e) Elfor.
6. Какую из следующих операций можно применить к строке:
a) +;
b) *;
c) Обе;
d) Ни одну из них.
7. Что напечатает следующий код:
а=[1, 2, 3]
del a[1]
print a[1]
a) 1;
b) 2;
c) 3;
d) Код вызовет ошибку.
8. Что произойдет при выполнении следующего кода:
x, y=y, x
9. Данное выражение эквивалентно
x
y=y
x
a) Поменяются местами значения х и у;
b) В этой строке синтаксическая ошибка
10. Что выведет следующий код:
(a, b)=(4,6)
c=eval («a*b»)
print(c)
a) «a*b»;
b) 24;
c) 444444;
d) Возникнет ошибка.
11. Какого типа значение получится в результате вычисления следующего выражения:
[«»]
a) Это синтаксическая ошибка;
b) Str(строка);
c) List(список);
d) Array(массив).
Заключение
Разработанный нами факультативный курс посвящен одному из бурно развивающихся и популярных в настоящее время сценарных языков программирования - Python. Язык Python позволяет быстро создавать как прототипы программных систем, так и сами программные системы, помогает в интеграции программного обеспечения для решения производственных задач. Python имеет богатую стандартную библиотеку и большое количество модулей расширения практически для всех нужд отрасли информационных технологий. Благодаря ясному синтаксису изучение языка не составляет большой проблемы.
Написанные на нем программы получаются структурированными по форме, и в них легко проследить логику работы. На примере языка Python рассматриваются такие важные понятия как: объектно-ориентированное программирование, функциональное программирование, событийно-управляемые программы (GUI-приложения), форматы представления данных (Unicode, XML и т.п.). Возможность диалогового режима работы интерпретатора Python позволяет существенно сократить время изучения самого языка и перейти к решению задач в соответствующих предметных областях. Python свободно доступен для многих платформ, а написанные на нем программы обычно переносимы между платформами без изменений. Это обстоятельство позволяет применять для изучения языка любую имеющуюся аппаратную платформу. С этим и связана актуальность изучения этого языка программирования в рамках факультативного курса.
В дипломной работе была рассмотрена методика изучения программирования на языке Python в старших классах и разработаны практические задания для закрепления изученного материала.
Задачи решены, цель дипломной работы достигнута.
Список литературы
1. Inkscape: Guide to a Vector Drawing Program. [Электр. ресурс] // http://tavmjong.free.fr/INKSCAPE/MANUAL/
2. Хахаев И.А. Практикум по алгоритмизации и программированию на Python: / И.А. Хахаев - М.: Альт Линукс, 2010. - 126 с.
3. Информатика: Учебник для 10-11 класса / Н.Д. Угринович - М.: Бином, 2009. - 512 с.
4. Фридланд А.Я., Ханамирова Л.С., Фридланд И.А. Информатика и компьютерные технологии. Основные термины. Толковый словарь. М..Издательство Астрель., 2003.
5. Бизли Д.М., Г. Ван Россум. Язык программирования Python. Справочник. (пер. с англ.) Киев: ДиаСофт., 2000.
6. Лутц М. Программирование на Python. (пер. с англ.) СПб.:.Символ-Плюс., 2002.
7. 8. Сузи Р.А. Python. Наиболее полное руководство. СПб.: БХВ-Петнбург., 2002.
8. Сузи Р.А. Язык программирования Python. М: Бином. Лаборатория знаний. - 2006.
9. Саммерфилд М. Программирование на Python 3. Подробное руководство (пер. с англ.) СПб: Символ-Плюс., 2009.
Размещено на Allbest.ru
Подобные документы
Использование комбинаторных задач на уроках математики, правила их решения и методика обучения решению. Разработка программы факультативного курса по теме "Элементы комбинаторики" для 8 класса. Основные понятия о факультативном курсе, описание программы.
дипломная работа [6,4 M], добавлен 26.01.2011Психолого-педагогические особенности развития старших школьников и преподавания программирования в старших классах. Тематическое планирование учебного материала. Программа и содержание факультативного курса "Программирование на языке JavaScript".
дипломная работа [1,0 M], добавлен 27.06.2011- Методика организации и проведения факультативного курса по теме "Симметрия в алгебраических задачах"
Основы организации факультативных занятий по математике. История возникновения и требования к их проведению. Психологические особенности старшеклассников. Методические разработки занятий факультативного курса "Симметрия в алгебраических задачах".
дипломная работа [379,4 K], добавлен 05.11.2011 История появления факультативных курсов, их цели и содержание. Принципы факультативного обучения. Программа факультатива "Основы самостоятельного поиска работы выпускниками школ", содержательный компонент практического и теоретического материала к ней.
дипломная работа [156,7 K], добавлен 05.11.2013Педагогические условия и сущностная характеристика дополнительного математического образования с точки зрения системного подхода. Примерная программа и методические рекомендации по организации изучения факультативного курса "Алгебраические числа".
дипломная работа [145,8 K], добавлен 11.09.2011Разработка факультативного курса по теме "Производная в школьном курсе математики": тематическое планирование и поурочные материалы. Анализ теоретической основы изучения производной, система упражнений, адаптация материала к процессу обучения.
курсовая работа [406,3 K], добавлен 16.10.2011История и роль школьного предмета "Информатика". Общие вопросы изучения алгоритмизации и программирования в школьном курсе информатики. Основные методы преподавания темы "Основы алгоритмизации и программирования". Разработка урока по исследуемой теме.
курсовая работа [55,5 K], добавлен 22.11.2011Методические основы изучения темы "Четырехугольники" в курсе геометрии. Общее понятие о факультативном курсе. Факультативный курс для учащихся 8 класса по теме "Четырехугольники на плоскости", принципы и этапы его разработки, предъявляемые требования.
курсовая работа [520,6 K], добавлен 21.05.2013Структура методического анализа. Отбор учебного материала, его методическая редукция, цели, эффективные методы обучения. Анализ содержания учебного материала по теме "Языки программирования баз данных и СУБД". Разработка урока теоретического обучения.
курсовая работа [204,4 K], добавлен 19.06.2011Рассмотрение истории возникновения и развития факультативных занятий по математике в восьмых классах. Отбор их содержания, выбор методов и форм проведения. Разработка, творческое планирование и структура факультативного курса "Параметры в геометрии".
дипломная работа [153,6 K], добавлен 19.04.2011