Главный секрет блока else в циклах пайтона
Это короткая статья для новичков. Наверняка вы знаете, что в пайтоне для циклов for и while предусмотрен блок else . И с этим блоком возникает много путаницы, потому что его действие на первый взгляд неинтуитивно. Приходится тратить немного времени или заглядывать в документацию каждый раз, когда он встречается:
for f in files: if f.uuid == match_uuid: break else: raise FileNotFound()
Когда будет исключение: когда файл не найден? Когда найден? Когда список пуст? На этот вопрос сложно ответить, потому что блок else находится на одном уровне с блоком for и кажется, что это какое-то условие, относящиеся к самому списку; например, когда for не нашел ни одной записи. Но достаточно знать главный секрет блока else для циклов, чтобы больше никогда не терять на это время:
Блок else после циклов относится не к самому циклу, а к оператору break !
И действительно, блок else выполнится в любом случае, если только выполнение цикла не было прервано оператором break , return или raise .
Если читать пример выше так: «если файл имеет нужный нам uuid, то закончить цикл, иначе вызвать исключение», то все становится на свои места.
1. Цикл повторить n раз
Цикл — это многократное повторение некоторой последовательности действий.
Нарисуем с помощью Чертёжника узор из звёзд.
Сначала напишем вспомогательный алгоритм , который будет чертить одну звезду.
Далее в основном алгоритме будем использовать цикл.
Общий вид цикла:
нц раз
кц
Число повторений показывает, сколько раз будет выполняться цикл, а тело цикла какие действия будут повторяться.
§ 4. Логические операции И и ИЛИ
![]()
Логика высказываний позволяет строить составные высказывания. Они создаются из нескольких простых высказываний путем соединения их друг с другом с помощью логических операций НЕ, И, ИЛИ и др.
4.1. Логическая операция И
Определение истинности или ложности составного высказывания зависит от того, являются ли истинными или ложными простые высказывания, входящие в его состав, а также от той логической операции, которая их связывает.
Составное высказывание А И В, образованное в результате объединения двух простых высказываний А и B логической операцией И, истинно тогда и только тогда, когда А и В одновременно истинны (пример 4.1 и пример 4.2).
Операцию И называют логическим умножением. Равенства 1 · 1 = 1, 1 · 0 = 0, 0 · 1 = 0, 0 · 0 = 0, верные для обычного умножения, верны и для логического умножения.
Представим таблицу истинности для логической операции И:
А И В
Если хотя бы одно из простых высказываний, связанных операцией И, будет ложным, то и составное высказывание будет ложным.
Для записи логической операции И используют следующие обозначения: A И B, A AND B, A · B, A * B, A ∧ B, A & B.
4.2. Логическая операция ИЛИ
Составное высказывание А ИЛИ В, образованное в результате объединения двух простых высказываний А и B логической операцией ИЛИ, ложно тогда и только тогда, когда А и В одновременно ложны (пример 4.3).
Другими словами, составное высказывание А ИЛИ В будет истинным, если истинно хотя бы одно из двух составляющих его простых высказываний (пример 4.4).
Таблица истинности для логической операции ИЛИ имеет следующий вид:
Операцию ИЛИ называют логическим сложением. Равенства 1 + 0 = 1, 0 + 1 = 1, 0 + 0 = 0, верные для обычного сложения, верны и для логического сложения.
Для записи логической операции ИЛИ можно использовать следующие выражения: A ИЛИ B, A OR B, A + B, A ∨ B, A | B.
Если в логическом выражении присутствует несколько логических операций, то важно определить порядок их выполнения. Наивысшим приоритетом обладает операция НЕ. Логическая операция И, т. е. логическое умножение, выполняется раньше операции ИЛИ — логического сложения (пример 4.5* и пример 4.6*).
Для изменения порядка выполнения логических операций используют скобки: в этом случае сначала выполняются операции в скобках, а затем — все остальные.
Логические операции И и ИЛИ подчиняются переместительному закону:
A И B = B И A ;
A ИЛИ B = B ИЛИ A .
Чтобы определить значение составного логического выражения, иногда достаточно знать значение только одного простого высказывания.
Так, если в составном высказывании с операцией И значение хотя бы одного простого высказывания является ложным, то и значение составного высказывания будет ложным. Если в составном высказывании с операцией ИЛИ значение хотя бы одного простого будет истинным, то и значение составного высказывания будет истинным (пример 4.7).
Данное высказывание является составным, поскольку оно содержит два простых высказывания:
«Число 456 трехзначное» (высказывание А) и «Число 456 четное» (высказывание В). Высказывания А и В соединены вместе логической операцией И, в результате получено составное высказывание А И B. Высказывание А истинно, высказывание В истинно. Поэтому высказывание А И B истинно: (А И B) = 1.
Пример 4.2. Высказывание А: «Геракл — герой древнегреческой мифологии». Истинно, А = 1.
Высказывание В: «Геракл — сын бога Зевса». Истинно, B = 1.
Высказывание А И В: «Геракл — герой древнегреческой мифологии И сын бога Зевса». Истинно, (А И В) = 1.
Пример 4.3. Проанализируем высказывание «Семиклас-сники изучают философию или астрономию».
Данное составное высказывание образовано из двух простых высказываний: «Семиклассники изучают философию» (высказывание А), «Семиклас-сники изучают астрономию» (высказывание В), которые связаны логической операцией ИЛИ. В результате получилось составное высказывание А ИЛИ B. Высказывание А ложно, высказывание В ложно. Поэтому высказывание А ИЛИ B ложно: (А ИЛИ B) = 0.
Пример 4.4. Высказывание А: «Франциск Скорина — белорусский первопечатник». Истинно, А = 1.
Высказывание В: «Стефан Баторий — турецкий султан». Ложно, B = 0.


