Инфоурок Информатика Другие методич. материалыМетодическое пособие "Элективный курс по изучению основ языка программирования Go"

Методическое пособие "Элективный курс по изучению основ языка программирования Go"

Скачать материал

 

 

 

 


Элективный курс                  по изучению основ языка программирования Go

Методическое пособие

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Курган

2019

 


 

 

 

Элективный курс по изучению основ программирования Go: методическое пособие / авт.-сост.: С.В. Логинов, Т. В. Колесникова. – Курган, 2019. - 72 с.

 

 

 

Печатается по решению редакционно-издательского совета  ГАОУ ДПО ИРОСТ

 

 

 

 

Авторы - составители:

Логинов Сергей Владимирович, преподаватель информатики, профессиональных дисциплин специальности «Сестринское дело» ГПОУ ЯНАО «Надымский профессиональный колледж».

Колесникова Татьяна Владимировна, учитель информатики высшей категории МБОУ г. Кургана «СОШ № 9».

 

 

 

Рецензенты:

Куликовских Алена Юрьевна, учитель высшей категории МБОУ г. Кургана  «СОШ № 45»

Квашнин Евгений Геннадьевич, заведующий кафедрой естественно-математического образования ГАОУ ДПО ИРОСТГАОУ ДПО ИРОСТ

 

 

 

 

 

 

 

 

Методическое пособие содержит примерную рабочую программу и рекомендации по проведению элективного курса в 10-11 классах. Представлены подробные поурочные разработки. Даны указания и решения к задачам.

Для учителей информатики и методистов.

 

 

 

 

 

 

 

© Логинов С.В., Колесникова Т.В., 2019

©Институт развития образования и социальных технологий, 2019


 

Содержание

Введение…………………………………………………………………..  5

Примерная рабочая программа элективного курса по изучению основ языка программирования Go………………………………………..       8

Пояснительная записка…………………………………………..    8

Планируемые результаты освоения учебного предмета, курса… 10

Тематическое планирование с указанием количества часов,

отводимых на освоение каждой темы…………………………….  14

Содержание учебного предмета, курса.………………………….  17

Список используемых источников………………………………..  19

Методические рекомендации по проведению занятий элективного курса

Занятие 1. Введение в программирование………………………   20

Занятие 2. Структура программы………………………………..    25

Занятие 3. Типы данных. Переменные…………………………..   28

Занятие 4. Константы. Операции………………………………...   34

Занятие 5. Линейные алгоритмы…………………………………   39

Занятие 6. Линейные алгоритмы…………………………………   41

Занятие 7. Линейные алгоритмы………………………………….  42

Занятие 8. Линейные алгоритмы………………………………….  43

Занятие 9. Разветвляющиеся алгоритмы…………………………  44

Занятие 10. Разветвляющиеся алгоритмы………………………..  45

Занятие 11. Разветвляющиеся алгоритмы………………………..  46

Занятие 12. Разветвляющиеся алгоритмы………………………..  48

Занятие 13. Разветвляющиеся алгоритмы………………………..  49

Занятие 14. Разветвляющиеся алгоритмы………………………..  49

Занятие 15. Циклические алгоритмы……………………………..  50

Занятие 16. Циклические алгоритмы……………………………..  52

Занятие 17. Циклические алгоритмы……………………………..  54

Занятие 18. Циклические алгоритмы……………………………..  55

Занятие 19. Циклические алгоритмы……………………………..  56

Занятие 20. Циклические алгоритмы……………………………..  57

Занятие 21. Текущий контроль……………………………………  58

Занятие 22. Массивы. Срезы………………………………………  58

Занятие 23. Массивы. Срезы………………………………………  61

Занятие 24. Массивы. Срезы………………………………………  63

Занятие 25. Массивы. Срезы………………………………………  64

Занятие 26. Массивы. Срезы………………………………………  66

Занятие 27. Массивы. Срезы………………………………………  68

Занятие 28. Массивы. Срезы………………………………………  68

Занятие 29. Массивы. Срезы………………………………………  69

Занятие 30. Повторение пройденного…………………………….  70

Занятие 31. Повторение пройденного…………………………….  70

Занятие 32. Повторение пройденного…………………………….  71

Занятие 33. Итоговый контроль…………………………………... 71

Занятие 34. Подведение итогов…………………………………… 72


 

Введение

Go – это язык программирования, который был разработан корпорацией Google. Go предназначен для создания различного рода приложений, но прежде всего это веб-сервисы и клиент-серверные приложения. Часто его еще называют “Golang” – сокращение от “Googlelanguage”. Это компилируемый язык, релиз которого состоялся в ноябре 2009 года. Одной из ключевых фигур, которые принимали участие в создании Go, является Роб Пайк, известный разработчик языков программирования, а также операционных систем, в данный момент работающий в Google. Выступая на одной из конференций, он отметил, что язык Go – это попытка перенять лучшие стороны таких языков, как C++ и Java. Так же одним из авторов Go является Кен Томпсон, соавтор языка Си.

Язык Go имеет ряд положительных черт.

Первое – простота. Язык Go разрабатывался в качестве замены Cи: его высокая производительность почти сопоставима с языком Си, но более простой синтаксис дает возможность разрабатывать приложения гораздо быстрее (к примеру, как на Python). При этом многие разработчики изучают этот язык или используют вместе с Python или PHP. Упрощенный синтаксис облегчает не только написание своего кода, но и чтение кода, написанного другими программистами, что особенно важно в командной работе. Эта особенность Go способствует тому, что быстрое освоение Go позволяет перевести внимание с изучения самого языка на изучение программирования в целом.

Второе – большое количество библиотек, дающих большие возможности. Хотя многое можно реализовать, используя только стандартную библиотеку Go, которая легко читаема, с хорошим качеством и скоростью. Go эффективно взаимодействует с библиотеками языка Си; некоторые отмечают, что Go-библиотеки по факту являются просто обертками над С-библиотеками.

Третье – Go это компилируемый язык, на котором можно быстро написать необходимое приложение. Высокая производительность Golang характерна именно для компилируемых языков. Go имеет такую же строгую статическую типизацию, как Pascal, но в то же время он имеет гораздо больший прикладной характер, что сопоставляет его с Python.

Авторы языка Go попытались упросить задачу разработки приложений на этом языке, особенно для новичков. Именно поэтому многие на данный момент считают Go одним из лучших языков программирования и советуют изучать его не только студентам, но и школьникам. Кстати, такой прецедент уже был: учитель научил несколько 11-летних школьников писать и разбираться в коде на таком уровне, что они смогли написать генератор фракталов Мандельброта.

