Как вы думаете почему не все задачи можно решить с помощью линейных алгоритмов
Перейти к содержимому

Как вы думаете почему не все задачи можно решить с помощью линейных алгоритмов

  • автор:

Урок 25
§33. Линейные алгоритмы

1. Верно ли, что для каждой задачи существует единственный алгоритм решения? Ответ обоснуйте.

2. Сталкивались ли вы уже с алгоритмами, которые нельзя назвать линейными?

3. Как вы думаете, какие задачи невозможно решить с помощью линейных алгоритмов?

4. Как можно сравнить два различных алгоритма решения одной и той же задачи? Как выбрать лучший их них?

5. Два друга по-разному ищут ошибки в программах. Кирилл, написав программу, сразу запускает её для того, чтобы транслятор обнаружил все синтаксические ошибки. Даниил же сначала внимательно изучает текст программы и пытается найти ошибки сам, а потом уже запускает её на выполнение. Чем хорош каждый из методов?

6. Чем различаются синтаксические и логические ошибки?

7. Как можно искать логическую ошибку в программе?

8. К какому типу ошибок относится случай, когда выполнение программы не останавливается (программа зацикливается)?

9. Выполните по указанию учителя задания в рабочей тетради.

Подготовьте сообщение «Роботы вокруг нас»

Следующая страница Практическая работа № 21 «Линейные программы для Робота»

Cкачать материалы урока

Какие задачи невозможно решить с помощью линейных алгоритмов?

Пожалуйста, войдите или зарегистрируйтесь для публикации ответа на этот вопрос.

решение вопроса

Связанных вопросов не найдено

Обучайтесь и развивайтесь всесторонне вместе с нами, делитесь знаниями и накопленным опытом, расширяйте границы знаний и ваших умений.

поделиться знаниями или
запомнить страничку

  • Все категории
  • экономические 43,679
  • гуманитарные 33,657
  • юридические 17,917
  • школьный раздел 612,508
  • разное 16,911

Популярное на сайте:

Как быстро выучить стихотворение наизусть? Запоминание стихов является стандартным заданием во многих школах.

Как научится читать по диагонали? Скорость чтения зависит от скорости восприятия каждого отдельного слова в тексте.

Как быстро и эффективно исправить почерк? Люди часто предполагают, что каллиграфия и почерк являются синонимами, но это не так.

Как научится говорить грамотно и правильно? Общение на хорошем, уверенном и естественном русском языке является достижимой целью.

  • Обратная связь
  • Правила сайта

Линейные алгоритмы

— Формирование умений составлять программы линейной структуры, используя операторы ввода, вывода и присваивания с использованием целочисленного типа данных.

Формируемые УУД:

ПРЕДМЕТНЫЕ РЕЗУЛЬТАТЫ

раскрывать смысл понятий «исполнитель», «алгоритм», «программа», понимая разницу между употреблением этих терминов в обыденной речи и в информатике;

описывать алгоритм решения задачи различными способа­ми, в том числе в виде блок-схемы;

составлять, выполнять вручную и на компьютере линейные алгоритмы;

использовать переменные различных типов (числовых, логических, символьных), а также содержа­щие их выражения; использовать оператор присваива­ния;

использовать при разработке программ логические значе­ния, операции и выражения с ними;

анализировать предложенные алгоритмы, в том числе определять, какие результаты возможны при заданном множестве исходных значений;

создавать и отлаживать программы на одном из языков программирования Паскаль,), реализующие линейные алгоритмы.

ЛИЧНОСТНЫЕ РЕЗУЛЬТАТЫ

Личностные результаты имеют направленность на реше­ние задач воспитания, развития и социализации обучаю­щихся средствами предмета.

Патриотическое воспитание:

ценностное отношение к отечественному культурному, историческому и научному наследию; понимание значения информатики как науки в жизни современного общества; владение достоверной информацией о передовых мировых и отечественных достижениях в области информатики и информационных технологий;

заинтересованность в науч­ных знаниях о цифровой трансформации современного об­щества.

Гражданское воспитание:

стремление к взаимопониманию и вза­имопомощи в процессе этой учебной деятельности; готов­ность оценивать своё поведение и поступки своих товари­щей с позиции нравственных и правовых норм с учётом осознания последствий поступков.

Ценности научного познания:

интерес к обучению и познанию; любознательность; готов­ность и способность к самообразованию, осознанному вы­бору направленности и уровня обучения в дальнейшем;

овладение основными навыками исследовательской дея­тельности, установка на осмысление опыта, наблюдений, поступков и стремление совершенствовать пути достиже­ния индивидуального и коллективного благополучия;

