СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Урок аукцион по дисциплине ооп

Категория: Прочее

Нажмите, чтобы узнать подробности

Тема 3. Понятия и основные компоненты платформы Microsoft NET. Создание и использование классов при разработке программного обеспечения на языке C#.

Тема урока 9: Основы языка программирования С#.

Просмотр содержимого документа
«Урок аукцион по дисциплине ооп»

Управления Образования Восточно- Казахстанской области

КГКП «Семейский финансово – экономический колледж имени Рымбека Байсеитова»











АУКЦИОН ЗНАНИЙ



по дисциплине Объектно - ориентированное программирование

на тему «Основы языка программирования С#.»










Подготовила: Аубакирова М.Ж.




















Семей 2018 год

ПОУРОЧНЫЙ ПЛАН №9


  1. Адресная категория

1.1. Наименование специальности и квалификации

1304000 - «Вычислительная техника и программное обеспечение » (по видам)

130405 3 – «Техник-программист по защите информации»

1.2. Курс, группа

3 осн. ВТ-2

1.3. Наименование учебного модуля/дисциплины, изучаемого раздела

Объектно - ориентированное программирование

Понятия и основные компоненты платформы Microsoft NET. Создание и использование классов при разработке программного обеспечения на языке C#.

1.4. Тема занятия

Основы языка программирования С#.

1.5. Организационная форма занятия

Групповая

1.6. Знания и умения студентов, необходимые для выполнения деятельности по модулю/теме

1. Типы.

2. Переменные и константы.

3. Операторы.

4. Директивы препроцессора.

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

- иметь представления основные положения объектно-ориентированного программирования (ООП).

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

-составлять программы с использованием полиморфизма.

2. Цель занятия

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

- умение слушать;

- умение общаться с партнерами;

- прислушиваться к мнению других.

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

- умение правильно организовать рабочее место;

- умение работать с литературой;

- умение работать в коллективе;

- мыслить логически.

3. Описание результата занятия

3.1. К концу занятия обучающиеся должны: знать и уметь

1. Типы.

2. Переменные и константы.

3. Операторы.

4. Директивы препроцессора.

3.2. Критерии качества

-управление доступом производных классов.

-создание класса-наследника при одиночном и множественном наследовании.

-составление программ с использованием полиморфизма.

4. Фаза планирования

4.1. Учебно-методическое оснащение, справочная литература


4.2. Техническое оснащение, материалы

Интерактивная доска;

Компьютер;

4.3. Описание последовательности действий студентов

1. Типы.

2. Переменные и константы.

3. Операторы.

4. Директивы препроцессора.

4.4. Роль преподавателя

- сообщение основных понятий по теме;

- пояснение терминов и порядка их применения.

5. Реализация плана

5.1. Описание плана занятий, содержание действий преподавателя и студентов (таблица)

Таблица «Содержание и организация взаимодействия преподавателя и студентов»


6. Оценка

6.1. Оценка качества выполненных заданий

Определение степени усвоения новых понятий и терминов.


Преподаватель ______________ Аубакирова М.Ж.

подпись Ф.И.О.





Содержание и организация взаимодействия преподавателя и студентов


Основные этапы занятия

Виды и последовательность действий

Деятельность студентов

Совместная деятельность преподавателя и студентов

Деятельность преподавателя




индивидуальная

групповая

межгрупповая

консультация

инструктирование

контроль

1.

Этап ориентирования и планирования

Тема и цель урока


Х


Х

Х



2.

Этап выполнения работы

Подготовка рабочего места


Х



Х



Подготовка материалов


Х



Х



Технологический процесс: конспектирование, работа с конспектом,

работа на интерактивной доске



Х

Х


Х








Х

Х


Х






Х

Х


Х


3.

Этап оценки и анализа конечных и промежуточных результатов

Оценка работы по критериям качества:

Определить термин




Х








Х




Тема 3. Понятия и основные компоненты платформы Microsoft NET. Создание и использование классов при разработке программного обеспечения на языке C#.

Тема урока 9: Основы языка программирования С#.


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

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

тип имя_переменной;

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

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

в имени не должно быть знаков пунктуации и пробелов

имя не может быть ключевым словом языка C#. Таких слов не так много, и при работе в Visual Studio среда разработки подсвечивает ключевые слова синим цветом.

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

Например, определим простейшую переменную:

string name;

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

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

string name;

string Name;

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

string name;

name = "Tom";