Есть у языка Go и свои минусы. На данный момент он мало распространен. Есть куда более распространенные языки программирования, которые используются для выполнения большинства задач. Значит ли это, что изучать Go не стоит? Совсем нет. Существует множество корпораций, которые используют язык Go в своих разработках. Такие, как GoogleInc, Basecamp, BBC Worldwide, Canonical, DigitalOcean, Dropbox, Yahoo и многие другие компании по всему миру. Поэтому перспективы у этого языка программирования есть. Безусловно, программисты Go могут быть менее востребованы, чем, к примеру, PHP-разработчики, однако и конкуренция ниже, а значит, выше шанс найти интересную и хорошо оплачиваемую работу.

Другой минус вытекает из плюса: из-за легкости языка, а значит, низкого порога вхождения, количество людей, программирующих на Go, будет расти в геометрической прогрессии, при этом качество кода и сами проекты будут оставлять желать лучшего. Похожая ситуация в начале XXI века случилась с PHP. Отличие PHP от Go на данный момент заключается в том, что PHP в итоге стал полноценным языком с богатой инфраструктурой и множеством фреймворков. Go же представлен как простой язык, поэтому перспективы его развития не очень определены.

Конечно, Go не является идеальным языком, и при первом знакомстве с ним кому-то может не понравится различия с более привычным ему языком программирования.

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

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

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

Примерная рабочая программа элективного курса по изучению основ языка программирования Go

 

Пояснительнаязаписка

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

Элективный курс по изучению основ языка программирования Go является предметом по выбору для учащихся 10 классов старшей школы.

Курс рассчитан на 34 часа, из расчета 1 час в неделю. Изучение курса позволяет учащимся более полно выявить свои способности в изучаемой области знаний, создать предпосылки по применению освоенных умений в других учебных курсах, подготовить себя к осознанному выбору профессий, предусматривающих программирование.

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

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

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

Задачи курса:

·              закрепление навыков алгоритмизации и программирования на основе изучения языка программированияGo.

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

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

·              повышениеобщекультурногоуровняучащихся.

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

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

При проведении занятий традиционно используются три формы работы:

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

·                фронтальная, когда обучающиеся синхронно работают под управлением педагога;

·                самостоятельная, когда обучающиеся выполняют индивидуальные задания на занятиях.

Основной тип занятий – практикум. Большинство заданий курса выполняется с помощью персонального компьютера и необходимых программных средств.

Важной составляющей каждого урока является самостоятельная работа учащихся. Тема урока определяется приобретаемыми навыками.

Теоретическая и практическая части курса изучаются параллельно, чтобы сразу же закреплять теоретические вопросы на практике. Регулярное повторение способствует закреплению изученного материала.

Предметом контроля являются составленные программы на языке программированияGo к предложенным задачам.

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

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

Планируемые личностные результаты

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

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

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

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

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

6) эстетическое отношение к миру, включая эстетику быта, научного и технического творчества, спорта, общественных отношений;

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

8) сформированность экологического мышления, понимания влияния социально-экономических процессов на состояние природной и социальной среды; приобретение опыта эколого-направленной деятельности.

Планируемые метапредметные результаты

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

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

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

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

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

6) умение определять назначение и функции различных социальных институтов;

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

Планируемые предметные результаты

1)закрепление знаний об основных алгоритмических конструкциях и правилах их записи;

2) составление и запись алгоритмов с использованием соответствующих алгоритмических конструкцийна языке программирования Go;

3) выполнение отладки и тестирования программы в выбранной среде программирования; использование при разработке программы стандартныхпакетов языка программирования;

4)определение результата выполнения алгоритма при заданных исходных данных;

5) понимание и использование основных понятийязыка программирования Go.

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

 


 

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

№ занятия

Тема

Количество часов

Раздел

Тема

Теория

Практика

1

Введение в программирование

1

 

1

 

2

Структура программы

1

 

1

 

3

Типы данных. Переменные

1

 

0,5

0,5

4

Константы. Операции

1

 

1

 

 

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

4

 

 

 

5

Структура и оформление задач при решении линейного алгоритма

 

1

0,5

0,5

6

Основные функции пакета math. Решение задач с использованием линейного алгоритма

 

1

0,5

0,5

7

Решение задач с использованием линейного алгоритма

 

1

 

1

8

Контрольная работа

 

1

 

1

 

Разветвляющиеся алгоритмы

6

 

 

 

9

Структура и оформление задач при решении разветвляющегося алгоритма

 

1

1

 

10

Структура и оформление задач при решении разветвляющегося алгоритма

 

1

0,5

0,5

11

Решение задач с использованием разветвляющегося алгоритма

 

1

 

1

12

Решение задач с использованием разветвляющегося алгоритма

 

1

 

1

13

Решение задач с использованием разветвляющегося алгоритма

 

1

 

1

14

Контрольная работа

 

1

 

1

 

Циклические алгоритмы

6

 

 

 

15

Структура и оформление задач при решении циклического алгоритма

 

1

1

 

16

Структура и оформление задач при решении циклического алгоритма

 

1

0,5

0,5

17

Решение задач с использованием циклического алгоритма

 

1

0,5

0,5

18

Решение задач с использованием циклического алгоритма

 

1

 

1

19

Решение задач с использованием циклического алгоритма

 

1

 

1

20

Контрольная работа

 

1

 

1

21

Текущий контроль

1

 

 

1

 

Массивы. Срезы.

8

 

 

 

22

Понятие массива. Индексы. Решение задач с массивами

 

1

1

 

23

Срезы. Основные операции со срезами. Решение задач со срезами

 

1

1

 

24

Удаление элементов. Решение задач со срезами

 

1

0,5

0,5

25

Перебор массивов. Решение задач с массивами и срезами

 

1

0,5

0,5

26

Операторы break и continue. Решение задач с массивами и срезами

 

1

0,5

0,5

27

Решение задач с массивами и срезами

 

1

 

1

28

Решение задач с массивами и срезами

 

1

 

1

29

Контрольная работа

 

1

 

1

 

Повторение пройденного

3

 

 

 

30

Типы данных. Переменные. Константы. Операции

 

1

0,5

0,5

31

Линейный, разветвляющийся и циклический алгоритмы

 

1

0,5

0,5

32

Массивы. Срезы.

 

1

0,5

0,5

33

Итоговый контроль

1

 

 

1

34

Подведение итогов

1

 

0,5

0,5

 

ИТОГО

34

 

13,5

20,5

 


 

Содержание учебного предмета, курса

1.Введение в программирование – 1 час.

Вводный контроль. История программирования. Знакомство с языком программирования Go.

2.Структура программы – 1 час.