сформированность информационной культуры, в том чис­ле навыков самостоятельной работы с учебными текстами, справочной литературой, разнообразными средствами ин­формационных технологий, а также умения самостоятель­но определять цели своего обучения, ставить и формули­ровать для себя новые задачи в учёбе и познавательной деятельности, развивать мотивы и интересы своей позна­вательной деятельности;

Формирование культуры здоровья:

осознание ценности жизни; ответственное отношение к своему здоровью; установка на здоровый образ жизни, в том числе и за счёт освоения и соблюдения требований безопасной эксплуатации средств информационных и ком­муникационных технологий (ИКТ).

Трудовое воспитание:

интерес к практическому изучению профессий и труда в сферах профессиональной деятельности, связанных с ин­форматикой, программированием и информационными технологиями, основанными на достижениях науки ин­форматики и научно-технического прогресса;

Экологическое воспитание:

Адаптация обучающегося к изменяющимся услови­ям социальной среды:

освоение обучающимися социального опыта, основных со­циальных ролей,

МЕТАПРЕДМЕТНЫЕ РЕЗУЛЬТАТЫ

Метапредметные результаты освоения образовательной программы по информатике отражают овладение универсаль­ными учебными действиями — познавательными, коммуни­кативными, регулятивными.

Универсальные познавательные действия

Базовые логические действия:

умение определять понятия, создавать обобщения, уста­навливать аналогии, классифицировать, самостоятельно выбирать основания и критерии для классификации, уста­навливать причинно-следственные связи, строить логиче­ские рассуждения, делать умозаключения (индуктивные, дедуктивные и по аналогии) и выводы;

умение создавать, применять и преобразовывать знаки и символы, модели и схемы для решения учебных и позна­вательных задач;

самостоятельно выбирать способ решения учебной задачи (сравнивать несколько вариантов решения, выбирать наи­более подходящий с учётом самостоятельно выделенных критериев).

Базовые исследовательские действия:

формулировать вопросы, фиксирующие разрыв между ре­альным и желательным состоянием ситуации, объекта, и самостоятельно устанавливать искомое и данное;

Работа с информацией:

выявлять дефицит информации, данных, необходимых для решения поставленной задачи;

выбирать, анализировать, систематизировать и интерпре­тировать информацию различных видов и форм представ­ления;

эффективно запоминать и систематизировать информацию.

Универсальные коммуникативные действия

Общение:

публично представлять результаты выполненного опыта (эксперимента, исследования, проекта);

Совместная деятельность (сотрудничество):

принимать цель совместной информационной деятельности по сбору, обработке, передаче, формализации информа­ции; коллективно строить действия по её достижению: распределять роли, договариваться, обсуждать процесс и результат совместной работы;

сравнивать результаты с исходной задачей и вклад каждо­го члена команды в достижение результатов, разделять сферу ответственности и проявлять готовность к предо­ставлению отчёта перед группой.

Универсальные регулятивные действия

Самоорганизация:

самостоятельно составлять алгоритм решения задачи (или его часть), выбирать способ решения учебной зада­чи с учётом имеющихся ресурсов и собственных возмож­ностей, аргументировать предлагаемые варианты реше­ний;

составлять план действий (план реализации намеченного алгоритма решения), корректировать предложенный алго­ритм с учётом получения новых знаний об изучаемом объ­екте;

делать выбор в условиях противоречивой информации и брать ответственность за решение.

Самоконтроль (рефлексия):

учитывать контекст и предвидеть трудности, которые мо­гут возникнуть при решении учебной задачи, адаптиро­вать решение к меняющимся обстоятельствам;

вносить коррективы в деятельность на основе новых об­стоятельств, изменившихся ситуаций, установленных ошибок, возникших трудностей;

оценивать соответствие результата цели и условиям.

Формы организации работы обучающихся: фронтальная, индивидуальная, работа в парах.

Оборудование: робот манипулятор, элементы блок схемы, материал для моделирования, рабочие карты, компьютеры с установленным языком программирования Pascal ABC , таблички (готов, вопрос), визитка сотрудника.

1. Организационный этап.

Здравствуйте! Меня зовут Антон Александрович, я представляю отечественную компанию «Робоинтеллект», которая занимается разработкой роботов. В связи с открытием филиала я решил набрать на работу молодых перспективных сотрудников, поэтому я обращаюсь именно к вам, собравшимся здесь.

2. Актуализация знаний.

Для построения нашей дальнейшей работы я проведу с вами собеседование. Начну с традиционного вопроса: как поместить жирафа в холодильник? (открыть холодильник, засунуть жирафа, закрыть холодильник).