Высказывание «Франциск Скорина — белорусский первопечатник, ИЛИ Стефан Баторий — турецкий султан» будет истинным, (А ИЛИ В) = 1.
Пример 4.5*.
Рассмотрим выражение: А ИЛИ B И НЕ С. Распишем по действиям вычисление значения логического выражения:
Значение высказывания F, полученное в 3-м действии, определит значение исходного логического выражения.
Пример 4.6*.
Пусть высказывание А = 1, B = 0, С = 0. Найдем значение логического выражения: А ИЛИ B И НЕ С.
Значит, при начальных значениях А = 1, B = 0, С = 0 значение логического выражения А ИЛИ B И НЕ С истинно.
Пример 4.7. Высказывание А: «Прогноз погоды обещает дожди». Высказывание В: «Сейчас на улице идет дождь».
Высказывание А И B будет ложным, если мы увидели, что на улице нет дождя (независимо от того, что обещал прогноз погоды).

1 В каких условиях составное высказывание А И В может быть истинным?
- Если А истинно, а В ложно.
- Если А ложно и В истинно.
- Если А ложно, а В истинно.
- Если А истинно и В истинно.
2 В каких случаях составное высказывание А ИЛИ В может быть ложным?
- Если А ложно, а В истинно.
- Если А ложно и В ложно.
- Если А истинно, а В ложно.
- Если А истинно и В истинно.
Упражнения



1 Определите, истинными или ложными являются нижеприведенные составные высказывания.
- Мяч круглый, ИЛИ Земля плоская.
- Кролики — домашние животные, И баобаб растет в Беловежской пуще.
- Клавиатура — устройство ввода информации, ИЛИ винчестер — устройство вывода информации.
- М. Ю. Лермонтов написал стихотворение «Парус», И И. А. Крылов написал басню «Квартет».
- Сосна — хвойное дерево, И кедр — не хвойное дерево.
- Процессор — устройство обработки информации в компьютере, ИЛИ наушники — не устройство ввода информации.
- Континенты и острова — это большие участки суши.
2 О том, как прошли летние каникулы, Кира рассказала своим друзьям следующее:
- Я была у бабушки в деревне, и рядом с деревней было озеро.
- По озеру плавала лодка или утка.
- Мы с бабушкой насобирали малины и смородины.
- Я составила букет из цветов. В нем были ромашки или гвоздики.
Подготовьте к каждому из высказываний Киры рисунки, учитывая, что все высказывания истинны.
3 Откройте файл с рисунком и разложите грибы по корзинкам так, чтобы было истинным следующее высказывание: «В большой корзине все грибы съедобные, и в маленькой корзине все грибы несъедобные».