Назначение и особенности основных элементов.

3.Типы данных. Переменные – 1 час.

Основные типы данных и переменные. Реализация основных типов данных и переменных в среде программирования Go.

4.Константы. Операции – 1 час.

Константы. Основные арифметические операции. Реализация констант и арифметических операций в среде программирования Go.

5.Линейные алгоритмы – 4 часа.

Структура и оформление задач при решении линейного алгоритма. Основные функции пакета math. Решение задач с использованием линейного алгоритма. Контрольная работа

6.Разветвляющиеся алгоритмы – 6 часов.

Структура и оформление задач при решении разветвляющегося алгоритма. Решение задач с использованием разветвляющегося алгоритма. Контрольная работа

7.Циклические алгоритмы – 6 часов.

Структура и оформление задач при решении циклического алгоритма. Решение задач с использованием циклического алгоритма. Контрольная работа

8.Текущий контроль – 1 час.

Решение задач с использованием разветвляющихся и циклических конструкций.

9.Массивы. Срезы – 8 часов.

Понятие массива. Индексы. Срезы. Основные операции со срезами. Удаление элементов. Перебор массивов. Операторы break и continue. Решение задач с массивами и срезами. Контрольная работа

10.Повторение пройденного – 3 часа.

Типы данных. Переменные. Константы. Операции. Линейный, разветвляющийся и циклический алгоритмы. Массивы. Срезы.

11.Итоговый контроль – 1 час.

Решение задач с использованием разветвляющихся и циклических конструкций, массивов и срезов.

12. Подведение итогов – 1 час.

Работа над ошибками.

 


1.             

Список используемых источников

1.            Донован, АланА.А., Керниган, Брайан,У. Язык программирования Go.пер с англ.– М.:ООО «И.Д.Вильямс» 2016.–432с.

2.            Колеб Докси. Введение в программирования на Go. Авторское право 2012.–90с.

3.            МэттМясник,МэттФарина.Goнапрактике.–Мэннинг, 2016.-312с.

4.            МаркСаммерфильд,ПрограммированиенаGo.пер.с англ.: КиселёвА.Н. – М.: ДМК Пресс, 2013.–580с.

5.            Информатика и программирование шаг за шагом: статья [Электронный ресурс].–http://it.kgsu.ru/Go/oglav.html. – (дата обращения: 14.06.2019)

6.            Краткий обзор и основы программирования: статья [Электронный ресурс]. – https://www.ibm.com/developerworks/ru/library/l-go_01/.– (дата обращения: 14.06.2019)

7.            Официальный сайт языка программирования Go: статья [Электронный ресурс].–https://golang.org/.– (дата обращения: 11.06.2019)

8.            Программирование на Go: статья [Электронный ресурс].–https://losst.ru/programmirovanie-na-go  – (дата обращения: 14.06.2019)

9.            Руководство по языку Go: статья [Электронный ресурс]. - https://metanit.com/go/tutorial/– (дата обращения: 14.06.2019)

 


 

Методические рекомендации по проведению занятий элективного курса

 

Занятие 1. Введение в программирование

Цели урока:

Выявления уровня первичной подготовленности детей в данном виде деятельности.

Знакомство с языком программирования Go.

Повышение мотивацию к изучению предмета информатики и языку программирования Go.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

Вводный контроль (отвечаем «да/нет», за каждый ответ «да» начисляется 1 балл)

1.Знаете ли Вы, что такое алгоритм?

2.Можно ли сказать, что алгоритм и программа – это одно и то же?

3.Вам известно, что такое программирование?

4.Знакомы ли Вы с языками программирования высокого уровня?

5.Умеете ли Вы программировать на каком-либо языке?

 

0-1 балл (Не огорчайтесь.У Вас  все в впереди).

2-3 балла (Замечательно.Вам стоит повысить уровень своих знаний).

4-5 баллов (Отлично. Не останавливайтесь на достигнутом. Вам нужно двигаться дальше).

 

История программирования

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

Люди научились программировать не самих себя, а вычислительные машины, используя при этом специальные языки. Использование специальных языков обусловлено тем, что машины не умеют понимать наши (человеческие) языки.

Этап

Язык

Особенность

1

Машинный

Каждую команду выполняло то или иное электронное устройство. Записывали команды в цифровом виде (например, в двоичной системе счисления). Каждая ЭВМ понимала свой машинный язык.

2

Ассемблер

Используются словесные команды. Для каждого языка создаютсятрансляторы. Это специальные программы, которые преобразуют программный код с языка программирования в машинный код.

3

Высокого уровня

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

4

Объектно-ориентированный

Программист как бы управляет виртуальными объектами. Реализация больших и сложных проектов осуществляется в основном с помощью ООП.

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

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

При интерпретации выполнение кода происходит последовательно – строка за строкой. Операционная система в этом случае не читает исходный код непосредственно.

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

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

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

000778519f183cf84163a4cb8b6a15a3782222ec1

На сегодняшний день Go – самый впечатляющий из новых языков программирования.

ПервоначальнаяразработкаGoначаласьвсентябре2007года.Официальноязыкбылпредставлен10ноября 2009 года. Разработкой языка занимались Роберт Гризмер, Роб Пайк и Кен Томпсон.

go-authors

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

Язык  Go —компилируемый и многопоточный, имеющий много общих черт с различными языками программирования.

Язык

Общее и лучшее

С++

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

Java

Отличный язык для больших групп разработчиков

Python

Стиль написания кода

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

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

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

packagemain

import"fmt"

 

funcmain() {

fmt.Println("Hello Друг!")

}

Можно попробовать ввести данный код на сайте https://play.Golang.org/ в режиме онлайн, чтобы посмотреть как работает программа, написанная на данном языке программирования.

Изучением среды программирования и созданием программ мы займемся на следующих занятиях.

Вопросы для повторения

1.Что такое программа?

2.Какие языки появились после машинных языков?

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

4. С помощью каких языков программист как бы управляет виртуальными объектами?

5.Сколько времени прошло от начала разработки языкаGoдо егофициальногопредставления?

6.Какая основная цель стояла перед разработчиками языкаGo?

 

Занятие 2. Структура программы.

Цели урока:

Познакомить учащихся с основными элементами программы и их назначением.

Способствовать развитию логического мышления.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

Назначение основных элементов.

Для работы с Goнеобходимы текстовый редактор для набора кода и компилятор для преобразования кода в исполняемый файл. Пакет для установки компилятора загружается с официального сайта https://golang.org/dl/.Здесь можно найти пакеты установщиков для различных операционных систем. После принятия лицензионного соглашения отобразится окно для выбора места установки. По умолчанию используется путь "c:\go". В следующем окне нажимаем кнопку Install. После успешной установки в папке C:\Go будут установлены все файлы, необходимые для работы с Go. В частности, в папке C:\Go\bin можно найти файл go.exe, который и будет исполнять роль компилятора.

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

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