Так как переменная name представляет тип string, то есть строку, то мы можем присвоить ей строку в двойных кавычках. Причем переменной можно присвоить только то значение, которое соответствует ее типу.

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

Также мы можем сразу при определении присвоить переменной значение. Данный примем называется инициализацией:

string name = "Tom";

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

using System;


namespace HelloApp

{

class Program

{

static void Main(string[] args)

{

string name = "Tom"; // определяем переменную и инициализируем ее


Console.WriteLine(name); // Tom


name = "Bob"; // меняем значение переменной

Console.WriteLine(name); // Bob


Console.Read();

}

}

}


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

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

Есть две логических константы - true (истина) и false (ложь):

1

2

Console.WriteLine(true);

Console.WriteLine(false);

Целочисленные литералы

Целочисленные литералы представляют положительные и отрицательные целые числа, например, 1, 2, 3, 4, -7, -109. Целочисленные литералы могут быть выражены в десятичной, шестнадцатеричной и двоичной форме.

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

1

2

3

Console.WriteLine(-11);

Console.WriteLine(5);

Console.WriteLine(505);

Числа в двоичной форме предваряются символами 0b, после которых идет набор из нулей и единиц:

1

2

3

Console.WriteLine(0b11);        // 3

Console.WriteLine(0b1011);      // 11

Console.WriteLine(0b100001);    // 33

Для записи числа в шестнадцатеричной форме применяются символы 0x, после которых идет набор символов от 0 до 9 и от A до F, которые собственно представляют число:

1

2

3

Console.WriteLine(0x0A);    // 10

Console.WriteLine(0xFF);    // 255

Console.WriteLine(0xA1);    // 161

Вещественные литералы

Вещественные литералы представляют вещественные числа. Этот тип литералов имеет две формы. Первая форма - вещественные числа с фиксированной запятой, при которой дробную часть отделяется от целой части точкой. Например:

1

2

3

3.14

100.001

-0.38

Также вещественные литералы могут определяться в экспоненциальной форме MEp, где M — мантисса, E - экспонента, которая фактически означает "*10^" (умножить на десять в степени), а p — порядок. Например:

1

2

Console.WriteLine(3.2e3);   // по сути равно 3.2 * 103 = 3200

Console.WriteLine(1.2E-1);  // равно 1.2 * 10-1 = 0.12

Символьные литералы

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

Символьные литералы бывают нескольких видов. Прежде всего это обычные символы:

1

2

3

'2'

'A'

'T'

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

'\n' - перевод строки

'\t' - табуляция

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

И если компилятор встретит в тексте последовательность \t, то он будет воспринимать эту последовательность не как слеш и букву t, а как табуляцию - то есть длинный отступ.

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

Еще один способ определения символов представляет использования шестнадцатеричных кодов ASCII. Для этого в одинарных кавычках указываются символы '\x', после которых идет шестнадцатеричный код символа из таблицы ASCII. Коды символов из таблицы ASCII можно посмотреть здесь.

Например, литерал '\x78' представляет символ "x":

1

2

Console.WriteLine('\x78');    // x

Console.WriteLine('\x5A');    // Z

И последний способ определения символьных литералов представляет применение кодов из таблицы символов Unicode. Для этого в одинарных кавычках указываются символы '\u', после которых идет шестнадцатеричный код Unicode. Например, код '\u0411' представляет кириллический символ 'Б':

1

2

Console.WriteLine('\u0420');    // Р

Console.WriteLine('\u0421');    // С

Строковые литералы

Строковые литералы представляют строки. Строки заключаются в двойные кавычки:

1

2

3

Console.WriteLine("hello");

Console.WriteLine("фыва");

Console.WriteLine("hello word");

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

1

Console.WriteLine("Компания \"Рога и копыта\"");

Также в строках можно использовать управляющие последовательности. Например, последовательность '\n' осуществляет перевод на новую строку:

1

Console.WriteLine("Привет \nмир");

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

Привет

мир

null

null представляет ссылку, которая не указывает ни на какой объект. То есть по сути отсутствие значения.

Типы данных

Как и во многих языках программирования, в C# есть своя система типов данных, которая используется для создания переменных. Тип данных определяет внутреннее представление данных, множество значений, которые может принимать объект, а также допустимые действия, которые можно применять над объектом.

В языке C# есть следующие примитивные типы данных:

bool: хранит значение true или false (логические литералы). Представлен системным типом System.Boolean

bool alive = true;

bool isDead = false;

