Страница 29. Урок 11 — ГДЗ Математика 2 класс. Петерсон. Учебник часть 2
- Главная
- ГДЗ
- 2 класс
- Математика
- Петерсон. Учебник
- Страница 29. Урок 11. Часть 2
Вернуться к содержанию учебника
Вопрос
Задание № 1. а) Какие слова пропущены? Проверь свой вариант по тексту в рамке на страница 27.
«Чтобы вычесть сумму из числа, можно вычесть сначала …, а потом — …».
б) Допиши равенства в тетради и объясни их смысл:
а — (b + с) = … = …
Ответ
Вопрос
Задание № 2. Вычисли наиболее удобным способом:
516 — (416 + 27) | 948 — (5 + 348) | 234 — 75 — 125 |
Ответ
Вопрос
Задание № 3. Реши задачу двумя способами и запиши выражения в тетради:
«Яблоки, груши и виноград весят вместе b кг. Яблоки весят с кг, а груши — d кг. Сколько килограммов весит виноград?»
Ответ
Вопрос
Задание № 4. В одном пакете 15 шоколадных конфет и 38 ирисок, а в другом — 26 шоколадных конфет. Каких конфет больше в этих двух пакетах: шоколадных или ирисок? На сколько больше?
Ответ
Вопрос
Задание № 5
Ответ
Вопрос
Задание № 6. Построй схемы к задачам и составь выражения. Найди значения выражений при данных значениях букв.
а) С одной полки взяли m книг, а в другой — n книг. После этого на полках осталось k книг. Сколько книг было на полках вначале? (m = 5, n = 2, k = 25)
б) На двух полках было а книг. С первой полки взяли b книг, а со второй — с книг. Сколько книг осталось на двух полках вместе? (а = 36, b = 8, с = 6)
Ответ
Вернуться к содержанию учебника
Конспект урока математики по учебнику Л.
Г. Петерсон. 2 класс. Урок №18, часть2. Тема: «Закрепление пройденного» | План-конспект урока по математике (2 класс) по теме:Математика.
2 класс.
Урок №18. Часть 2. (Учебник Л. Г. Петерсон)
Тема: Закрепление пройденного.
Цель: 1. Повторить пройденный материал на сложение и вычитание.
2. Развивать логическое мышление.
3. Закрепить умение решать задачи на нахождение периметра.
Ход урока.
1. Разминка (фронтально) Учитель:
— Закончи мою фразу:
— числа при сложении называются…
— числа при вычитании называются…
- Увеличить число на, значит…
- уменьшить на, значит…
- найти разность, значит….
- Найти сумму, значит…
2. Устный счёт.
-То, что сейчас повторили, поможет вам в устном счёте.
(В тетрадях только ответы: 12, 15, 18, 21, 24, 27)
-из 62 вычесть 50
-найти разность чисел 20 и 5
-40 уменьши на 22
-первое слагаемое -16, второе -5. Найти сумму.
-12 увеличить на столько же
-32 без 5
(С проверкой в парах).
-Что заметили? Кто может продолжить закономерность? Допишите до полей.
-Я читала по-разному. Попробуйте теперь вы прочитать выражения,
записанные на доске.
(117+20)+3= (25+5)+20=
57-(27+8)= 199+(1+12)=
16+11+4=
(Первое выражение с разбором, остальные только читают и называют
удобный способ решения).
-Запишите с новой строки только ответы.
(140,22,50,212,31)
(С проверкой, ответы можно записать на доске).
Задавание домашнего задания.
-Похожее задание предстоит выполнить дома: стр.53 №1.
-На какие две группы можно разделить?
-Найдите и прочитайте только двузначные числа.(22, 50, 31)
Решение уравнений.
-Дети получили задание составить с одним из чисел уравнение. Рита составила: х+9=22
Коля составил: х-31 =60; Петя составил: 50-х=100
-Чьё уравнение мы пока не сможем решить?(Мы будем решать такие
уравнения в средней школе, когда познакомимся с отрицательными
числами).
-Как можно записать Петино уравнение, чтобы решить сейчас, а не в 5
классе?
Письменно задания на выбор:
1 )Реши уравнения, которые составили Рита и Коля.
2)Исправь ошибки Пети и составь своё уравнение с одним из чисел.
-Люба тянула руку, она очень хотела получить пятёрку и учительница
спросила её. Люба составила уравнение, в котором были все три числа.
Вот, что у неё получилось.
Х+22-50-31=9
-Решим Любино уравнение.
-Кто хочет, по желанию составьте дома своё уравнение, в котором есть
эти 3 числа.
-Чьё уравнение мы пока не сможем решить?(Мы будем решать такие
уравнения в средней школе, когда познакомимся с отрицательными
числами).
-Как можно записать Петино уравнение, чтобы решить сейчас, а не в 5
классе?
Письменно задания на выбор:
1 )Реши уравнения, которые составили Рита и Коля.
2)Исправь ошибки Пети и составь своё уравнение с одним из чисел.
-Люба тянула руку, она очень хотела получить пятёрку и учительница
спросила её. Люба составила уравнение, в котором были все три числа.
Вот, что у неё получилось.
Х+22-50-31=9
-Решим Любино уравнение.
-Кто хочет, по желанию составьте дома своё уравнение, в котором есть
эти 3 числа.
Задавание домашнего задания:
— Дома вам надо будет ещё решить «Блиц-турнир» стр.53 №2. Решим «Блиц» мы и на уроке.
Решение задач. (с взаимопроверкой)
-Сегодня решаем задачи по теме «Школа».
(Блиц: Дети записывают в столбик решение и наименование).
— Задачи из серии «Мечты учителя»:
- Во 2 -в классе за контрольную работу ученики получили 12 пятёрок и 17 четвёрок. Сколько всего детей писали работу, если других оценок не было?(12+17=29(уч.))
- Юра прочитал за лето 14 книг, а Никита на 6 книг больше. Сколько книг прочитал Никита?(14+6=20(кн.))
- У Маши в альбоме 19 рисунков, а у Вали -17. На сколько рисунков у Маши больше?(19-17=2(рис.))
- Миша написал без ошибок в диктанте 39 слов, это на 4 слова меньше, чем грамотных слов у Саши. Сколько слов без ошибок написал Саша?(39+4=43(сл.))
- Аня решила 12 примеров. Сколько примеров осталось решить? (Не можем решить, не достаёт данных. Задача — ловушка)
-Что ещё надо знать? Пусть будет надо решить 14 примеров.(14-
12=2(пр.))
— Какие числа можно было взять вместо 14?
Решение задач с буквами.
(Записывают во 2 столбик).
- 2 -а собрал а кг макулатуры, а 2 -б b кг. Сколько всего макулатуры собрали дети из этих классов?(а+Ь)
- У учительницы было а тетрадей. Она отдала детям b тетрадей по русскому языку и с тетрадей по математике. Сколько тетрадей у неё осталось?(а-Ь-с)
- У Кати в дневнике d пятёрок, п четвёрок и к троек. Сколько всего оценок у Кати в дневнике?(d+п+к)
- Таня знает наизусть m стихотворений, а её подруга на п стихотворений меньше. Сколько стихотворений знает подруга?(п+т)
- После того, как Оля написала сначала а слов по русскому языку, потом ещё b слов, ей осталось написать с слов. Сколько слов должна была написать Оля (а+Ь+с)
Решение геометрических задач.
На доске фигуры: квадрат, прямоугольник, треугольник.
-Как назовём одним словом?
-Что общего?
-На какие 2 группы можно разделить?
-Что такое прямоугольник, треугольник, квадрат?
-На предыдущих уроках учились находить периметр фигур. А что такое
периметр?
-Обозначу стороны треугольника буквами.
Как найти периметр? Запишите.
-Могу сказать, чему равен периметр? Чего не хватает?
-Пусть: а=12см Ь=19см с=18см
-Найдите периметр. Трудно было? Как считали?
-Усложню задачу.
Р= 96см
АВ=36см,
ВС — на 6см меньше.
Найдите АС, если Р=96см.
(Решаем с проверкой).
Итог урока. Выставление отметок. Самооценка.
Взаимное исключение — мьютекс, блокировки, алгоритм Петерсона, ограниченное ожидание и алгоритм пекарни. | Саранган Джанакан
7 минут чтения·
3 июля 2019 г.Рассмотрим этот фрагмент кода.
public long getAndIncrement() {
temp = value; # Строка-1
значение = temp + 1; #Line-2
температура возврата;
}
Предположим, что два потока A и B одновременно обращаются к этому методу getAndIncrement(). Ниже приведен возможный поток выполнения этими двумя потоками
Последовательность 1Температура потока A = значение temp = 0, значение = 0
Значение потока A = temp + 1 temp = 0, значение = 1
Температура потока B = значение temp = 1, значение = 0
Thread -B значение = temp + 1 temp = 1, значение = 2
Рассмотрим другую последовательность выполнения.
Последовательность 2Температура потока A = значение temp = 0, значение = 0
Температура потока B = значение temp = 0, значение = 0
Значение Thread-A = temp + 1 temp = 0, значение = 1
Значение Thread-B = temp + 1 temp = 0, значение = 1
Таким образом, при выполнении неатомарных блоков кода для обеспечения согласованности переменных нам привязал процесс к определенному потоку и не позволял другим потокам изменять . Раздел кода, который необходимо изолировать и выполнять в одном потоке для поддержания такого типа согласованности, называется критическим разделом.
Эта концепция используется в параллельном программировании с критическим разделом, фрагментом кода, в котором процессы или потоки обращаются к общему ресурсу. Взаимное исключение (мьютекс) одновременно принадлежит только одному потоку, поэтому при запуске программы создается мьютекс с уникальным именем. Когда поток удерживает ресурс, он должен заблокировать мьютекс от других потоков, чтобы предотвратить одновременный доступ к ресурсу. После освобождения ресурса поток разблокирует мьютекс.
Для достижения взаимного исключения мы будем использовать блокировки. Используйте блокировки взаимного исключения для сериализации выполнения потока. Блокировки взаимного исключения синхронизируют потоки, обычно гарантируя, что только один поток одновременно выполняет критический раздел кода. Блокировки Mutex также могут сохранять однопоточный код.
Блокировка должна быть,
- Поддерживать взаимоисключение между потоками.
- Без блокировки
- Без блокировки
Блокировка будет без блокировки → Без блокировки . Таким образом, чтобы оценить блокировку, нам нужно проверить, является ли она взаимоисключающей, свободна ли она от взаимоблокировок или нет, а затем свободна ли она от голодания или нет.
class SimpleLock реализует Lock { private volatile логический флаг; public void lock() {
while (flag == true) { } #Line-1
flag = true; #Line-2
} public void unlock() {
flag = false;
}
Допустим, два потока (поток A и поток B) выполняют этот блок кода.
Предположим, A выполняется первым. Он входит в метод блокировки, проверяет значение флага в строке 1 и делает вывод, что оно ложно.
В этот момент происходит переключение контекста, а затем выполняется B . Он входит в метод блокировки, проверяет значение флага в строке 1 и выводит его как ложное. Затем он выполняет Строку-2 и входит в критическую область.
Теперь снова A выполняется, и указатель для потока A находится в строке-2 (поскольку он уже выполнил строку-1), и он также входит в критическую область.
Здесь Взаимное исключение не поддерживается для этих двух потоков A и B, так как оба одновременно обращаются к критической области..
class LockOne реализует Lock { private volatile boolean[] flag = new boolean[2]; #Line-1 public void lock() {
flag[i] = true; #Line-2
while (flag[j]) {} #Line-3
} public void unlock() {
flag[i] = false; #Line-4
}
Допустим, два потока (поток A и поток B) выполняют этот блок кода, как указано выше. Здесь вместо одного логического флага у нас есть два флага для каждого потока. (Строка-1)
Предположим, A выполняется первым. Он входит в метод блокировки, присваивает значение «истина» своему флагу в строке 2, проверяет значение флага другого потока в строке 3 и делает вывод, что это ложь. .Таким образом, он входит в критическую область.
Затем выполняется B . Он входит в метод блокировки, присваивает значение «истина» своему флагу в строке 2, проверяет значение флага другого потока в строке 3 и выводит его как « true», поскольку уже Thread A изменил его значение на «true». Итак, B входит в цикл и ждет флага Thread 9.0011 B стать ложным, чтобы выйти из цикла while.
После завершения критической секции Thread A выполняет метод разблокировки, присваивает значение «false» своему флагу и завершает работу. Теперь состояние цикла потока B становится ложным, а B выходит из цикла и входит в критическую область.
Таким образом, взаимное исключение обрабатывается правильно в этой блокировке.
Теперь давайте рассмотрим этот сценарий.
ШАГ -1- Предположим, Сначала выполняется . Он входит в метод блокировки, присваивает значение «истина» своему флагу в строке 2, происходит переключение контекста, и он ожидает.
ШАГ -2-Затем выполняется B . Он входит в метод блокировки, присваивает значение «истина» своему флагу в строке 2, происходит переключение контекста, и он ждет.
ШАГ -3-Теперь снова A выполняется, и теперь указатель A находится в строке 3, и он проверяет значение флага другого потока в строке 3 и выводит его как «истина» (из-за к ШАГУ-2). Таким образом, он входит в цикл while.
ШАГ -4-Теперь снова B выполняется и теперь указатель B находится в строке 3, и он проверяет значение флага другого потока в строке 3 и выводит его как «истинный» (из-за ШАГА 1). Таким образом, он входит в цикл while.
Теперь оба потока находятся в цикле while, ожидая освобождения друг друга. Это состояние взаимоблокировки.
общедоступный класс LockTwo реализует Lock { private volatile int жертва; #Line-1 public void lock() {
жертва = i; #Линия-2
в то время как (жертва == i) { #Line-3
}; #Line-3
}public void unlock() {}
}
Если поток B находится в разделе критического раздела, то A является жертвой, и наоборот. Таким образом, LockTwo удовлетворяет взаимному исключению.
Если оба потока являются жертвами, то они будут зацикливаться внутри цикла while в строке-3 и создавать взаимоблокировку. Но здесь только один из потоков может быть Жертвой. Если А является жертвой, она зациклится внутри цикла while в строке 3, и когда B назначит себя жертвой, A разорвет цикл и войдет в критическую область. Таким образом, эта блокировка является тупиковой.
Предположим, что только один поток выполняет этот кодовый блок. Он будет вечно зацикливаться внутри цикла while, не имея ни одного потока для его освобождения. Он будет голодать, чтобы выполнить CS. Таким образом, эта блокировка не свободна от голодания.
public void lock() {
flag[i] = true;
жертва= я;
в то время как (флаг [j] && жертва == i) {};
} public void unlock() {
flag[i] = false;
}
Это устранит все недостатки, которые мы видели в предыдущих блокировках. Это даст взаимное исключение без Deadlock и голодания.
Устраняет голодание LockTwo. Если только один поток выполнит это, он выполнит этот блок без какого-либо голодания.
Свобода от голодания гарантирует, что каждый поток, вызывающий lock(), в конце концов попадет в критическую секцию. Но нет никаких гарантий относительно того, сколько времени это займет.0011 A вызывает lock() до B , A должен войти в критическую секцию до B .
Анализируем замок, разделяя его на две части
- D- Секция дверного проема
- W- Секция ожидания
public void lock() { # Секция дверного проема
флаг[i] = истинный;
жертва= я; #Ожидание раздела
while (flag[j] && жертва == i) {};
}
Предположим, что A и B выполняют блокировку, а A осуществляет доступ к D (секция дверного проема) в n-го -го времени, а B осуществляет доступ к D в -м м-м время, где n > м . И n-й дверной проем A предшествовал m-м дверном проеме B.
Таким образом, n-й критический участок A предшествует (m + r)-му критическому участку B. Это означает, что B не может обогнать A более чем в r раз.
В порядке очереди означает r = 0 . Замок открывается в порядке очереди, если всякий раз, когда поток A заканчивает свой дверной проем до того, как поток B откроет свой дверной проем,
, то A не может обогнать B.
Алгоритм Bakery является одним из простейших известных решений проблемы взаимного исключения для общего случая N процесса. Bakery Algorithm — это решение критической секции для процессов N . Алгоритм сохраняет свойство «первым пришел – первым обслужен».
Лексикографический порядок в алгоритме Bakery означает, что (a, i) < (b, j) , если a < b или a = b и i < j
class Bakery реализует Lock {
изменчивый логический [] флаг;
volatile Label[] метка;public Bakery (int n) {
flag = new boolean[n];
метка = новая метка[n];for (int i = 0; i < n; i++) {
public void lock(){ #Doorway Section
flag[i] = false; метка[я] = 0;
}
}
flag[i] = true; #Line1
метка[i] = max(метка[0],метка[1],......метка[n-1])+1; #Линия2 # Ожидание раздела
while(существует k flag[k] && (label[i],i) > (label[k],k)){
}
}
public void unlock() {
flag [я] = ложь;
} }
В методе Bakery() мы присваиваем логический флаг и значение метки 0 для каждого числа n потоков.
Для каждого потока, который обращается к методу блокировки, мы присваиваем значение true его флагу и делаем максимальное значение метки, увеличивая максимальное количество всех доступных меток на 1.
(label[i],i) > (label[k],k)
Но здесь строка -2 не является атомарной. Таким образом, два потока могут одновременно выполнять строку-2 и получать одно и то же значение метки. Таким образом, метка[i] = метка[k]. В этом сценарии нам нужно отдать предпочтение процессу, который первым вошел в дверной проем, и позволить этому процессу войти в критическую секцию. Таким образом, он проверит идентификатор потока и позволит потоку с наименьшим идентификатором.
Является ли алгоритм Петерсона хорошим решением проблемы критического сечения Если да, то почему Если нет, то почему
2 ответа на этот вопрос.
0 голосов
Является ли алгоритм Петерсона хорошим решением проблемы критического сечения? Если да, то почему? Если нет, то почему?
ответил 6 июля 2020 г. к анонимный0 голосов
Связанные вопросы в других
Я тоже работаю Оракулом… ПОДРОБНЕЕ
ответил 22 ноября 2019 г. в других к Паша • 636 просмотровда, влияет на рейтинг кликов… ПОДРОБНЕЕ
ответил 20 февраля 2022 г. в других к нариккадан • 63 000 баллов • 168 просмотров- SEO
- адрес
Кто-нибудь может это объяснить? ПОДРОБНЕЕ
27 июня 2019 г. в других к шубхам • 7 340 баллов • 653 просмотра- узлы
- http
- API
Чтобы понять это, нам нужно понять… ПОДРОБНЕЕ
ответил 27 июня 2019 г. в других к солнечный свет • 1280 баллов • 16 370 просмотров- узлы
- http
- API
Для начала позвольте мне объяснить … ПОДРОБНЕЕ
- веб-хостинг
- доменных имен
Прозрачного цветового кода нет, но. .. ПОДРОБНЕЕ
ответил 11 февраля 2022 г. в других к Сохам • 9 700 баллов • 509 просмотров- HTML
- CSS
Чтобы ответить на ваш вопрос, это может только … ПОДРОБНЕЕ
ответил 18 февраля 2022 г. в других к Адитья • 7 680 баллов • 4672 просмотра- андроид
- класс
- devops-инструменты
- Девопс
- андроид-студия
- сервисы Google Play
Я создал ведро POC-работу из … ПОДРОБНЕЕ
23 апр. 2022 г. в других к Кичу • 19 050 баллов • 226 просмотров- амазон-веб-сервисы
- амазон-s3
- служба хранения
- службы хранения aws
- aws-сервисы
- амазон-ям
Используйте SUM() в качестве формулы массива: =СУММ(ЕСЛИОШИБКА((AB22:AB1100 = … ПОДРОБНЕЕ
ответил 2 октября 2022 г. в других к нариккадан • 63 000 баллов • 269 просмотров- Excel
- формула
Функция ЕСЛИ для расчета B5 (сумма .