packagemain

import"fmt"

В данном случае в пакете main находится в текущем файле, а затем подключается пакет fmt.

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

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

packagemain

import"fmt"

 

funcmain() {

fmt.Println("Hello Друг!")

}

Одним из основных элементов программы являются инструкции (команды). Например, вызов функции fmt.Println("Hello Друг!") – это отдельная инструкция. Каждая инструкция выполняет определенное действие и размещается на новой строке.

packagemain

import"fmt"

 

funcmain() {

fmt.Println("Hello Друг!")

fmt.Println("Hello Дружище!")

fmt.Println("Hello Друг!")

}

В этом примере функция main содержит три инструкции, которые выводят на консоль строку, и каждая из инструкций размещается на новой строке.

Можно размещать несколько инструкций и на одной строке, но тогда их надо отделять точкой запятой.

packagemain

import"fmt"

 

funcmain() {

fmt.Println("Hello, Друг!");fmt.Println("Hello, Дружище!");fmt.Println("Hello, Друг!")

}

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

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

Комментарии бывают однострочными и многострочными.

Однострочный располагается в одну строку после двойного слеша //. Многострочный располагается между символами /* и */и может занимать несколько строк.

/*

    Первая программа

    на языке Go

*/

packagemain    // определение пакета для текущего файла

import"fmt"// подключение пакета fmt

 

// определение функции main

funcmain() {

fmt.Println("Hello, Друг!")    // вывод строки на консоль

}

Логично использовать точки с запятой для завершения инструкций. Однако на самом деле их использование требуется редко. Компилятор сам в большинстве случаев автоматически вставляет точки с запятой в концах непустых строк. Случаи обязательного использования точек с запятой: когда в одной строке находятся несколько инструкций (как в одном из примеров выше) и в цикле for. В случае с циклом важно отметить, что открывающие фигурные скобки не могут находиться в отдельной строке. Иначе компилятор автоматически добавит точку с запятой после ++. Подробнее мы рассмотрим это на соответствующем занятии.

 

Занятие 3. Типы данных. Переменные.

Цели урока:

Познакомить учащихся с основными типами данных, правилами оформления переменных.

Сформировать умение работать с переменными и типами дынных.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Типы данных.

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

Тип

Пояснение

Значение

int

Целые числа

Положительные и отрицательные целые числа, а также 0

float32

float64

Числа с плавающей точкой

Дробные числа

bool

Логический тип

Одно из двух значений: true (истина) или false (ложь)

string

Строки

Набор символов

Приведем примеры. И попробуем реализовать их на сайте https://play.Golang.org/ в режиме онлайн.

package main

import "fmt"

var m int = 102

func main() {

fmt.Println(m)

}

package main

import "fmt"

var m int = -300

func main() {

fmt.Println(m)

}

package main

import "fmt"

var m float64 = 4.52

func main() {

fmt.Println(m)

}

package main

import "fmt"

var m float64 = -234.52

func main() {

fmt.Println(m)

}

package main

import "fmt"

var m bool = true

func main() {

fmt.Println(m)

}

package main

import "fmt"

var m bool = false

func main() {

fmt.Println(m)

}

package main

import "fmt"

var m string = "ДругВася"

func main() {

fmt.Println(m)

}

Строки, кроме обычных символов, могут содержать специальные управляющие последовательности, которые начинаются с обратного слеша \. Наиболее распространенные последовательности:

\n: переход на новую строку

\t: табуляция

\": двойная кавычка внутри строк

\\: обратный слеш

Язык был при разработке предназначен для удобства и простоты. Это можно проиллюстрировать примером объявления переменной: var i int = 2

Здесь создается целочисленная переменная, и ей присваивается значение 2.

Поскольку происходит присваивание начального значения, определение можно сократить до: var i = 2

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

Но язык Go не останавливается на этом. А нужно ли само ключевое слово var? Нет, потому что Go поддерживает краткое объявление переменных: i := 2

Это краткий пример определения типа данных. Он более чем вдвое короче, легко читается, и все это за счет автоматического определения компилятором недостающих частей.

       В конце занятия при достаточном количестве времени можно включить управляющие последовательности в рассмотренные примеры. Например решить задачу расположения 20 слов в два столбика.

 

 

 

Переменные.

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

packagemain

import"fmt"

 

funcmain() {

var x string = "Hello Друг!"

fmt.Println(x)

}

Переменные в Go создаются с помощью ключевого слова var, за которым следует: имя переменной, тип и присваиваемое значение. Связь между данными и переменными устанавливается с помощью знака =. Такая операция называется присваиванием.

Правильное именование переменных — важная часть. Имена переменных могут быть любыми. Однако есть несколько общих правил их написания:

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

2.            Имя переменной не должно совпадать с командами языка (ключевыми словами).

3.            Имя переменной должно начинаться с буквы или символа подчеркивания (_).

простейшее определение переменной:

varhellostring

Можно одновременно объявить сразу несколько переменных через запятую:

vara, b, c string

После определения переменной ей можно присвоить какое-либо значение, которое соответствует ее типу:

packagemain

import"fmt"

 

funcmain() {

var x string

х = "Hello Друг!"

fmt.Println(x)

}

При объявлении переменной можно сразу присвоить ей начальное значение. Такой прием называется инициализацией. Мы его посмотрели в начале занятия.

Если нужно сразу определить несколько переменных и присвоить им начальные значения, то можно поставить их в скобки.

var(

name string= "Друг!"

        age int= 29

)

Также допустимо краткое определение переменной. После имени переменной ставится двоеточие и равно и затем указывается ее значение. В этом случае тип данных явным образом не указывается, он выводится автоматически из присваиваемого значения. Если значение переменной не указано, то автоматически присваивается нулевое значение.

packagemain

import"fmt"

 

funcmain() {

х := "Hello Друг!"

fmt.Println(x)

}

Необходимо учесть, что Go - регистрозависимый язык, то есть переменные с именами "hello" и "Hello" будут представлять разные переменные.

       В конце занятия целесообразно использовать данные примеры и поработать со средой программирования.

 

Занятие 4. Константы. Операции.

Цели урока:

Познакомить учащихся с правилами записи констант и основными арифметическими операциями.

Сформировать умение правильно использовать константы при решении задач.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Константы.

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

Для определения констант применяется ключевое слово const:

constpi = 3.1415

И в отличие от переменной мы не можем изменить значение константы. А если и попробуем это сделать, то при компиляции мы получим ошибку:

constpi = 3.1415

pi = 2.1988 // ! Ошибка

Можно объявить сразу несколько констант:

const(

    pi float64= 3.1415

    e float64= 2.1988

)

или так:

constpi, e = 3.1415, 2.1988

Если у константы не указан тип, то он выводится неявно на основании того значения, которое присвоено константе:

constn = 5     //  тип int

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

constd

constn int

Если определяется последовательность констант, то присвоение значения можно опустить для всех констант, кроме первой. В этом случае константа без значения получит значение предыдущей константы:

const(

    a = 2

    b

    c

    d = 5

    e

)

fmt.Println(a, b, c, d, e)      // 2, 2, 2, 5, 5

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

varmint= 7

// constk = m      // !Ошибка: m - переменная

consts = 5     // Норм: 5 - числовая константа

constn = s     // Норм: s - константа

       В конце занятия опробовать данные примеры на практике.

 

Операции.

Язык Go поддерживает все основные арифметические операции, которые производятся над числами. Значения, которые участвуют в операции, называются операндами. Результатом операции также является число. Список арифметических операций:

+

Операция сложения возвращает сумму двух чисел. Необходимо уточнить, что символ "+" по отношению к числам выполняет операцию сложения, а по отношению к строкам —соединение.:

packagemain

import"fmt"

 

funcmain() {

vara = 4

varb = 6

varc = a + b

fmt.Println(c)      // 10

}

 

Операция вычитания возвращает разность двух чисел:

packagemain

import"fmt"

 

funcmain() {

vara = 4

varb = 6

varc = a - b

fmt.Println(c)      // -2

}

 

*

Операция умножения возвращает произведение двух чисел:

vara = 4

varb = 6

varc = a * b  

fmt.Println(c)      // 24

 

/

Операция деления двух чисел:

vara int= 10

varb int= 4

varc int= a / b

fmt.Println(c)      // 2

 

vark float32= 10

varl float32= 4

varm float32= k / l

fmt.Println(m)      // 2.5

При делении стоит быть внимательным, так как если в операции участвуют два целых числа, то результат деления будет округляться до целого числа, даже если результат присваивается переменной типа float32/float64:

varm int= 10 / 4      // 2

Чтобы результат представлял вещественное число, один из операндов также должен представлять вещественное число:

varm float32= 10 / 4.0        // 2.5

 

%

Возвращает остаток от деления (в этой операции могут принимать участие только целочисленные операнды):

varc int= 35 % 3      // 2 (35 - 33 = 2)

x++

Увеличивает значение переменной на единицу:

vara int= 8

a++

fmt.Println(a)      // 9

x – –

Уменьшает значение переменной на единицу:

vara int= 8

a--

fmt.Println(a)      // 7

– х  

Изменяет знак х:

vara int= 8

-a

fmt.Println(a)      // -8

 

x += y

Увеличивает значение х на значение у

x – = y

Уменьшает значение х на значение у

x * = y

Присваивает х результат умножения х на у

x / = y

Присваивает х результат деления х на у

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

 

Занятие 5. Линейные алгоритмы.

Цели урока:

Познакомить учащихся с оформлением задачи при решении линейного алгоритма.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

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

Задача-образец.

Учитель объясняет, ученики решают.

Найти периметр прямоугольника, если дана его сторона.

package main

 

import (

       "fmt"

)

 

func main() {

       vara,b = 4,5

       p :=2*(a+b)

       fmt.Println(p)

}

 

Задача для совместного решения.

Даны два числа. Найти среднее арифметическое этих чисел.

package main

 

import (

       "fmt"

)

 

func main() {

       vara,b float64 = 4,7

       p :=(a+b)/2

       fmt.Println(p)

}                                           // 5.5

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

 

package main

 

import (

       "fmt"

)

 

func main() {

       vara,b = 4,7

       p :=(a+b)/2

       fmt.Println(p)

}                                           // 5

 

Занятие 6. Линейные алгоритмы.

Цели урока:

Познакомить учащихся с оформлением задачи при решении линейного алгоритма.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

В задачах при работе с вещественными числами нам пригодятся функции из пакета math, которые работают только с типом float64. Ниже представлены некоторые функции пакета math

Функция

Пояснение

math.Abs(x)

|x|, абсолютное значение x

math.Cbrt(x)

3√x, кубический корень из x

math.Max(x, y)

Наибольшее из чисел x и y

math.Min(x, y)

Наименьшее из чисел x и y

math.Mod(x, y)

Остаток от деления x на y

math.Pow(x, y)

xy

math.Sqrt(x)

√x

math.Sin(x)

Синус угла x, выраженного в радианах

math.SinCos(x)

Синус и косинус угла x, выраженного в радианах

math.Tan(x)

Тангенс угла x, выраженного в радианах

 

Задача для самостоятельного решения.

Дано число х. Вычислите 2х5 - 5х + 6

 

Занятие 7. Линейные алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1.Дано число х. Вычислите 2х4 - 3х3 + 4х2 - 5х + 6

2.Дана сторона равностороннего треугольника а. Вычислите периметр, площадь.

Занятие 8. Линейные алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, карточки с вариантами.

 

Задания для контрольного занятия.

Вариант 1.

1.Дано число х. Вычислите 1 – 2х + 3х2 – 4х3

2.Дана сторона квадрата а. Вычислите периметр, площадь, длину диагонали.

Вариант 2.

1.Дано число х. Вычислите 1 + 2х + 3х2 + 4х3

2.Даны стороны прямоугольника а и b. Вычислите периметр, площадь, длину диагонали.

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

 

 

 

 

Занятие 9. Разветвляющиеся алгоритмы.

Цели урока:

Познакомить учащихся со структурой разветвляющегося алгоритма и особенностями оформлением задач.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Теоретический материал.

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

Конструкция if в языке Go оформляется следующим образом:

ifлогическоеВыражение {
   действия1
}else {
   действия2
}

Более сложный вариант «условие в условии» можно оформить следующим образом:

if необязательнаяКонструкция1; логическоеВыражение1 {
   действия1
} elseif необязательнаяКонструкция2;логическоеВыражение2 {
   действия2
}else {
   действия3

}

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

Необязательной конструкцией может быть выражение, конструкция присваивания или конструкция сокращенного объявления переменной. Если в необязательной конструкции объявляются переменные (например, с помощью оператора :=), то их можно использовать до конца всей инструкции if, и они перестают существовать в конце инструкции if.

Логическое выражение должно возвращать значение типа bool. В языке Go нелогические значения не преобразуются автоматически в логические, поэтому всегда следует использовать оператор сравнения, например if i = = 0. Таким образом, если условное выражение после оператора if истинно, то выполняется блок после if, если ложно - выполняется блок после else.

 

Занятие 10. Разветвляющиеся алгоритмы.

Цели урока:

Познакомить учащихся со структурой разветвляющегося алгоритма и особенностями оформлением задач.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

 

Задача-образец.

Учитель показывает и объясняет, ученики повторяют на компьютере.

Даны два числа х и у. Если х > у найди их разность, иначе найди произведение.

package main

 

import (

       "fmt"

)

 

func main() {

       varx,y = 7,5

       if x > y {

       x-=y;

fmt.Println("разность",x)

    }else{

       x*=y;

fmt.Println("произведение",x)

}

}

 

Задачи для самостоятельного решения.

Даны два числа х и у. Если х >= у вывести в ответ 1, иначе 0.

 

Занятие 11. Разветвляющиеся алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для совместного решения.

Дано число. Определить положительное оно или отрицательное.

package main

 

import (

       "fmt"

)

 

func main() {

       var x = 0

       if x < 0 {

fmt.Println(x,"отрицательное")

}else{

fmt.Println(x,"положительное")

}

}

Даны три числа. Вычислить сумму только положительных из трех данных.

package main

 

import (

       "fmt"

)

 