byte: хранит целое число от 0 до 255 и занимает 1 байт. Представлен системным типомSystem.Byte

byte bit1 = 1;

byte bit2 = 102;

sbyte: хранит целое число от -128 до 127 и занимает 1 байт. Представлен системным типом System.SByte

sbyte bit1 = -101;

sbyte bit2 = 102;

short: хранит целое число от -32768 до 32767 и занимает 2 байта. Представлен системным типом System.Int16

short n1 = 1;

short n2 = 102;

ushort: хранит целое число от 0 до 65535 и занимает 2 байта. Представлен системным типом System.UInt16

ushort n1 = 1;

ushort n2 = 102;

int: хранит целое число от -2147483648 до 2147483647 и занимает 4 байта. Представлен системным типом System.Int32. Все целочисленные литералы по умолчанию представляют значения типа int:

int a = 10;

int b = 0b101; // бинарная форма b =5

int c = 0xFF; // шестнадцатеричная форма c = 255

uint: хранит целое число от 0 до 4294967295 и занимает 4 байта. Представлен системным типом System.UInt32

uint a = 10;

uint b = 0b101;

uint c = 0xFF;

long: хранит целое число от –9 223 372 036 854 775 808 до 9 223 372 036 854 775 807 и занимает 8 байт. Представлен системным типом System.Int64

long a = -10;

long b = 0b101;

long c = 0xFF;

ulong: хранит целое число от 0 до 18 446 744 073 709 551 615 и занимает 8 байт. Представлен системным типом System.UInt64

ulong a = 10;

ulong b = 0b101;

ulong c = 0xFF;

float: хранит число с плавающей точкой от -3.4*1038 до 3.4*1038 и занимает 4 байта. Представлен системным типом System.Single

double: хранит число с плавающей точкой от ±5.0*10-324 до ±1.7*10308 и занимает 8 байта. Представлен системным типом System.Double

decimal: хранит десятичное дробное число. Если употребляется без десятичной запятой, имеет значение от 0 до +/–79 228 162 514 264 337 593 543 950 335; если с запятой, то от 0 до +/–7,9228162514264337593543950335 с 28 разрядами после запятой и занимает 16 байт. Представлен системным типом System.Decimal

char: хранит одиночный символ в кодировке Unicode и занимает 2 байта. Представлен системным типом System.Char. Этому типу соответствуют символьные литералы:

char a = 'A';

char b = '\x5A';

char c = '\u0420';

string: хранит набор символов Unicode. Представлен системным типом System.String. Этому типу соответствуют символьные литералы.

string hello = "Hello";

string word = "world";

object: может хранить значение любого типа данных и занимает 4 байта на 32-разрядной платформе и 8 байт на 64-разрядной платформе. Представлен системным типом System.Object, который является базовым для всех других типов и классов .NET.

object a = 22;

object b = 3.14;

object c = "hello code";

Например, определим несколько переменных разных типов и выведем их значения на консоль:

using System;


namespace HelloApp

{

class Program

{

static void Main(string[] args)

{

string name = "Tom";

int age = 33;

bool isEmployed = false;

double weight = 78.65;

Console.WriteLine($"Имя: {name}");

Console.WriteLine($"Возраст: {age}");

Console.WriteLine($"Вес: {weight}");

Console.WriteLine($"Работает: {isEmployed}");

}

}

}

Для вывода данных на консоль здесь применяется интерполяция: перед строкой ставится знак $ и после этого мы можем вводить в строку в фигурных скобках значения переменных. Консольный вывод программы:

Имя: Tom

Возраст: 33

Вес: 78,65

Работает: False

Использование суффиксов

При присвоении значений надо иметь в виду следующую тонкость: все вещественные литералы рассматриваются как значения типа double. И чтобы указать, что дробное число представляет тип float или тип decimal, необходимо к литералу добавлять суффикс: F/f - для float и M/m - для decimal.

float a = 3.14F;

float b = 30.6f;


decimal c = 1005.8M;

decimal d = 334.8m;

Подобным образом все целочисленные литералы рассматриваются как значения типа int. Чтобы явным образом указать, что целочисленный литерал представляет значение типа uint, надо использовать суффикс U/u, для типа long - суффикс L/l, а для типа ulong - суффикс UL/ul:

uint a = 10U;

long b = 20L;

ulong c = 30UL;

Использование системных типов

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

int a = 4;

System.Int32 b = 4;

Неявная типизация

Ранее мы явным образом указывали тип переменных, например, int x;. И компилятор при запуске уже знал, что x хранит целочисленное значение.

Однако мы можем использовать и модель неявной типизации:

var hello = "Hell to World";

var c = 20;

Console.WriteLine(c.GetType().ToString());

Console.WriteLine(hello.GetType().ToString());

Для неявной типизации вместо названия типа данных используется ключевое слово var. Затем уже при компиляции компилятор сам выводит тип данных исходя из присвоенного значения. В примере выше использовалось выражение Console.WriteLine(c.GetType().ToString());, которое позволяет нам узнать выведенный тип переменной с. Так как по умолчанию все целочисленные значения рассматриваются как значения типа int, то поэтому в итоге переменная c будет иметь тип int или System.Int32

Эти переменные подобны обычным, однако они имеют некоторые ограничения.

Во-первых, мы не можем сначала объявить неявно типизируемую переменную, а затем инициализировать:

// этот код работает

int a;

a = 20;


// этот код не работает

var c;

c= 20;

Во-вторых, мы не можем указать в качестве значения неявно типизируемой переменной null:

// этот код не работает

var c=null;

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

double или decimal

Из выше перечисленного списка типов данных очевидно, что если мы хотим использовать в программе числа до 256, то для их хранения мы можем использоват переменные типа byte. При использовании больших значений мы можем взять тип short, int, long. То же самое для дробных чисел - для обычных дробных чисел можно взять тип float, для очень больших дробных чисел - тип double. Тип decimal здесь стоит особняком в том плане, что несмотря на большую разрядность по сравнению с типом double, тип double может хранить большее значение. Однако значение decimal может содержать до 28-29 знаков после запятой, тогда как значение типа double - 15-16 знаков после запятой.

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


Decimal

Double

Наибольшее значение

~1028

~10308

Наименьшее значение (без учета нуля)

10-28

~10-323

Знаков после запятой

28-29

15-16

Разрядность

16 байт

8 байт

Операций в секунду

сотни миллионов

миллиарды


Преподаватель____________ Аубакирова М.Ж.

Аукцион знаний


1. Цели и задачи: 

 - способствовать развитию интеллектуальных способностей обучающихся;

- расширить знания по ООП.

 2. Участники: Вся подгруппа

3. Условия и порядок проведения:  

 Правила игры:

- все играют одновременно, в одном помещении;

- всем одновременно задаются одни и те же вопросы;

 - на обдумывание ответа дается 30 секунд;

- за каждый правильный ответ студент получает 1 балл.

7. Награждение участников: Студент, занявший призовые места в игре, награждаются грамотами.

8. Для проведения игры должны быть изготовлены специальные деньги – квантики, номиналом 10 квантов, 20 квантов, 50 квантов и 100 квантов; необходима мультимедийная установка или интеракивная доска для просмотра презентации.  Музыка для заполнения паузы в игре.

 

Ход игры:

Ведущий:

Здравствуйте, дорогие друзья! Мы рады приветствовать в стенах нашей школы интеллектуальную элиту! Мы приветствуем тех, кто своим умом, эрудицией завоевали честь представлять команду своего  родного класса. Наша игра называется «Аукцион знаний», где благодаря своим знаниям, вы сможете заработать себе капитал из наших условных единиц – квантов.

Что же такое аукцион?

  Аукцио́н — публичная продажа товаров  и других объектов, которая производится по заранее установленным правилам аукциона. В этом случае объект приобретается победителем аукциона. Общим для всех аукционов принципом является принцип состязательности между покупателями. В процессе состязания между покупателями за право приобрести товар выявляется победитель аукциона. Победителем аукциона признаётся лицо, выигравшее аукцион в соответствии с его правилами.

     Прослушайте правила нашего   аукциона.

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

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

     Давайте сначала познакомимся.

    (Проводится жеребъевка)






Вопросы на 10 квантов

  1. Что такое инкапсуляция

  2. Что такое полиморфизм


Вопросы на 30 квантов

  1. Класс

  2. Объект


Вопросы на 50 квантов


  1. Наследование

  2. Роль платформы .NET

  3. Интерфейсы


Вопросы на 70 квантов

  1. Операторы присваивания, ввода-вывода.

  2. Условный оператор if.


Вопросы на 90 квантов


  1. Конструкторы и деструкторы.

  2. Внешнее описание методов класса.

  3. Множественное наследование.

  4. Виртуальные функции.






Преподаватель____________ Аубакирова М.Ж.



Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!