4717
Обробка послідовностей при програмуванні на мові Python
Лабораторная работа
Информатика, кибернетика и программирование
Мета робота Вивчення основ програмування на мові Python. Короткі теоретичні відомості Обробка послідовностей Оператор for Оператор for в Python трохи відрізняється від аналогічного оператора в C або Pascal. Замість незмінного проходження по ...
Украинкский
2012-11-25
184.5 KB
6 чел.
Вивчення основ програмування на мові Python.
Оператор for в Python трохи відрізняється від аналогічного оператора в C або Pascal. Замість незмінного проходження по арифметичній прогресії з чисел (як в Pascal) або надання користувачеві можливості вказати крок ітерації та умову останову (як в С), оператор for в Python проходить по всіх елементах будь-якої послідовності (списку або стрічки) в тому порядку, в якому вони в ній розташовуються.
Оператор for в Пітоні має вигляд:
for певна_змінна in певний_діапазон
Блок коду після заголовка виконується, поки певна_змінна належить до певного_діапазону. Цей діапазон може бути списком, числовою послідовністю, масивом любих значень:
>>> phrase=['red', 'green', 'blue', 'yellow', 'black', 'white']
>>> for word in phrase:
print len(word),word
3 red
5 green
4 blue
6 yellow
5 black
5 white
>>>
Ця програма виконує оператор print len(word), word для кожного елемента зі списку. Цей процес називається ітераціями. Наведемо інший приклад for циклу.
>>> total=0
>>> for w in phrase:
total+=len(w)
>>> total/len(phrase)
4
>>>
В цій програмі визначається відношення між загальною кількість символів в елементах списку та кількістю елементів списку. Для збільшення значення змінної або додавання до рядка використовується +=, а для зменшення -=.
Можна написати for цикл і для роботи з символами стрічки
>>> sent='red green blue yellow black white'
>>> for char in sent:
print char,
r e d g r e e n b l u e y e l l o w b l a c k w h i t e
>>>
Для виведення результату в один рядок, наприкінці оператора print змінна слід додати кому «,».
При використанні оператора print можна передбачати певне форматування. Без форматування одержуємо наступне:
>>> for word in phrase:
print word, '(', len(word),'),',
red ( 3 ), green ( 5 ), blue ( 4 ), yellow ( 6 ), black ( 5 ), white ( 5 ),
>>>
При виводі з форматуванням одержимо.
>>> for word in phrase:
print "%s (%d)," % (word,len(word)),
red (3), green (5), blue (4), yellow (6), black (5), white (5),
>>>
В цьому прикладі команда print має наступний синтаксис: format % values.
Format це частина яка містить специфікатори формату такі як:
%d |
Відповідна змінна може бути десятковим числом або конвертована в десяткове число |
%f |
Відповідна змінна може бути числом з точкою або конвертована у Число з точкою |
%s |
Відповідна змінна є стрічкою або може бути конвертована в стрічку |
%c |
Відповідна змінна є символом |
Values це частина де записаний кортеж значень для якого визначені специфікатори формату.
Наступний приклад демонструє складніший випадок форматування.
>>> for word in phrase:
print "Word=%s\nIndex = %s\n******" % (word,phrase.index(word))
Word=red
Index = 0
******
Word=green
Index = 1
******
Word=blue
Index = 2
******
Word=yellow
Index = 3
******
Word=black
Index = 4
******
Word=white
Index = 5
******
>>>
Символ '\n' це початок нового рядка. Символ '\t' табуляція.
Часто виникає потреба конвертації стрічки, яка містить послідовність слів записаних через побіл в список та списку в стрічку. Наступний цикл перетворить список в стрічку, а пробіл додаємо в циклі перед кожним зі слів.
>>> str=''
>>> for word in phrase:
str+=' '+word
>>> str
' red green blue yellow black white'
>>>
Зворотну операцію для перетворення стрічки в список можна звичайно здійснити побудувавши цикл, але доцільніше використати метод split() який розділить стрічку за символами пробілу, або можна ввести інший символ за яким буде здійснюватися розділення.
>>> str.split(' ')
['', 'red', 'green', 'blue', 'yellow', 'black', 'white']
>>> str.split('e')
[' r', 'd gr', '', 'n blu', ' y', 'llow black whit', '']
>>>
Модуль string є корисним модулем стандартних дистрибутивів мови Python. Щоб скористатися функціями модуля його потрібно імпортувати:
>>> import string
Тут зібрані функції для пошуку підстрічки у стрічці, заміни і тому подібне. Наприклад:
>>> s = "mary had a little lamb"
>>> string.capwords(s)
'Mary Had A Little Lamb'
>>> string.replace(s, 'little', 'fercious')
'mary had а ferocious lamb'
Існує багато інших функції, ви можете знайти подробиці в керівництві по мові Python.
>>> help(string)
Help on module string:
NAME
string - A collection of string operations (most are no longer used).
FILE
c:\python26\lib\string.py
DESCRIPTION
Warning: most of the code you see here isn't normally used nowadays.
Beginning with Python 1.6, many of these functions are implemented as
methods on the standard string object. They used to be implemented by
a built-in module called strop, but strop is now obsolete itself.
Крім того, ви можете користуватися функціями string для отримання інформації про такі атрибути рядка, як довжина або позиції підстрічки, наприклад:
>>> import string
>>> s = "mary had а little lamb"
>>> string.find(s, 'had')
5
>>> string.count(s, 'a')
4
І нарешті, string надає дуже характерну для мови Python особливість. Пара .split() і .join() забезпечує швидкий спосіб перетворення стрічок в списки і навпаки, що ви знайдете вельми корисним. Реалізується це просто:
>>> import string
>>> s = "mary had а little lamb"
>>> L = string.split(s)
>>> L
['mary', 'had', 'a', 'little', 'lamb']
>>> string.join(L, "-")
'mary-had-a-little-lamb'
Еквівалентним є також і наступний запис
>>> from string import join
>>> join(L)
'mary had a little lamb'
>>>
Програми, які згадувалися в лабораторній роботі №1 є простими. Основною особливістю програмування є спроможність програми приймати рішення від імені людини, виконуючи інструкції, коли справджуються певні умови або послідовно обробляти текстові дані до тих пір поки не задоволена певна умова. Таким засобом керування поведінкою програми є контрольні структури.
Python підтримує широкий набір операторів для встановлення взаємозвязків між змінними (значеннями). Повний набір цих операторів наведений у таблиці 1.
Таблиця 1.
Оператор |
Значення |
< |
Менше |
<= |
Менше або дорівнює |
== |
Дорівнює |
!= |
Не дорівнює |
> |
Більше |
>= |
Більше або дорівнює |
Можна використовувати ці оператори безпосередньо:
>>> 3<5
True
>>> 5<3
False
>>> not 5<3
True
>>>
В результаті ми отримали вирази із булевими значеннями True, False. In, not - це булеві оператори. Стрічки і списки також підтримують умовні вирази.
>>> word='sovereignty'
>>> 'sovereignty' in word
True
>>> 'gnt' in word
True
>>> 'pre' in word
False
>>> 'Hello' in ['Hello','World']
True
>>> 'Hell' in ['Hello','World']
False
>>>
Для подальшої роботи нам будуть необхідні великі масиви текстів, тому скористаємося корпусами текстів Пітона.
>>> import nltk
>>> from nltk.book import *
*** Introductory Examples for the NLTK Book ***
Loading text1, ..., text9 and sent1, ..., sent9
Type the name of the text or sentence to view it.
Type: 'texts()' or 'sents()' to list the materials.
text1: Moby Dick by Herman Melville 1851
text2: Sense and Sensibility by Jane Austen 1811
text3: The Book of Genesis
text4: Inaugural Address Corpus
text5: Chat Corpus
text6: Monty Python and the Holy Grail
text7: Wall Street Journal
text8: Personals Corpus
text9: The Man Who Was Thursday by G . K . Chesterton 1908
Можна перевірити наявність певних слів як в окремих реченнях так і в усьому тексті:
>>> 'hello' in sent7
False
>>> 'hello' in text1
False
>>> 'he' in text1
True
>>>
Загальною схемою роботи цих прикладів є конструкція типу
([w for w in text if condition ])
де condition умова, яка справджується або ні (приймає значення True або False ).
Звичайно ми використовуємо умовні оператори, як частину If операторів. Для перевірки властивостей окремих слів існує набір наступних функцій.
Таблиця 2.
Функція |
Пояснення |
s.startswith(t) |
чи починається s з t |
s.endswith(t) |
чи закінчується s на t |
t in s |
Чи t міститься в s |
s.islower() |
Чи всі символи в s є малі |
s.isupper() |
Чи всі символи в s є великі |
s.isalpha() |
Чи всі символи в s є букви |
s.isalnum() |
Чи всі символи в s є букви і цифри |
s.isdigit() |
Чи всі символи в s є цифри |
s.istitle() |
Чи всі слова в s є з великої літери |
Розглянемо наступні приклади використання цих операторів для вибору окремих слів з тексту:
а. Слова з закінченням ableness
>>> sorted([w for w in set(text1) if w.endswith('ableness')])
['comfortableness', 'honourableness', 'immutableness', 'indispensableness', ...]
б. Слова , які містять gnt
>>> sorted([term for term in set(text4) if 'gnt' in term])
['Sovereignty', 'sovereignties', 'sovereignty']
в. Слова, які починаються з великої літери
>>> sorted([item for item in set(text6) if item.istitle()])
['A', 'Aaaaaaaaah', 'Aaaaaaaah', 'Aaaaaah', 'Aaaah', 'Aaaaugh', 'Aaagh', ...]
г. Слова, які повність складаються з цифр
>>> sorted([item for item in set(sent7) if item.isdigit()])
['29', '61']
>>>
Можна ставити і складніші умови. Якщо С це умова, то not C це також умова. Якщо є дві умови С1 та С2, то побудувати нову умову використовуючи оператори дизюнкції та конюнкції: c1 and c2, c1 or c2
Виконати самостійно:
Виконайте наступні приклади і спробуйте пояснити, що відбувається в кожному з них:
>>> sorted([w for w in set(text7) if '-' in w and 'index' in w])
>>> sorted([wd for wd in set(text3) if wd.istitle() and len(wd) > 10])
>>> sorted([w for w in set(sent7) if not w.islower()])
>>> sorted([t for t in set(text2) if 'cie' in t or 'cei' in t])
Розглянемо наступні приклади:
>>> [len(w) for w in text1]
[1, 4, 4, 2, 6, 8, 4, 1, 9, 1, 1, 8, 2, 1, 4, 11, 5, 2, 1, 7, 6, 1, 3, 4, 5, 2, ...]
>>> [w.upper() for w in text1]
['[', 'MOBY', 'DICK', 'BY', 'HERMAN', 'MELVILLE', '1851', ']', 'ETYMOLOGY', '.', ...]
>>>
В даних прикладах застосовані наступні вирази: [f(w) for ...] or [w.f() for ...], де f це функція, яка або визначає довжину слова або перетворює малі літери на великі. В кожному з цих прикладів здійснюється обробка кожного елемента списку. Змінній W послідовно присвоююся значення слів з тексту і над цією змінною виконуються передбачені програмою дії.
Такий запис [f(w) for ...] називається "list comprehension" (включення списків або спискові висловлювання) і є важливим для написання та розуміння програм на Python.
Застосуємо включення списків для підрахунку слів в тексті:
>>> len(text1)
260819
>>> len(set(text1))
19317
>>> len(set([word.lower() for word in text1]))
17231
>>>
В даному прикладі ми уникнули подвійного підрахунку слів з великої літери (This and this), що зменшило кількість приблизно на 2000 слів. Подібним способом можна уникнути підрахунку розділових знаків та чисел.
>>> len(set([word.lower() for word in text1 if word.isalpha()]))
16948
>>>
Умовна інструкція (інструкція розгалуження) це розвилка на шляху виконання програми. Програма може піти по одному шляху, а може і по іншому. Шлях вибирається в залежності від значення змінних в момент перевірки умови.
Наприклад, наступна програма друкує на екран найбільше з двох введених чисел:
>>> x=2
>>> y=5
>>> if x>y: # Галуження залежно від умови x>y
print x # Надрукуємо x якщо умова істинне
else:
print y # Надрукуємо у якщо умова помилкова
5
>>>
Ця програма перевіряє, яке з двох введених чисел більше (x>y). Якщо ця умова істинна, то друкується значення x, інакше значення у. Таким чином, дана програма надрукує найбільше з двох чисел.
У загальному випадку синтаксис інструкції галуження такий:
if умова:
інструкція11
...
інструкція1n
else:
інструкція21
...
инструкция2n
Працює інструкція галуження так. Спочатку перевіряється умова. Якщо вона істинне, то виконується та послідовність інструкцій, яка знаходиться між ключовими словами if і else (називатимемо цю послідовність інструкцій if-блоком). Якщо ж умова помилкова, то замість цього блоку інструкцій виконується та послідовність, яка слідує після ключового слова else (else-блок). Після завершення виконання if-блоку або else-блоку, тобто незалежно від умови, починають виконуватися інструкції, наступні після else-блоку (у розглянутому прикладі це остання інструкція print).
Як Пітон визначає, де закінчується else-блок і починаються ті інструкції, які будуть виконані незалежно від умови, що перевіряється, тобто в якому місці шляхи виконання зливаються?
Це визначається за величиною відступу: перед всіма інструкціями в if-блоці і else-блоці слід поставити один або кілька пропусків, виділяючи за допомогою зсуву вправо блок від решти програми, причому число пропусків перед всіма інструкціями в блоці повинне бути однаковим. Перша ж інструкція після else-блоку повинна починатися з тієї ж позиції, що і ключові слова if і else.
І в жодному випадку не слід забувати про двокрапки після інструкцій if і else.
У простому випадку умови мають наступний вигляд:
вираз1 оператор вираз2
де вираз1 і вираз2 деякі арифметичні вирази (змінні, арифметичні оператори, виклики функцій тощо), а оператор може бути наступним оператором відношення:
< менше
> більше
<= менше або рівно
>= більше або рівно
== рівно
!= нерівно
Наприклад, умова x<=2**(0.5) означає "значення змінної x не менше кореня з 2", а умова 2*x!=y означає "подвоєне значення змінної x не рівно значенню змінної у".
Увага: оператор == (два знаки рівно) це перевірка на рівність двох виразів, а оператор = (один знак рівно) це привласнення змінній нового значення і використовувати його в умові інструкції if не можна.
У інструкції галуження може бути відсутнім ключове слово else з подальшим else-блоком. В наступній програмі ми створили змінну word, яка містить значення cat типу стрічка. If- оператор перевіряє умову чи довжина слова <5, чи ні. Якщо умова виразу справджується, то виконується тіло if оператора і виконується оператор print .
>>> word='cat'
>>> if len(word)<5:
print "word lenght is less than 5"
word lenght is less than 5
>>>
Якщо змінити умови виразу (довжина слова більша або рівна 5), вираз не справджується і оператор print не виконується.
>>> if len(word)>=5:
print "word lenght is greater than or equal to 5"
>>>
При написанні програм можна поєднувати оператори if та for. В наступному прикладі в циклі обробляються всі елементи списку і друкуються тільки ті, які мають останню літеру l:
>>> sent1 = ['Call', 'me', 'Ishmael', '.']
>>> for xyzzy in sent1:
... if xyzzy.endswith('l'):
... print xyzzy
...
Call
Ishmael
>>>
Іноді потрібно вибирати не з двох альтернативних шляхів виконання, а з кількох, наприклад, в залежності від того, чи є певна величина додатною, відємною чи рівною нулю слід виконати одну з трьох дій. В цьому випадку можна використовувати інструкцію множинного галуження. Приклад використання інструкції множинного галуження:
>>> if len(word)>=5:
print "word lenght is greater than or equal to 5"
else:
print "word lenght is less than 5"
word lenght is less than 5
>>>
У множинному галуженні повинна бути одна інструкція if з подальшим блоком, одна або кілька інструкцій elif з подальшими блоками і, можливо, інструкція else з подальшим блоком. Всі умови перевіряються одна за іншою і буде виконаний блок інструкцій, який слідує за умовою, значення якої буде істинне.
Наступний приклад містить складнішу комбінацію з операторів If, else, elif.
>>> for token in sent1:
... if token.islower():
... print token, 'is a lowercase word'
... elif token.istitle():
... print token, 'is a titlecase word'
... else:
... print token, 'is punctuation'
...
Call is a titlecase word
me is a lowercase word
Ishmael is a titlecase word
. is punctuation
>>>
Якщо істинними виявляться кілька умов, то виконається тільки той блок інструкцій, який слідує після першого з цих умов (а решта умов навіть не перевірятиметься).
>>> animals=['cat','dog']
>>> if 'cat' in animals:
print 1
elif 'dog' in animals:
print 2
1
>>>
У випадку, коли if. вираз твердження задовольняється, elif вираз не виконується і програма ніколи не виведе на екран 2. elif вираз надає більше інформації ніж if вираз. Якщо elif вираз справджується то це означає, що не тільки одна умова справджується але і означає, що умова if виразу не справдилася.
Якщо ж всі умови будуть помилкові, то виконається else-блок, якщо він є.
Якщо залишити частину умов if твердження пустою, то не пуста стрічка або список буде оброблятися як true а пуста стрічка чи список, як false.
>>> mixed=['cat','',['dog'],[]]
>>> for element in mixed:
if element:
print element
cat
['dog']
>>>
Усередині блоку умовної інструкції можуть знаходиться будь-які інші інструкції, у тому числі і умовна інструкція. Такі інструкції називаються вкладеними. Синтаксис вкладеної умовної інструкції такий:
if условие1:
...
if условие2:
...
else:
...
...
else:
...
Замість трикрапок можна писати довільні інструкції. Зверніть увагу на розміри відступів перед інструкціями. Блок вкладеної умовної інструкції відділяється великим відступом. Рівень вкладеності умовних інструкцій може бути довільним, тобто всередині однієї умовної інструкції може бути друга, а всередині неї ще одна і т.д.
У циклі з умовою while цикл виконується, поки істинною є його умова. Тому цей цикл також іноді називають циклом "поки". Часто цикл while використовується, коли неможливо заздалегідь передбачити, скільки разів необхідно виконати тіло циклу. У повсякденному житті цикл while можна зустріти в алгоритмах, ніби "Поки в межах видимості є машини, стояти на місці" або "Поки в ящику є деталі, дістати деталь з ящика".
У наступній програмі цикл while використовується подібно до циклу for для виводу на екран всіх чисел від 1 до 10:
>>> i=1
>>> while i<=10:
print i,
i=i+1
1 2 3 4 5 6 7 8 9 10
>>>
У цій програмі змінній i привласнюється значення 1. Потім починається цикл (ключове слово while) з умовою i<=10, що перевіряється. Тіло циклу містить дві інструкції: вивід на екран значення змінної i і збільшення значення змінної i на 1.
При виконанні цього циклу перевіряється умова i<=10. Оскільки значення i спочатку рівне 1, та умова вірна і виконується тіло циклу: на екран виводиться значення змінної i, тобто 1 і змінною i привласнюється значення i+1, тобто 2. Знову перевіряється умова, оскільки воно вірне, то виконується блок циклу: на екран виводиться число 2 і змінною i привласнюється значення 3. Знову перевіряється значення циклу, і так далі до тих пір, поки умова, що перевіряється, істинна.
Як тільки умова, що перевіряється, стане помилкова (це відбудеться, коли змінна i стане рівна 11), цикл завершить роботу і управління буде передано наступній інструкції після блоку циклу. Тому після завершення циклу змінна i матиме значення 11.
У загальному вигляді синтаксис циклу з умовою в мові Пітон такий:
while умова:
інструкція 1
інструкція 2
...
інструкція n
У кожній інструкції while повинні бути присутніми:
Нехай маємо стрічку і необхідно написати програму, яка виведе на екран всі слова, які мають закінчення «ow». Програма буде складатися з наступних частин. Спочатку розділимо стрічку на список слів.
>>> sentence='how now brown cow'
>>> words=sentence.split()
>>> words
['how', 'now', 'brown', 'cow']
>>>
Тепер потрібно послідовно перебрати всі слова у списку . Напишемо такий цикл , за допомогою якого виводимо на екран всі слова .
>>> for word in words:
print word
how
now
brown
cow
>>>
Далі треба вивести на екран тільки необхідні нам слова із закінченням «ow». Попередньо можна перевірити, які саме слова необхідно вивести на екран.
>>> 'how'.endswith('ow')
True
>>> 'brown'.endswith('ow')
False
>>>
Тепер все готове для написання If твердження у For циклі.
>>> sentence='how now brown cow'
>>> words=sentence.split()
>>> for word in words:
if word.endswith('ow'):
print word
how
now
cow
>>>
На завершення розглянемо наступний приклад:
>>> tricky = sorted([w for w in set(text2) if 'cie' in w or 'cei' in w])
>>> for word in tricky:
... print word,
ancient ceiling conceit conceited conceive conscience
conscientious conscientiously deceitful deceive ...
>>>
Спочатку був створений список куди увійшли слова з буквосполученнями «cie» та «cei». Елементи цього списку оброблялися в циклі і роздруковувалися. Зауважимо, що кома в кінці оператора print вказує на те щоб результати виводилися в стрічку.
В Пітоні існує вбудований модуль, який дозволяє генерувати псевдовипадкові числа. З математичної точки зору вони не є істинно випадковими, але для наших цілей цілком підійдуть.
Модуль random містить функцію random, яка повертає дійсне число в діапазоні від 0.0 до 1.0. Кожного разу при виклику функції random отримуємо число з довгого ряду. Щоб подивитися, як вона працює, запустимо наступну програму:
>>> import random
>>> for i in range(10):
x = random.random()
print x,
0.229251402651 0.682351257761 0.294930909369 0.373334992539 0.441086385331 0.369412011226 0.210202876242 0.646238551283 0.662405582996 0.69126828748
>>>
Щоб отримати випадкове число між 0.0 і верхньою межею high, просто помножте x на high.
>>> V=5
>>> for i in range(10):
x = random.random()
print V*x,
4.69129913244 0.208588299515 0.362363052128 0.400794515189 1.85098407649 3.33756302701 4.63164988677 4.01174854489 2.56470115549 3.65997263093
>>>
Сьогодні ми вивчили:
s.lower() |
Перетворення всіх символів в s на малі |
s.upper() |
Перетворення всіх символів в s на великі |
s.title() |
Перетворення всіх перших символів в s на великі |
1. Ознайомитися з теоретичними відомостями.
2. Виконати приклади, які використовуються в теоретичних відомостях.
3. Виконати наступні вправи.
sorted(set([w.lower() for w in text1]))
sorted([w.lower() for w in set(text1)])
w.isupper()
not w.islower()
14-18. Написати програму використовуючи list comprehension та ту саму програму не використовуючи list comprehension. Програма повинна виконувати:
19-24. В стрічці "Love me tender, love me sweet, never let me go." Написати програму для знаходження:
4. Підготувати і оформити звіт.
Варіант |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
Номери завдань |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
4 |
6 |
5 |
5 |
4 |
6 |
4 |
6 |
5 |
5 |
4 |
6 |
4 |
6 |
5 |
|
8 |
7 |
8 |
8 |
7 |
7 |
8 |
8 |
7 |
7 |
8 |
8 |
7 |
7 |
8 |
|
9 |
13 |
9 |
13 |
9 |
13 |
9 |
13 |
9 |
13 |
9 |
13 |
13 |
9 |
9 |
|
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
12 |
|
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
14 |
15 |
16 |
17 |
|
Варіант |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
Номери завдань |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
1 |
2 |
3 |
4 |
6 |
5 |
5 |
4 |
6 |
4 |
6 |
5 |
5 |
4 |
6 |
5 |
4 |
6 |
|
7 |
8 |
8 |
7 |
7 |
8 |
8 |
7 |
7 |
8 |
8 |
7 |
7 |
8 |
7 |
|
9 |
13 |
9 |
13 |
9 |
13 |
9 |
13 |
9 |
13 |
9 |
13 |
13 |
9 |
13 |
|
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
12 |
11 |
|
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
14 |
15 |
16 |
14 |
22 |
|
А также другие работы, которые могут Вас заинтересовать | |||
61523. | Баскетбол. Физическая культура | 18.65 KB | |
Задачи: 1) Совершенствовать технику прохода под кольцо в сочетании с двумя шагами и броском. 2) Совершенствовать технику штрафного броска одной рукой от плеча 3) Развивать скоростно-силовые качества, координационные способности, меткость. | |||
61524. | Этапы проектирования объектов ланшафтного-дизайна | 24.29 KB | |
Для непосредственного проектирования объекта ландшафтной архитектуры необходимо провести изыскательские работы а именно комплексное обследование территории объектов и элементов располагающихся на нем. | |||
61526. | Открытый урок по физической культуре | 23.2 KB | |
Описание упражнения Дозировка Методические указания Подготовительная часть 12 15 минут Построение и расчет группы 1 минута Четкая формулировка согласно правилам и произнесение команд Упражнения в ходьбе... | |||
61527. | Праздники | 17.56 KB | |
Задачи урока 1. Активизация знакомой лексики по теме Праздники 2. Применение учащимся знаний времен английского глагола: The Present Simple tense, The Past Simple tense, The Future Simple tense, The Present Progressive tense... | |||
61528. | Альберт Эйнштейн. Специальная теория относительности | 190.67 KB | |
Статья отнесена к разделу: Преподавание физики Во всем виноват Эйнштейн. Подготовка к уроку: Подготовка наглядности к уроку: портреты Эйнштейна в позднем возрасте карикатуры на него портрет Амадея Моцарта... | |||
61529. | Духовная жизнь: достижения и потери | 30.63 KB | |
Цели урока: 1)образовательные: Помочь учащимся целостно представить проект изучения новой темы и сформировать представление о причинах идеологического наступления на культуру. 2) развивающая: Развитие информационной культуры учащихся, умение структурировать информацию... | |||
61530. | Животные | 21.94 KB | |
Подготовка к новому материалу 10 мин Физ. минутка 1 мин Объяснение новой темы 15 мин Физ. минутка 1 мин Закрепление пройденного 10 мин Итог урока 2 мин Ход урока Этап работы Содержание работы Примечание... | |||
61531. | Использование элементов фольклора по теме «Глагол» | 36.86 KB | |
Цель: Научить детей распознавать глагол как часть речи на примере устного народного творчества. б Закреплять умение ставить вопрос к глаголу. | |||