func main() {

       varx,y,z float64 = 0,-3,9

       var s float64 = 0

       if x>0 {

        s += x

       if y>0 {

        s += y

       if z>0 {

s:=s+z;

fmt.Println(s,"суммаположительных")

}

}

 

Занятие 12. Разветвляющиеся алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1.Даны три числа. Найти максимальное.

2.Даны пять чисел. Вычислить произведение только отрицательных.

 

Занятие 13. Разветвляющиеся алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1.Дано х. у = х2 + 3, если х >= 0; у = х2 – 3, если х < 0. Вычислить у.

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

 

Занятие 14. Разветвляющиеся алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, карточки с вариантами.

 

Задания для контрольного занятия.

Вариант 1.

1.Даны два числа. Являются ли они оба положительными.

2. Дано х. у = х3 + 5, если х >= 0; у = х3 , если х < 0. Вычислить у.

Вариант 2.

1.Даны два числа. Является ли хотя бы одно из них положительным.

2. Дано х. у = х2 - 7, если х >= 0; у = х3 , если х < 0. Вычислить у.

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

 

Занятие 15. Циклические алгоритмы.

Цели урока:

Познакомить учащихся со структурой циклического алгоритма и особенностями оформлением задач.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

 

Теоретический материал

Циклы позволяют в зависимости от определенного условия выполнять некоторые действия множество раз. В Go есть цикл - цикл for, который может принимать разные формы. Этот цикл имеет следующее формальное определение:

Конструкция for в языке Go оформляется следующим образом:

for[инициализация счетчика]; [условие]; [изменение счетчика]{

              // действия

}

Вначале стоит инициализация счетчика. Фактически она представляет собой объявление переменной, которая будет использоваться внутри цикла. Например это счетчик i, начальное значение которого равно 1: i := 1. Вторая часть представляет условие, например: i < 3. Пока условие истинно, будет продолжаться цикл. Третья часть представляет изменение счетчика, например увеличение на единицу: i++.

Необязательно указывать все условия при объявлении цикла. Например, можно вынести объявление переменной за его пределы:

vari = 1

for; i < 3; i++{

fmt.Println(i + i)

}

Аналогично убирается изменение счетчика в само тело цикла и остается только условие:

vari = 1

for; i < 10;{

fmt.Println(i + i)

i++

}

Если цикл как в предыдущем примере использует только условие, то можно убрать лишние точку с запятой:

vari = 1

fori < 10{

fmt.Println(i + i)

i++

}

 

Занятие 16. Циклические алгоритмы.

Цели урока:

Познакомить учащихся со структурой циклического алгоритма и особенностями оформлением задач.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Задача-образец.

Вывести на экран квадраты чисел от 1 до 10.

package main

import "fmt"

 

func main() {

 

    for i := 1; i < 10; i++{

fmt.Println(i * i)

}

}

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

package main

import "fmt"

 

func main() {

 

var i = 1

    for ; i < 10; i++{

fmt.Println(i * i)

}

}

package main

import "fmt"

 

func main() {

 

var i = 1

    for ; i < 10; {

fmt.Println(i * i)

        i++

}

}

package main

import "fmt"

 

func main() {

 

var i = 1

    for i < 10 {

fmt.Println(i * i)

        i++

}

}

 

Занятие 17. Циклические алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задача для совместного решения.

Вычислить s = 1+ 2 + 3 +…n.

package main

import "fmt"

 

func main() {

      

       var n = 5

       var s int

       for i := 1; i < n; i++{

       s+=i

fmt.Println(s)

    }

      

}

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

package main

import "fmt"

 

func main() {

      

       var n = 5

       var s int

       for i := 1; i < n; i++{

       s+=i

    }

       fmt.Println(s)

}

 

Занятие 18. Циклические алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1.Дано у = 1. Вычислить х = х + у для х от 1 до 7.

2.Ученик учит стихотворение. В первый день он выучил 5 строк. В каждый следующий на 2 строки больше предыдущего. Сколько строк будет выучено за 3 дня.

 

Занятие 19. Циклические алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1. Вычислить р = 1 * 2 * 3 *…n.

2.Составить программу, для заполнения таблицы умножения (вспомните про специальные управляющие последовательности – занятие 3).

Занятие 20. Циклические алгоритмы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, карточки с вариантами.

 

Задания для контрольного занятия.

Вариант 1.

1. Дано у = 100. Вычислить х = х - у для х от 1 до 4.

2. Для х от 1 до 3 вычислить у = 10/(х+10).

Вариант 2.

1. Дано у = 100. Вычислить х = х * у для х от 1 до 4.

2. Для у от 1 до 3 вычислить х = (у+10)/10.

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

 

Занятие 21. Текущий контроль.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки самоконтроля.

Сформировать умение защищать свою точку зрения.

Оборудование: компьютерный класс с установленным ПО, карточки с вариантами.

 

Вариант 1.

1. Заданы площади круга и квадрата. Поместится ли квадрат в круге.

2. Для х от 1 до 3 вычислить у = 10/(х+10).

Вариант 2.

1. Заданы площади квадрата и круга. Поместится ли круг в квадрате.

2. Для у от 1 до 3 вычислить х = (у+10)/10.

 

Занятие 22. Массивы. Срезы.

Цели урока:

Познакомить учащихся с особенностями оформления задач с массивами и срезами.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Понятие массива.

Массивы – это последовательность элементов определенного типа. Массив оформляется следующим способом:

varnumbers [число_элементов]тип_элементов

Например, массив из десяти элементов типа int задается так:

varnumbers [5]int

В данном случае все элементы массива заполняются значениями по умолчанию. Но также можно заполнить элементы массива другими значениями:

varnumbers [5]int= [5]int{1,2,3,4,5}

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

varnumbers [5]int= [5]int{2,1}

fmt.Println(numbers)    // [2 1 0 0 0]

Можно применять сокращенное определение переменной массива:

numbers := [5]int{1,2,3,4,5}

Если в квадратных скобках вместо длины указано троеточие, то длина массива определяется, исходя из количества элементов:

varnumbers = [...]int{1,2,3,4,5}   // длина массива 5

numbers2 := [...]int{1,2,3}         // длина массива 3

fmt.Println(numbers)                // [1 2 3 4 5]

fmt.Println(numbers2)           // [1 2 3]

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

varnumbers [3]int= [3]int{1, 2, 3}

varnumbers2 [4]int= [4]int{1, 2, 3, 4}

numbers = numbers2     // ! Ошибка

 

 

Индексы.

Для того чтобы обращаться к элементам массива применяют индексы - номера элементов. Важно то, что нумерация начинается с нуля, то есть первый элемент будет иметь индекс 0. Индекс указывается в квадратных скобках. По нему можно получить значение элемента, или изменить его:

packagemain

import"fmt"

funcmain() {

varnumbers [5]int= [5]int{1,2,3,4,5}

fmt.Println(numbers[0])     // 1

fmt.Println(numbers[4])     // 5

    numbers[0] = 87

fmt.Println(numbers[0])     // 87

}

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

colors := [3]string{2: "blue", 0: "red", 1: "green"}

fmt.Println(colors[2])      // blue

 

Занятие 23. Массивы. Срезы.

Цели урока:

Познакомить учащихся с особенностями оформления задач с массивами и срезами.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Срезы.

Срезы – это последовательность элементов одного типа переменной длины. У среза при определении не указывается длина, в отличие от массива. Для создания срезов используется следующие конструкции:

make([]Тип, длина, емкость)

make([]Тип, длина)

[]Тип {}

[]Тип {значение1, значение2, ..., значениеN}

Поскольку в отличие от массивов длина в срезах не фиксирована и может меняться, то есть можно добавлять новые элементы или удалять уже существующие. Также срез можно при определении заполнить значениями:

varusers = []string{"Tom", "Alice", "Kate"}

// илитак

users2 := []string{"Tom", "Alice", "Kate"}

К элементам среза обращение происходит так же, как и к элементам массива - по индексу.

С помощью функции make() можно создать срез из нескольких элементов, которые будут иметь значения по умолчанию:

varusers []string= make([]string, 3)

users[0] = "Tom"

users[1] = "Alice"

users[2] = "Bob"

Могут пригодиться операции работы с частями срезов

s[n]

Элемент в позиции n в срезе s

s[:]

Срез из среза s, начиная с элемента в позиции 0 и до последнего элемента в позиции len(s) - 1 включительно

s[n:m]

Срез из среза s, начиная с элемента в позиции n и до элемента в позиции m-1 включительно 0 <= n<= m<= cap(s)

s[:m]

Срез из среза s, начиная с элемента в позиции 0 и до элемента в позиции m-1 включительно

s[n:]

Срез из среза s, начиная с элемента в позиции n и до последнего элемента в позиции len(s) - 1 включительно

cap(s)

Емкость среза s; всегда больше или равна len(s)

len(s)

Количество элементов в срезе s; всегда меньше или равно cap(s)

s = s[:cap(s)]

Увеличит длину среза s до его емкости, если они не равны

 

// исходныймассив

initialUsers := [8]string{"Bob", "Alice", "Kate", "Sam", "Tom", "Paul", "Mike", "Robert"}

users1 := initialUsers[2:6]     // с 3-гопо 6-й

users2 := initialUsers[:4]      // с 1-гопо 4-й

users3 := initialUsers[3:]      // с 4-годоконца

 

fmt.Println(users1)     // ["Kate", "Sam", "Tom", "Paul"]

fmt.Println(users2)     // ["Bob", "Alice", "Kate", "Sam"]

fmt.Println(users3)     // ["Sam", "Tom", "Paul", "Mike", "Robert"]

Для добавления в срез применяется встроенная функция append(slice, value). Первый параметр функции - срез, в который надо добавить, а второй параметр - значение, которое нужно добавить. Результатом функции является увеличенный срез.

Задача-образец.

package main

import "fmt"

func main() {

   users := []string{"Tom", "Alice", "Kate"}

users = append(users, "Bob")

     for _, value := range users{

fmt.Println(value)

}

}

 

Занятие 24. Массивы. Срезы.

Цели урока:

Познакомить учащихся с особенностями оформления задач с массивами и срезами.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

Удаление элемента

Что делать, если необходимо удалить какой-то определенный элемент? В этом случае мы можем комбинировать функцию append и оператор среза:

users := []string{"Bob", "Alice", "Kate", "Sam", "Tom", "Paul", "Mike", "Robert"}

//удаляем 4-й элемент

varn = 3

users = append(users[:n], users[n+1:]...)  

fmt.Println(users)      //["Bob", "Alice", "Kate", "Tom", "Paul", "Mike", "Robert"]

 

Задача для самостоятельной работы:

1.Дан массив {1,-2,3,-4,5,-6,7,-8,9,-10}. Удалить отрицательные числа.

 

Занятие 25. Массивы. Срезы.

Цели урока:

Познакомить учащихся с особенностями оформления задач с массивами и срезами.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран.

 

Перебор массивов

Для перебора массивов можно использовать следующую форму цикла for:

forиндекс, значение := rangeмассив{

    // действия

}

При переборе мы можем по отдельности получить индекс элемента в массиве и значение этого элемента. Например, перебираем массив строк:

varusers = [3]string{"Tom", "Alice", "Kate"}

forindex, value := rangeusers{

fmt.Println(index, value)

}                                             //0 Tom    1 Alice    2 Kate

Когда не планируется использовать значения или индексы элементов, можно вместо них указать прочерк. Пусть, нам не нужны индексы:

for_, value := rangeusers{

fmt.Println(value)

}

Но также для перебора массива можно использовать и стандартную версию цикла for.

 

Задача-образец.

package main

import "fmt"

func main() {

var users = [3]string{"Tom", "Alice", "Kate"}

for i:= 0; i <len(users); i++{

fmt.Println(users[i])

}

}

В данном случае счетчик i – это индекс. Цикл выполняется, пока счетчик i не станет равным длине массива, которую можно получить с помощью функции len()

 

 

 

Занятие 26. Массивы. Срезы.

Цели урока:

Познакомить учащихся с особенностями оформления задач с массивами и срезами.

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Сформировать умение совершенствовать навыки анализа и обобщения.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Операторы break и continue

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

 

Задача-образец.

package main

import "fmt"

func main() {

var numbers = [10]int{1, -2, 3, -4, 5, -6, -7, 8, -9, 10}

var sum = 0

 for _, value := range numbers{

    if value < 0{

        continue                           // переходим к следующей итерации

    }

sum += value

}

fmt.Println("Sum:", sum)   

}                               // Sum: 27

Оператор break полностью осуществляет выход из цикла.

 

Задача-образец.

package main

import "fmt"

func main() {

var numbers = [10]int{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}

var sum = 0

for _, value := range numbers{

    if value > 4{

        break                                     // если число больше 4 выходим из цикла

}

    sum += value

}

fmt.Println("Sum:", sum)            

 }  // Sum: 10

 

Занятие 27. Массивы. Срезы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1. Дан массив {1,-2,3,-4,5,-6,7,-8,9,-10}. Вывести на экран срезы:

-от третьего до пятого элемента

-от первого до третьего элемента

-от пятого до последнего элемента

2.Дан массив {1,-2,3,-4,5,-6,7,-8,9,-10}. Вычислить сумму отрицательных чисел.

 

Занятие 28. Массивы. Срезы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, презентация, проектор, экран, карточки с вариантами.

 

Задачи для самостоятельного решения.

1.Дан массив [10]. Вычислить сумму значений элементов, больших/меньших некоторого числа.

2.Дана последовательность из 20 различных чисел. Найти сумму чисел этой последовательности, расположенных между максимальным и минимальным числами.

 

Занятие 29. Массивы. Срезы.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки анализа и обобщения, навыки самоконтроля.

Развить коммуникативные навыки работы в группах.

Сформировать умение защищать свою точку зрения.

Повысить мотивацию к изучению предмета информатики.

Оборудование: компьютерный класс с установленным ПО и доступом в интернет, карточки с вариантами.

 

Задания для контрольного занятия.

Вариант 1.

1. Дан массив [10]. Вычислить наибольшее значение.

2.Дан массив [10], состоящий из положительных и отрицательных чисел. Все положительные элементы сделать отрицательными.

Вариант 2.

1. Дан массив [10]. Вычислить наименьшее значение.

2.Дан массив [10], состоящий из положительных и отрицательных чисел. Все отрицательные элементы сделать положительными.

 

 

 

Занятие 30. Повторение пройденного.

Цели урока:

Обобщить материал как систему знаний.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Закрепить умение защищать свою точку зрения.

Актуализация знаний по теме.

Оборудование: компьютерный класс с установленным ПО и выходом в интернет.

 

       На данном занятии необходимо актуализировать знания по темам Типы данных. Переменные. Константы. Операции. Подготовиться к итоговому контролю.

 

Занятие 31. Повторение пройденного.

Цели урока:

Обобщить материал как систему знаний.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Закрепить умение защищать свою точку зрения.

Актуализация знаний по теме.

Оборудование: компьютерный класс с установленным ПО и выходом в интернет.

 

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

 

 

 

Занятие 32. Повторение пройденного.

Цели урока:

Обобщить материал как систему знаний.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Закрепить умение защищать свою точку зрения.

Актуализация знаний по теме.

Оборудование: компьютерный класс с установленным ПО и выходом в интернет.

 

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

 

Занятие 33. Итоговый контроль.

Цели урока:

Сформировать умение самостоятельно работать.

Научить применять полученные знания на практике.

Выявить качество и уровень овладения знаниями и умениями полученными на уроках темы.

Сформировать умение совершенствовать навыки самоконтроля.

Сформировать умение защищать свою точку зрения.

Оборудование: компьютерный класс с установленным ПО с выходом в интернет, карточки с вариантами.

 

Вариант 1.

1. Дан массив [20]. Удалить из него минимальный элемент.

2. Дан массив [10]. Вывести срез от 4 до 7 элемента и в этом срезе найти наименьшее.

Вариант 2.

1. Дан массив [20]. Удалить из него максимальный элемент.

2. Дан массив [10]. Вывести срез от 4 до 7 элемента и в этом срезе найти наибольшее.

 

Занятие 34. Подведение итогов.

Подведение итогов. Работа над ошибками.


 


 

 

Просмотрено: 0%
Просмотрено: 0%
Скачать материал
Скачать материал "Методическое пособие "Элективный курс по изучению основ языка программирования Go""

Методические разработки к Вашему уроку:

Получите новую специальность за 6 месяцев

Ректор

Получите профессию

Няня

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 672 267 материалов в базе

Скачать материал

Другие материалы

Проект урока по информатике 8 класс "Кенгуренок"
  • Учебник: «Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения», В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович
  • Тема: Глава 3. Основы алгоритмизации и программирования
  • 21.03.2022
  • 579
  • 9
«Информатика. Учебное пособие для учреждений общего среднего образования с русским языком обучения», В. М. Котов, А. И. Лапо и Ю.А. Быкадоров, Е.Н. Войтехович

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 21.03.2022 455
    • DOCX 245.9 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Колесникова Татьяна Владимировна. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    • На сайте: 8 лет и 3 месяца
    • Подписчики: 0
    • Всего просмотров: 13304
    • Всего материалов: 13

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Копирайтер

Копирайтер

500/1000 ч.

Подать заявку О курсе

Курс профессиональной переподготовки

Создание и обеспечение электронного архива с использованием информационно-коммуникационных технологий

Специалист по формированию электронного архива

600 ч.

9840 руб. 5600 руб.
Подать заявку О курсе
  • Сейчас обучается 30 человек из 22 регионов
  • Этот курс уже прошли 36 человек

Курс повышения квалификации

Применение компьютерных моделей при обучении математике и информатике в рамках ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 47 человек из 26 регионов
  • Этот курс уже прошли 181 человек

Курс повышения квалификации

Теоретические и методологические основы преподавания информатики с учётом требований ФГОС ООО

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 153 человека из 49 регионов
  • Этот курс уже прошли 1 721 человек

Мини-курс

Основы финансового рынка

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Интегрированное управление бизнес-процессами

3 ч.

780 руб. 390 руб.
Подать заявку О курсе

Мини-курс

Управление личной продуктивностью менеджера

10 ч.

1180 руб. 590 руб.
Подать заявку О курсе