Следующий вопрос: как поместить слона в холодильник? (открыть холодильник, вынуть жирафа, поместить слона, закрыть холодильник).

Что вы видите в правой части слайда? (блок-схему линейного алгоритма).

Хорошо. Перед вами облако слов. Выберите из них те, которые относятся к данной теме и объясните их значение. (ответы учеников: программа, следование, результативность, команда).

3. Постановка целей и задач. Мотивация учебной деятельности.

Для чего применяются линейные алгоритмы?

Да я вижу, что вы владеете теоретическими знаниями. А вы можете применять линейные алгоритмы при решении задач? Но это мы сейчас проверим.

Как вы думаете, чем мы займёмся в продолжении нашего собеседования? (Выслушиваю ответы.)

Я правильно вас понял, что мы будем учиться применять линейные алгоритмы при решении учебных и жизненных задач — цель урока

Мы с вами сформулировали цель нашего урока, запишите тему в рабочие карты в отведенном месте.

Что бы достичь цели нашего урока, что же нам придется сделать?

Вы знакомы с примерами применения линейного алгоритма? Что нужно предпринять? (1 задача)

Вы умеет применять линейные алгоритмы при решении задач? (2 задача)

Для того что бы применить линейный алгоритм к решению любой задачи его нужно сначала…? (3 задача)

Рассмотреть примеры применения ЛА

применить ЛА к решению задач

создать ЛА для решения задачи

Вывешиваю задачи на доске

4. Первичное закрепление

— в знакомой ситуации (типовые)

— в изменённой ситуации (конструктивные)

Что ж, начнём нашу работу. К нам попал видео ролик с демонстрацией робота наших конкурентов. Давайте его посмотрим и разберемся, чем занимается робот и в чем его недостатки. (демонстрация видеоролика). Итак, обсудим…Чем занимается робот? В чем недостатки данного робота?

У нас есть разработка, которая должна обойти на рынке робота конкурентов (та-дам. Показываем робота). Программисты в нашей компании, написали программу для обмена позициями двух кубиков. Давайте посмотрим, как робот справляется с простой задачей. (робот блокирует один кубик другим – задача не решена. Походу надо увольнять программистов.

А теперь посмотрим на происходящее с точки зрения программирования. Позиции, на которых стоят кубики это переменные а и b . Номера кубиков — это значения этих переменных. Как происходит обмен значений двух переменных между собой? Чего не хватает программе робота для обмена переменных значениями? (третьей переменной). Даём роботу третью пустую позицию С.

— Перед вами элементы блок-схемы алгоритма, с помощью которого решается задача. Каждая пара составляет из них решение задачи. Впишите недостающие названия переменных в элементах блок схемы. После чего составьте из них правильный алгоритм. Если у вас возникают вопросы, поднимите табличку с знаком вопроса. Если вы справились с заданием поднимите зеленую галочку.

Итак, команда … справилась первой. Представитель команды выходит к доске и показывает результат работы. Все согласны? Показываем с помощью табличек (да, нет, почему, корректируем при необходимости).

Оцените свою работу на данном этапе. Введите значение переменной, а от 1 до 3 в ваших рабочих картах.

Присаживаемся за компьютеры. Не забудьте забрать свои вещи с столов. Перед вами уже открыта ошибочная программа, которую набрали программисты в нашей компании. Прочитать синтаксис программы. Мы уже с вами нашли правильный алгоритм. Давайте с помощью него исправим программу.

Продемонстрировать работу программы.

Оцените свою работу на данном этапе. Введите значение переменной b от 1 до 3 в ваших рабочих картах.

Мы уже достаточно поработали. Наши глаза нуждаются в отдыхе. Пробежите глазами по линиям на слайде в указанном порядке.

5. Творческое применение и добывание знаний в новой ситуации (проблемные задания )

Мы с вами смогли разработать верный алгоритм обмена значениями двух переменных и помогли Василию освоить его. Но чтобы стать конкурентоспособным роботом, Василий должен продолжать совершенствоваться.

Сейчас вам предстоит провести исследование, чтобы помочь нам разобраться с вопросом, а как обменять значения между тремя переменными? Вы продолжите работу в одном из отделов нашей фирмы. Кроме отдела программирования в нашей компании есть отдел тестирования. Когда программист отдает созданную игру, ее надо для начала протестировать на наличие ошибок и багов в коде. Для этого существует должность тестировщика. Я хочу вас попросить определится в каком отделе вы хотите продолжить работу, что вам более интересно писать код, или тестировать программу.

Поднимите таблички, кто хочет работать в отделе программирования.

Я хочу попросить тех, кто выбрал должность программиста, создать программу, которая обменивает целочисленные значения между тремя переменными. Прежде, чем приступить к написанию кода, смоделируйте обмен переменных значениями с помощью материалов на ваших рабочих местах.

Результат выполнения программы

Для тех, кто выбрал должность тестировщика, в нашей компании уже пытались разработать данную программу, но что-то пошло не по плану, и программа работает не корректно. На рабочих столах компьютеров есть папка (нерабочая версия программы). Я хочу, чтобы вы запустили данную программу и попробовали найти и исправить ошибку в ней, что бы она работала по заданному образцу.

Результат выполнения программы

Теперь я вам покажу верный вариант решения.

Оцените свою работу на данном этапе. Введите значение переменной c от 1 до 3 в ваших рабочих картах. (Слайд)

Как вы считаете задачи урока выполнены полностью? (отвечаем с помощью табличек) Оцените свою работу. Вычислите значение переменной S по формуле в ваших рабочих картах. Выведите ее значение в отведенном для этого месте.

Значение переменной S укажет вам, что по итогу оценивания вы можете быть приняты на должность: тестировщик, разработчик, программист согласно этим критериям. Возьмите свои визитные карточки сотрудников. Впишите в них ваши фамилию и имя. Впишите свою должность в вашу визитную карточку.

6) Информация о домашнем задании, инструктаж по его выполнению