4 Откройте файл с рисунком и поставьте все цветы в вазы так, чтобы было истинным высказывание: «В синей вазе все цветы розы, или в красной вазе все цветы не красного цвета».
5* Найдите значения логических выражений, если А = 1, B = 1, С = 0, D = 0.
Контрольно-оценочный материал для контроля остаточных знаний по дисциплине «Основы алгоритмизации и программирования»
Тесты для проведения контроля остаточных знаний по дисциплине «Основы алгоритмизации и программирования», 4 варианта.
Просмотр содержимого документа
«Контрольно-оценочный материал для контроля остаточных знаний по дисциплине «Основы алгоритмизации и программирования»»
МИНИСТЕРСТВО ОБРАЗОВАНИЯ МОСКОВСКОЙ ОБЛАСТИ
ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ
СРЕДНЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ
Контрольно-оценочный материал
для контроля остаточных знаний
дисциплины «Основы алгоритмизации и программирования»
для специальности:
09.02.01-Компьютерные системы и комплексы
Пояснительная записка
Контрольный срез знаний по учебной дисциплине «Основы алгоритмизации и программирования» проводится для обучающихся с целью выявления уровня остаточных знаний.
Контрольный срез представлен в виде теста в четырех вариантах. Каждый вариант содержит 20 вопросов, в каждом из которых четыре варианта ответов, из которых необходимо выбрать один верный.
При проверке ответов на вопросы учитываются следующие показатели: правильность ответа на поставленный вопрос; способность учащихся последовательно и логично выражать свои мысли.
Анализ результатов ответов на вопросы контрольного среза проводится в аудитории. Отмечаются лучшие работы, уделяется внимание допущенным ошибкам.
К каждому варианту прилагаются правильные ответы.
Максимальное выполнения контрольной работы: 35 минут.
Из предложенных вам вариантов выберите один верный.
1. Алгоритмом называется…
- подробный перечень правил выполнения определенных действий;
- ориентированный граф, указывающий порядок исполнения некоторого набора команд;
- описание последовательности действий в виде геометрических фигур, соединенных линиями и стрелками;
- понятное и точное предписание исполнителю совершить последовательность действий, направленных на достижение поставленных целей.
2. Примером алгоритма является:
- объявление
- инструкция по сборке мебели
- текст математической задачи
- заявление о приеме на работу
3. Вблок-схеме начало и конец алгоритма обозначается фигурой:



а) б) в) г) д) 4.Алгоритмическая структура какого типа изображена на блок-схеме? а) цикл; б) ветвление; в) подпрограмма; г) линейная. 
5. Как называется свойство алгоритма, заключающееся в том, что один и тот же алгоритм можно использовать с разными исходными данными?
- дискретность
- конечность;
- объективность;
- массовость.
6. Программа — это:
- система правил, описывающая последовательность действий, которые необходимо выполнить для решения задачи
- указание на выполнение действий из заданного набора
- область внешней памяти для хранения текстовых, числовых данных и другой информации
- последовательность команд, реализующая алгоритм решения задачи.
7.Какой из операторов не относится к группе ввода-вывода на языкеPascal?
- Read(a1,a2);
- Write(a=, ‘a’);
- Println;
- Writeln.
8.Арифметическому выражению
соответствует запись: а) у := SQRT((a+b)/ab) б) у := SQRT(a+b/ab) в) у :=TAN((a+b)/ab) г) у := ABS((a+b)/ab) 9. Служебное словоconstв программена языкеPascalфиксирует начало раздела программы, содержащего:
- описание процедур
- описание констант
- описание модуля
- описание меток
10. Как называется циклfor?
- цикл с предусловием;
- цикл со счетчиком;
- ветвление;
- следование.
11. Чему будет равно значение переменнойzпосле выполнения фрагмента программы: x:= — 3; y:= x+5; if y0 then z:= x*y else z:= x+y; Варианты ответов: а) -1 б) 2 в) -3 г) -6 12. Выберите подходящий тип данных для каждой записи в первом столбце.
| 1) площадь круга | А) string |
| 2) фамилия студента | Б) integer |
| 3) количество квартир в подъезде | В) real |
| 4) первая буква фамилии | Г) char |
- (32) and (56) = false
- 6020 = true
- (6070) = true
- (6070) and (100true
- верно
- не верно
- не знаю
- В текстовом файле могут храниться числовые значения.
- Массив — поименованная совокупность однотипных данных.
- Ветвление — это последовательность команд, следующих друг за другом.
- Цикл со счетчиком используется при заранее известном количестве повторов .
- FOR
- GPR
- WHILE
- REPEAT
- только текстового
- только числового
- только логического
- любого
- Rectangle
- Circle
- Line
- Writeln
- A*B
- Сумма
- begin
- summ
2 вариант Из предложенных вам вариантов выберите один верный. 1. Алгоритмом является.
- последовательность команд, которую может выполнить исполнитель
- система команд исполнителя
- математическая модель
- информационная модель
2. Примером алгоритма является:
- условие физической задачи по механике
- список класса в журнале
- расписание звонков в школе
- описание решения линейного уравнения
3. Вблок-схеме условие обозначается фигурой:



а) б) в) г) д)
4.Алгоритмическая структура какого типа изображена на блок-схеме? а) цикл; б) ветвление; в) подпрограмма; г) линейная. 5. Как называется свойство алгоритма, заключающееся в том, что каждое действие и алгоритм в целом должны иметь возможность завершения?
- понятность
- конечность;
- объективность;
- массовость.
6. Оператор в Паскале — …
- человек, работающий в должности оператора ЭВМ
- предложение языка программирования, задающее полное описание некоторого действия, которое может выполнить компьютер
- знак действия: + — / * ^
- команда ввода (вывода) информации: read или write
7.Какой оператор выводит информацию на экран?
- Rid(‘ ’), ridln(‘ ’)
- Write(‘ ’) , writeln(‘ ’)
- Writ( ), writln( )
- Read( ), readln( )
8.Арифметическому выражению
соответствует запись: а) у := SQRT((a+b)/2+а) б) у := SQRT(a+b)/(2+а) в) у :=SQRT((a+b)/ab) г) у := ABS((a+b)/ab) 9. Служебное словоvarв программена языкеPascalфиксирует начало раздела программы, содержащего:
- описание процедур
- описание констант
- описание модуля
- описание переменных
10. Как называется циклwhile?
- цикл с предусловием;
- цикл со счетчиком;
- ветвление;
- следование.
11. Чему будет равно значение переменнойbпосле выполнения фрагмента программы: a:= 4; b:= a-5; if b else b:= b+a; Варианты ответов: а) -1 б) 3 в) -3 г) -5 12. Выберите подходящий тип данных для каждой записи в первом столбце.
| 1) первая буква имени | А) string |
| 2) площадь треугольника | Б) integer |
| 3) количество покупок | В) real |
| 4) отчество сотрудника | Г) char |
- (102) and (86) = true
- (10) = true
- 15020 = false
- (27) or (1510) = true
- значение переменной
- тип переменной
- имя переменной
- тип алгоритма
- Цикл со счетчиком не используется при заранее известном количестве повторов .
- Следование — это последовательность команд, следующих друг за другом.
- В текстовом файле могут храниться только числовые значения.
- Массив — поименованная совокупность данных разного типа.
- For…to…do
- if…then…else
- Case…of… end
- While…do
- набор переменных, начинающихся с одной буквы.
- ограниченная апострофами последовательность любых символов;
- именованный набор однотипных данных на диске;
- набор однотипных компонентов (элементов), имеющих общее имя, доступ к которым осуществляется по индексу;
- Rectangle
- Circle
- Line
- Writeln
- разность
- mass
- m+k
- 456
3 вариант Из предложенных вам вариантов выберите один верный. 1. Программа это-
- Аналог оригинала, отражающий некоторые его характеристики
- Объект в виде совокупности данных, хранящихся во внешней памяти компьютера
- Упорядоченная последовательность команд, необходимых компьютеру для решения поставленной задачи
- Описание последовательности действий, исполнение которых приводит к решению поставленной задачи
2.Какие существуют типы алгоритмов?
- Прямой, обратный
- Линейный, возвратный
- Циклический, прямой
- Линейный, разветвляющийся
3. Вблок-схеме начало и конец алгоритма обозначается фигурой:



а) б) в) г) д) 4.Алгоритмическая структура какого типа изображена на блок-схеме?
а) цикл; б) ветвление; в) подпрограмма; г) линейная. 5.Алгоритм называется циклическим:
- если он включает в себя вспомогательный алгоритм.
- если ход его выполнения зависит от истинности тех или иных условий;
- если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий;
- если он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий;
6.Алфавит языка программыTurboPascalсостоит из
- Из латинских букв, дробных чисел, специальных символов
- Из русских букв, дополнительных символов и знаков
- Из латинских букв, арабских цифр, специальных символов
- Из целых и дробных чисел, дополнительных символов и знаков
7.Операторами ввода являются…
- Rid(‘ ’), ridln(‘ ’)
- Write(‘ ’) , writeln(‘ ’)
- Writ( ), writln( )
- Read( ), readln( )
8.Арифметическому выражению
соответствует запись: а) у := SQRT(1/x+1) б) у := SQR(1/x+1) в) у :=SQRT(1/(x+1)) г) у := SQR(1/(x+1)) 9. Служебное словоusesв программена языкеPascalфиксирует начало раздела программы, содержащего:
- описание процедур
- описание констант
- описание модуля
- описание переменных
10. Как называется циклRepeat?
- цикл со счетчиком;
- следование;
- ветвление;
- цикл с постусловием.
11. Чему будет равно значение переменнойyпосле выполнения фрагмента программы: x:= 3; y:= x-4; if y else y:= y+4; Варианты ответов: а) -1 б) 3 в) -3 г) 1 12. Выберите подходящий тип данных для каждой записи в первом столбце.
| 1) первая буква названия города | А) string |
| 2) количество посетителей парка | Б) integer |
| 3) площадь трапеции | В) real |
| 4) адрес сотрудника | Г) char |
- (15) or (8) = true
- (35) or (1510) = true
- (10) = true
- 1508 = false
- Процедура Read используется для ввода данных с клавиатуры.
- После процедуры Readln происходит переход к новой строке.
- Write(f:9:6) — число выводится с 6 знаками после запятой.
- Writeln(а); writeln(b); — числа выводятся в одной строке.
- квадратный корень из n
- абсолютное значение n
- квадрат n
- натуральный логарифм
- For…to…do
- if…then…else
- repeat…until
- While…do
- позволяет выбрать одно из нескольких возможных продолжений программы.
- переход к некоторой метке по условию
- многократное повторение одних и тех же действий
- вычисление значения логического условия
- div
- mod
- sqrt
- or
- rectangle
- ellipse
- line
- readln
- d/8
- m_2
- n**
- 789
- если он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий;
- если ход его выполнения зависит от истинности тех или иных условий;
- если его команды выполняются в порядке их естественного следования друг за другом независимо от каких-либо условий;
- если он включает в себя вспомогательный алгоритм.
2. Примером алгоритма является:
- инструкция сканера
- фотография сканера
- электрическая схема сканера
- блочная схема сканера
3. Вблок-схеме цикл со счетчиком обозначается фигурой:



а) б) в) г) д) 4.Способы описания алгоритмов. Выберите лишний
- словесный
- циклический
- графический
- программный
5.Суть такого свойства алгоритма какдискретностьзаключается в том, что:
- алгоритм должен иметь дискретную структуру (должен быть разбит на последовательность отдельных шагов);
- записывая алгоритм для конкретного исполнителя, можно использовать лишь те команды, что входят в систему его команд;
- алгоритм должен обеспечивать решение не одной конкретной задачи, а некоторого класса задач данного типа;
- при точном исполнении всех команд алгоритма процесс должен прекратиться за конечное число шагов, приведя к определенному результату.
6.Укажитеназначение каждого оператора
| А) array | 1) служебное слово, с которого начинается раздел описания переменных |
| Б) readln | 2) служебное слово для описания массива |
| В) writeln | 3) оператор ввода данных |
| Г) var | 4) оператор вывода результата |
- вычисление остатка от деления
- деление нацело
- умножение
- извлечение квадратного корня
- у := SQRT((a+1)/b-2)
- у := SQRT(a+1/b-2)
- у := SQR(a+1/b-2)
- у := SQRT ((a+1)/(b-2))
- описание процедур
- описание констант
- описание модуля
- описание меток
- постоянными
- константами
- переменными
- табличными
- 20
- 70
- -20
- 180
| 1) площадь окружности | А) string |
| 2) название должности | Б) integer |
| 3) количество сотрудников фирмы | В) real |
| Г) char |
- (82) and (56) = false
- 1002 = true
- 6070 = true
- (9050) and (100true
- A=5 + 5;
- A:= ‘Программа’;
- game:= 30;
- a=c=5
- латинские строчные и прописные буквы
- служебные слова
- русские строчные и прописные буквы
- знак подчеркивания
- он составлен так, что его выполнение предполагает многократное повторение одних и тех же действий k раз
- ход его выполнения зависит от истинности тех или иных условий
- его команды выполняются, пока истинно условие
- его команды не выполняются до ввода команды
- целочисленный тип
- перечисление
- строковый тип
- вещественный тип
- If else ;
- If then else ;
- If then ;
- линия
- прямоугольник
- эллипс
- текст
- Пример1
- Nom1
- var
- 11+5
За каждый правильный ответ дается один балл. Оценивается зачёт следующим образом: 1. Оценка «5» ставится за 20-18 баллов. 2. Оценка «4» ставится за 17-16 баллов. 3. Оценка «3» ставится за 15-13 баллов. 4. Оценка «2» ставится за менее чем 12 баллов.

-80%