Согласно вашей должности, домашнее задание указано в вашей рабочей карте. Разработчики получили задание, решить ту задачу, которую мы решали на уроке другим способом, но этот способ используют только с целочисленным типом данных. В более молодых языках программирования, например python можно обойтись без третьей переменной.

7. Рефлексия (подведение итогов занятия)

И так наше собеседование подошло к завершению. Понравилось ли вам работать сегодня в нашей компании под моим руководством? Если вам было сегодня интересно, и вы готовы продолжить работу сдаем свою визитную карточку мне, если вы не определились заберите визитную карточку с собой, если вы настроены категорично «нет» выбросите визитную карточку в мусорную корзину у входа!

Я как руководитель доволен работой каждого из вас и буду рад видеть всех вас в рядах своих сотрудников. Спасибо за работу! В память о нашей сегодняшней встрече на выходе возьмите сувенир от нашей компании!

1. Чем отличаются разветвляющиеся алгоритмы от линейных? 2. Как вы думаете, почему не все задачи можно решить с помощью линейных алгоритмов? Приведите примеры таких задач.
3. Как вы думаете, хватит ли линейных алгоритмов и ветвлений для разработки любой программы?
4. Почему нельзя выполнить обмен значений двух переменных в два шага: а:=b; b:=а?
5. Чем различаются условные операторы в полной и неполной формах? Как вы думаете, можно ли обойтись только неполной формой?
6. Какие отношения вы знаете? Как обозначаются отношения «равно» и «не равно»?
7. Что такое сложное условие?
8. Как определяется порядок вычислений в сложном условии? Расскажите об особенностях вычисления логических выражений в языке Паскаль.
9. Зачем нужен оператор выбора? Как можно обойтись без него?
10. Расскажите о различиях в операторах выбора в школьном алгоритмическом языке и в Паскале.
11. Как в операторе выбора записать, что нужно делать, если ни один вариант не подошёл?
12. Как в операторе выбора в языке Паскаль выполнить для какого-то варианта несколько операторов?

andre1908200410

1. Линейные алгоритмы выполняются команда за командой, а в разветвляющихся алгоритмах путь программы зависит от условия.

2.если для решения задачи нужно условие, то эту задачу невозможно решить линейным алгоритмом, только разветвляющимся.

3.думаю не хватит, так как только с линейными алгоритмами и разветвлениями можно написать только простейшую программу.

4. При первом присваивании мы должны знать переменную б, а она не известна по условию

5. Операторы различаются функциями и возможностями. Если бы можно было обойтись только операторами неполной формы, то не было бы надобности придумывать операторы полной формы

6. Равно обозначается == при проверки условия, := при присвоении переменной определенного числа, <> при неравности

7. Сложное условие это условие содержащие несколько простых условий, соединённых операторами и/или

8. По приоритету:

1. Операции в скобках;

9.Оператор выбора необходим в случае, когда использование множества конструкций условий (if, elseif и else) в значительной мере загромождают код. С помощью оператора выбора Case возможно делать выбор из необходимого количества вариантов. Оператор выбора позволяет заменить несколько операторов ветвления

10. Исползуются обычно те которые помещаются в отведённую им память (обычно от 1 до 10 байт разные простые типы в разных языках и на разном железе) Если нужно 10000значное целое обсчитать, то надо ваять свои функции (пытался представить неалгоритмический паскаль и крыша поехала)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *