Тема. Мови програмування, програмний код, середовище розроблення програм. Етапи Розв'язування задач 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Тема. Мови програмування, програмний код, середовище розроблення програм. Етапи Розв'язування задач



Клас. Академ УРОК №2

Тема. Мови програмування, програмний код, середовище розроблення програм. Етапи розв'язування задач

Мета:

формувати:

• на основі життєвого досвіду учнів поняття про основні етапи розв'язування задач;

• поняття мови програмування;

• уявлення про різні методи подання алгоритмів;

• загальні основи візуального та структурного програмування;

• вміння чітко й лаконічно висловлювати думки; навчити використовувати:

• середовище програмування для реалізації алгоритмів; виховувати:

• уважність, дисциплінованість під час роботи на ПК.

Тип уроку: засвоєння нових знань, формування вмінь.

Базові поняття й терміни: мова програмування, програма, програмний код, середовище програмування.

Структура уроку

І. Організацйний етап...........................1-2 хв

II. Перевірка домашнього завдання.................1-2 хв

III. Актуалізація опорних знань....................3-5 хв

IV. Мотивація навчальної діяльності................2-3 хв

V. Сприйняття й усвідомлення нового матеріалу.... 15-20 хв

1. Основні поняття програмування.

2. Ознайомлення із середовищами програмування.

VI. Застосування знань, умінь та навичок..........15-20 хв

VII. Підбиття підсумків уроку.......................2-3 хв

VIII. Домашнє завдання............................1-2 хв

Хід уроку

I. ОРГАНІЗАЦІЙНИЙ ЕТАП

II. ПЕРЕВІРКА ДОМАШНЬОГО ЗАВДАННЯ

III. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ

►► Фронтальне опитування

1. Поясніть різницю між термінами проектування, моделювання, програмування.

2. Проект (пояснити, навести приклад).

3. Модель (пояснити, навести приклад).

4. Алгоритм, програма (пояснити, навести приклад).

IV. МОТИВАЦІЯ НАВЧАЛЬНОЇ ДІЯЛЬНОСТІ

 

►► Прийом «Практичність теорії»

Учитель. Під час розв'язування реальних практичних задач алгоритми та програми є досить складними, їх розмір може сягати тисяч, десятків тисяч рядків. Як розв'язувати такі задачі? Напри­клад, програми ОС Windows містять понад 1 млн рядків вихідного тексту. Чи можливо утримати в пам'яті такий об'єм інформації? Як у такому випадку чинять програмісти? На ці запитання ви знай­дете відповіді на цьому уроці. Оголошення теми уроку.

Усім відома фраза «Розділяй і владарюй». Цей принцип вико­ристовують і для конструювання складних алгоритмів, в інформа­тиці його називають принципом структурного програмування.

 

V. СПРИЙНЯТТЯ Й УСВІДОМЛЕННЯ НОВОГО МАТЕРІАЛУ

Основні поняття програмування

Тези

Мова програмування — це формальна система позначень, при­значена для написання програм і зрозуміла для виконавця (комп'ютера).

Програма (program, routine) — упорядкована послідовність ко­манд (інструкцій) для комп'ютера, що становлять запис алгоритму мовою програмування.

Програмне забезпечення (software) — сукупність програм обро­блення даних та необхідних для їх експлуатації документів. Про­грами призначені для машинної реалізації завдань.

Додаток, або програма (application) — програмна реалізація на комп'ютері розв'язання задачі.

 

Структурне програмування

Структурне програмування — це процес побудови алгоритмів та програм, що виконується у такій послідовності:

1. Попередній аналіз задачі з метою розбити її на окремі прості частини (модулі). Для цього спочатку складають загальну схе­му алгоритму, а потім її деталізують.

2. Послідовна (зверху донизу) деталізація частин та складання програм для кожного з модулів (об'єктів). Виділяють основну частину та частини нижнього рівня. Кожну частину розробля­ють окремо: спочатку частини верхнього рівня, а потім — ниж­нього. Урешті-решт частини з'єднують між собою.

Для структурного програмування характерне:

1) використання трьох базових структур алгоритмів (слідування, розгалуження і циклу) під час роботи з кожним модулем. (На­ведення прикладів використання зазначених структур.);

2) коментування текстів програм;

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

4) передбачається система тестів для перевірки правильності про­грами.

 

Об'єктно-орієнтовне програмування

Алгоритми, реалізовані в процедурному програмуванні, над­то конкретні. Будь-яка модифікація — це вже новий алгоритм, і таким чином кількість процедур і функцій, що знаходяться у ви­користанні, надмірно зростає.

Об'єктно-орієнтоване програмування є способом організації програми. Цей підхід має кілька ключових концепцій — об'єкти і класи, інкапсуляція, наслідування та поліморфізм. Коротко об­говоримо кожну з них.

Об'єкт - головний компонент об'єктно-орієнтованої програми, що являє собою поєднання даних та дій, що виконуються над ними. І замість того щоб розглядати програму як набір послідовно виконуваних ін­струкцій, в ООП програма має вигляд сукупності об'єктів.

Функції об'єкта називають методами (або функціями-членами), вони зазвичай призначені для доступу до даних об'єкта. Прямий до­ступ до даних неможливий. Дані приховані від зовнішнього впли­ву, що захищає їх від випадкового змінення. Говорять, що дані та методи інкапсульовані.

Аналогія. Уявити собі об'єкти можна, наприклад, чимось на зразок компанії з відділами бухгалтерії, продажу, кадрів тощо. Ділення на відділи є важливою частиною структурної організації фірми. У більшості компаній в обов'язки співробітника не вхо­дить розв'язування одночасно кадрових, торгівельних та обліково-бухгалтерських питань. Обов'язки чітко розподілено між підроз­ділами, і в кожного підрозділу є дані, з якими він працює: в бух­галтерії — заробітна плата, у відділу продажу — відомості щодо торгівлі, у відділу кадрів — персональна інформація про співро­бітників. Співробітники кожного відділу виконують операції лише з тими даними, які стосуються цього відділу. Якщо в менеджера з продажу виникне необхідність дізнатися про сумарну заробітну плату співробітників за серпень, то йому не потрібно буде самому йти до бухгалтерії та ритися в паперах. Йому буде достатньо зроби­ти запит компетентній особі. Така схема дозволяє забезпечити пра­вильне оброблення даних, а також її захист від можливого впливу сторонніх осіб.

Класи

Хоча кожен об'єкт є унікальним, він належить до певної кате­горії, що називають класом. І коли ми говоримо про об'єкти, має­мо на увазі, що вони є екземплярами класів. Що це означає? Клас є своєрідною формою (зразком), що визначає, які дані й функції будуть включені в об'єкт цього класу. Тобто клас можна вважати певним шаблоном, що визначає формат об'єкта.

Аналогія. Хоча мій PC є унікальним, він належить до класу персональних комп'ютерів, так само як і ваші комп'ютери. Проте, кожна машина працює в різних умовах (різні версії Windows, файли, папки тощо) та виконує різні задачі (бух. облік, набір текстів, проек­тування техніки, діагностика хворого тощо). Але при цьому вони всі виконують такі задачі, які визначає клас. Іншими словами, я не ке­рую своїм PC як автомобілем. Аналогічно, жодна з наших машин не має властивостей поза класом персональних комп'ютерів — напри­клад, не використовує як джерело енергії ядерну енергію. Кожен PC — екземпляр класу персональних комп'ютерів.

Наслідування

Поняття класу приводить нас до поняття наслідування. У по­всякденному житті ми часто стикаємося з розбиванням класів на підкласи: наприклад, клас «хордові» можна розбити на підкласи риби, земноводні, плазуни, птахи, ссавці. Клас «міський тран­спорт» поділяється на підкласи трамваї, тролейбуси, автобуси, ме­тро, таксі тощо. Принцип, покладений в основу такого поділу, по­лягає в тому, що кожен підклас має властивості, притаманні тому класу, з якого виділений цей підклас. Крім тих властивостей, які є загальними для класу та підкласу, підклас може мати й власні властивості.

У програмуванні клас також може породити безліч підкласів. Цю можливість називають наслідуванням. Наслідування — це можливість, яка дозволяє одному класу наслідувати властивості іншого. Клас, що породжує всі інші класи, називають базовим кла­сом. Класи, які наслідують базовий клас, називають похідними. Базовий клас містить елементи, спільні для групи похідних класів. А похідні класи наслідують усі його властивості, одночасно воло­діючи власними властивостями. Тобто кожен похідний клас є спе­ціалізованою версією базового класу. Роль наслідування в ООП — скоротити розмір коду та спростити зв'язки між елементами про­грами.

Повторне використання коду

В ООП концепція наслідування відкриває нові можливості про­грамування. А саме можливості повторного використання коду. Мова йде про те, що розроблений клас може бути використаний в інших програмах. Цю властивість називають можливістю по­вторного використання коду.

Програміст може взяти існуючий клас та, нічого не змінюючи, додати до нього свої елементи. Усі похідні класи унаслідують ці змі­ни, водночас кожен із похідних класів можна модифікувати окре­мо. Наприклад, ви (чи хтось інший) розробили клас, що має систе­му меню, аналогічну графічному інтерфейсу Windows. Ви не хочете змінювати цей клас, але вам необхідно додати ще один пункт меню. У цьому випадку ви створюєте новий клас, що наслідує всі власти­вості вихідного класу, й додаєте до нього необхідний код.

Легкість повторного використання коду вже написаних про­грам є важливою перевагою ООП.

Інтегроване середовище розроблення (ІСР) — від Integrated Development Environment — це комп'ютерна програма, що допо­магає програмістові розробляти нове програмне забезпечення чи модифікувати (удосконалювати) вже існуюче.

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

Клас. Академ УРОК № 3

Структура уроку

І. Організаційний етап............................1—2 хв

II. Перевірка домашнього завдання..................2-3 хв

III. Актуалізація опорних знань.....................2-3 хв

IV. Мотивація навчальної діяльності.................1-3 хв

V. Сприйняття та усвідомлення нового матеріалу... 15-20 хв

1. Програма та її складові.

2. Візуальне середовище програмування.

3. Об'єкт та його властивості. Елементи інтерфейсу користувача як об'єкти. Поняття про методи об'єкта.

4. Поняття події та обробника події.

VI. Застосування знань, умінь і навичок............15-20 хв

VII. Підбиття підсумків уроку.......................5-8 хв

VIII. Домашнє завдання............................1-2 хв

 

Хід уроку

I. ОРГАНІЗАЦІЙНИЙ ЕТАП

Привітання. Підготовка класу до заняття. Оголошення теми уроку.

II. ПЕРЕВІРКА ДОМАШНЬОГО ЗАВДАННЯ

III. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ

Учитель. На минулому уроці ви спробували розв'язувати за­дачі в різних середовищах програмування. Нагадаємо основні при­йоми роботи із середовищем Microsoft Visual Studio 2010.

1. Назвіть основні кроки створення програми (проекту) з викорис­танням середовища програмування.

2. Які середовища програмування ви знаєте?

3. У чому різниця між консольним та візуальним режимами про­грамування?

4. Як запустити програму (проект) на виконання?

5. Куди зберігаються створені програми (проекти)?

IV. МОТИВАЦІЯ НАВЧАЛЬНОЇ ДІЯЛЬНОСТІ

V. СПРИЙНЯТТЯ ТА УСВІДОМЛЕННЯ НОВОГО МАТЕРІАЛУ (ЛЕКЦІЯ З ДЕМОНСТРУВАННЯМ)

MS Visual Studio — лінійка продуктів компанії Microsoft, що вміщують інтегроване середовище розроблення програмного забез­печення і ряд інших інструментальних засобів.

Середовище розроблення Visual Studio є повним набором інстру­ментів для створення як настільних додатків, так і корпоративних веб-додатків для спільної роботи груп. Використовуючи ефективні інструменти розроблення Visual Studio, засновані на використанні компонентів, та інші технології, можна не тільки створювати ефек­тивні настільні додатки, але й спрощувати спільне проектування, розроблення і розгортання корпоративних рішень.

 

Під час створення нового проекту користувачеві пропонується вибрати тип проекту (див. рис).

Частина програмного коду формується автоматично. Для за­пуску проекту на виконання використовують команду з головного меню Налагодження —> Розпочати налагодження (F5).

Об'єкт та його властивості. Елементи інтерфейсу користувача як об'єкти. Поняття про методи об'єкта

Об'єкт складається з таких трьох частин:

• ім'я об'єкта;

• стан (змінні стани);

• методи (операції).

Об'єкт ООП — це сукупність змінних стану і пов'язаних з ними методів (операцій). Ці методи визначають, як об'єкт взаємодіє з на­вколишнім світом.

А тепер узагальнимо декілька термінів ООП.

Клас (class) — це група даних і методів (функцій) для роботи з цими даними.

На цьому етапі сприймайте клас як шаблон об'єкта. Для форму­вання якого-небудь реального об'єкта необхідно мати шаблон, на підставі якого і будується створюваний об'єкт.

Методи (methods) — це функції (процедури), що можна вико­ристовувати для певного класу.

Об'єктами можуть бути також елементи інтерфейсу додатка.

Клас. Академ УРОК №4

Виконання дій над проектом

VI. ЗАСТОСУВАННЯ ЗНАНЬ, УМІНЬ ТА НАВИЧОК

►► Розв'язування задач

Створити проект розв'язання задачі — Project-2.

За катетами прямокутного трикутника обчислити гіпотенузу, периметр та площу.

Створення інтерфейсу проекту з поясненнями та демонструван­ням.

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

namespace Project_2

{

publicpartialclassForml: Form

{

public Forml()

{

InitializeComponent();

}

privatevoid button1 Click(object sender, EventArgs e)

{

double a, b, c, p, s;

a = Convert. ToDouble (textBoxl. Text);

b = Convert. ToDouble (textBox2. Text);

c = Math. Sqrt (a*a+b*b); //Клас Math містить математичні функціі.

p = a + b + c;

s = a * b / 2;

textBox3.Text = ""+c;

textBox4.Text = ""+p;

textBox5.Text = ""+s; //Виведення числових даних відбувається з неявним пе­ретворенням на рядок символів.

}

privatevoid button2 Click(object sender, EventArgs e)

{

textBoxl.Text = ""+0;

textBox2.Text = ""+0;

textBox3. Text = "";

textBox4.Text = "";

textBox5. Text = "";

}

privatevoid button3 Click(object sender, EventArgs e)

{

Close();

} } }

 

!!!Код, надрукований курсивом, уводить користувач!!!

 

Клас. Академ УРОК №6

Структура уроку

І. Організаційний етап...........................1-2 хв

II. Перевірка домашнього завдання.................1-3 хв

III. Актуалізація опорних знань....................3-5 хв

IV. Мотивація навчальної діяльності................2-3 хв

V. Сприйняття та усвідомлення нового матеріалу... 15-20 хв

1. Об'єкти та їх властивості.

2. Встановлення значень властивостей.

VI. Застосування знань, умінь та навичок..........15-20 хв

VII. Підбиття підсумків уроку.......................1-3 хв

VIII. Домашнє завдання............................1-2 хв

Хід уроку

І. ОРГАНІЗАЦІЙНИЙ ЕТАП

Привітання. Підготовка класу до занять. Оголошення теми, мети і завдань уроку.

II. ПЕРЕВІРКА ДОМАШНЬОГО ЗАВДАННЯ

III. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ

►► Фронтальне опитування

1. Які файли належать до складу проекту?

2. Яким чином можна додати об'єкт на форму?

3. Які властивості об'єктів вам знайомі?

4. Як можна змінити розміри об'єкта?

5. Що таке подія?

6. Як ви розумієте поняття «код обробника події»?

7. Які об'єкти можна використати для виконання коду обробника події?

V. СПРИЙНЯТТЯ ТА УСВІДОМЛЕННЯ НОВОГО МАТЕРІАЛУ

Об'єкти та їх властивості

Властивості можна переглядати в алфавітному порядку та за категоріями.

 

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

2. Створити проект Windows Form.

3. Додати необхідні об'єкти на форму та розмістити їх.

4. Змінити властивості об'єктів.

5. Написати код обробників подій.

6. Запустити проект на виконання та налагодити його за потреби.

7. Зберегти проект.

 

using System;

using System.Collections.Generic

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

//програма працює в разі введення коректних даних

namespace Project_4

{

publicpartialclassForm1: Form

{ public Form1()

 

{

InitializeComponent();

}

 

//Встановлення адреси гіперпосилання

private void linkLabel1_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)

 

{

System.Diagnostics.Process.Start("http:\\ bilogiryanvk.ucoz.ru ");

}

 

private void button1_Click(object sender, EventArgs e)

{ double 1, d, h, s, rf, cf, kf, vart;

//Зчитування даних

1 = Convert.ToDouble(textBox1.Text);

d = Convert.ToDouble(textBox2.Text);

h = Convert.ToDouble(textBox3.Text);

rf = Convert.ToDouble(textBox4.Text);

cf = Convert.ToDouble(textBoxb.Text);

//Обчислення //Площа кімнати = площа стін + площа стелі

s = 2 * (1 + d) * h + 1 * d;

kf = s * rf;

vart = kf * cf;

//Виведення отриманих результатів

textBox6.Text = "" + kf;

textBox7.Text = "" + vart;

}

 

private void button2_Click(object sender, EventArgs e)

{

//Очищення полів додатка

textBox1.Text = "";

textBox2.Text = "";

textBox3.Text = "";

textBox4.Text = "";

textBox5.Text = "";

textBox6.Text = "";

textBox7.Text = "";

}

 

private void button3_Click(object sender, EventArgs e)

{

//Закривання додатка

Close ();

}

 

private void калькулятор ToolStripMenuItem_Click (object sender, EventArgs e)

{

//Запуск стандартного калькулятора.

Файл calc.exe

скопійовано в папку проекту

System.Diagnostics.Process.Start("calc.exe");

}

 

private void вихідToolStripMenuItem1_Click (object

sender, EventArgs e)

{

//Закривання додатка

Close ();

}

 

private void обчислити ToolStripMenuItem_Click(object

sender, EventArgs e)

{

//Запуск обробника для Button1 через меню button1_Click(sender, e);

}

 

private void очиститиToolStripMenuItem_Click(object

sender, EventArgs e)

{

//Запуск обробника для Button2 через меню button2_Click(sender, e);

}

 

private void вихідToolStripMenuItem_Click(object sender, EventArgs e)

{

//Запуск обробника для Button3 через меню button3_Click(sender, e);

} } }

 

VI. ЗАСТОСУВАННЯ ЗНАНЬ, УМІНЬ ТА НАВИЧОК

Інструктивна картка

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

2. Створити проект Windows Form з назвою Project-PR5.

3. Додати необхідні об'єкти на форму, використовуючи як зразок проект, розглянутий у ході уроку.

4. Змінити властивості об'єктів.

5. Написати код обробників подій.

6. Запустити проект на виконання та перевірити його працездат­ність.

7. Зберегти проект (C:\11 form Projects\Project-PR5\).

 

Клас. Академ. УРОК №7

Структура уроку

І. Організаційний етап...........................1-2 хв

II. Перевірка домашнього завдання.................1-2 хв

III. Актуалізація опорних знань....................3-5 хв

IV. Мотивація навчальної діяльності................2-3 хв

V. Сприйняття та усвідомлення нового матеріалу... 15—20 хв

1. Система типів.NET. Вбудовані типи даних у CTS.

2. Оголошення та ініціалізація змінних.

3. Константи.

4. Область видимості та час існування змінної.

5. Оператор присвоювання.

6. Літерали.

7. Зведення типів даних.

8. Поняття стеку і купи.

VI. Застосування знань, умінь та навичок..........15—20 хв

VII. Підбиття підсумків уроку.......................2-3 хв

VIII. Домашнє завдання............................1-2 хв

 

Хід уроку

I. ОРГАНІЗАЦІЙНИЙ ЕТАП

Привітання. Підготовка класу до занять. Оголошення теми, мети і завдань уроку.

II. ПЕРЕВІРКА ДОМАШНЬОГО ЗАВДАННЯ

III. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ

►► Фронтальне опитування

1. Які об'єкти можна додавати на форму?

2. Які групи властивостей має довільний об'єкт?

3. Яка властивість відповідає за:

• текст, що відображається на елементі;

• колір фону;

• розміщення;

• відображення об'єкта на формі?

IV. МОТИВАЦІЯ НАВЧАЛЬНОЇ ДІЯЛЬНОСТІ Обговорити повідомлення.

Історично найбільш поширеною для мов програмування є сувора типізація. За такого формування системи типів у мові в будь-який момент існування будь-якого мовного об'єкта іс­нує однозначна відповідність між об'єктом і його типом. Інши­ми словами, можна запрограмувати функцію, що визначає тип об'єкта, подібну до раніше розглянутої нами функції type of мови програмування С #. Чітко типізованими є класичні імпе­ративні мови програмування Pascal, FORTRAN, PL/I та інші. Зазначимо, що класичний варіант мови програмування С не є су­воро типізованим.

Типізація необхідна для забезпечення коректності зв'я­зування змінних зі значеннями до виконання програми. Таким чином, кожен вираз мови програмування із сильною типізаці­єю щодо успішного завершення аналізу коректності типізації є коректно типізованими. Прикладом мови програмування із сильною типізацією є SML. Використання механізму виведення типів гарантує сильну типізацію навіть за відсутності чіткос­ті. Мову програмування, яка не має сильної системи типізації, можна назвати мовою зі слабкою типізацією.

V. СПРИЙНЯТТЯ ТА УСВІДОМЛЕННЯ НОВОГО МАТЕРІАЛУ

Клас Student

class Student

{

privateint age;

publicint GetAge()

{

return age; } }

Перелічувальні типи

Перелічувальні типи — це зручна програмна конструкція, що дозволяє групувати пари ім'я-значення. Наприклад, припустімо, що ви створюєте гру про НаУ «ОА», яка дозволяє гравцеві вибирати одну з категорій персонажів (Student, Teacher, Dekan, Rector), які по суті надають різні рівні доступу до інформації. Логічно, можна було б це зобразити у вигляді списку цілочислових значень:

int Student = 0;

int Teacher = 1;

int Dekan = 2;

int Rector = 3.

Замість числових значень ви можете створити перелічувальний тип, використовуючи ключове слово enum.

Наприклад

Оголошення змінних

int а;

float Number;

double salary;

string name;

bool Present;

decimal count;

Можна оголосити змінну будь-якого допустимого типу. Під час створення змінної створюється екземпляр відповідного типу. Таким чином, можливості змінної визначаються її типом. Напри­клад, змінну типу bool не можна використовувати для зберігання значень із плаваючою точкою. Більш того, тип змінної неможливо змінити під час її існування. Наприклад, змінну типу int не можна перетворити на змінну типу char.

Усі змінні в С# потрібно оголосити до їх використання. Це ви­мога компілятора, оскільки перш ніж скомпілювати належним чи­ном інструкцію, у якій використовується змінна, він повинен «зна­ти» тип інформації, що міститься в ній.

Окрім типів, змінні розрізняють за іншими ознаками. Напри­клад, змінні, які ми використовували в прикладах програм до цих пір, називають локальними, оскільки їх оголошують усередині ме­тоду.

Ініціалізація змінних

Змінна до використання повинна набути значення. Це мож­на зробити за допомогою інструкції присвоювання. Можна також присвоїти змінній початкове значення одночасно з її оголошенням. Для цього досить після імені змінної вказати знак «=» і значення. Загальний формат ініціалізації змінної має такий вигляд:

тип ім'я зміннної = значення;

Наприклад

Ініціалізація змінних

int a = 100;

float Number = 1145f;

double s = 150;

string name = "Ivan";

bool Present = true;

decimal count = 0.0001;

char symbol = 'R/;

У разі оголошення двох або більше змінних одного типу за допо­могою списку (з розділенням елементів списку комами) одній або декільком із цих змінних можна присвоїти початкові значення.

Наприклад', int а = 10, b, u = 150, с;.

Динамічна ініціалізація

Хоча в попередніх прикладах як ініціалізатори були викорис­тані лише константи, С# дозволяє ініціалізувати змінні динаміч­но. Розглянемо програму, яка обчислює гіпотенузу прямокутного трикутника.

Наприклад

Константи

Математична константа — величина, значення якої не змі­нюється; у цьому вона протилежна змінній.

Константа в програмуванні — це спосіб адресації до даних, зміна яких цією програмою заборонена. Використання констант — потуж­ний інструмент, що підвищує надійність і безпомилковість програм. У мові програмування С# також існують константи, які оголошують за допомогою ключового слова const. Значення, яке присвоюється константі, повинне бути відоме ще на етапі компіляції.

Наприклад

Оголошення та ініціалізація констант

conststring spec = "економіка";

constdouble PI = 3.14;

constbool T = true;

constchar Sym = 'i';

Область видимості змінної

(Опис для консольного режиму, аналогічно все відбувається і в коді обробників візуального режиму.)

publicstaticvoid Main()

{

int x; // Змінна відома у межах всього коду метода

Main ()

х = 10;

if (x == 10)

{ // Початок нової області видимості int у = 20; // Змінна відома лише цьому блоку

Console.WriteLine("х та у: " + х + " " + у);

х = у * 2; }

// у = 100; //- помилка у - не існує

Console.WriteLine("x: " + х);

}

Як написано в коментарях, змінна х оголошується на початку об­ласті видимості методу Маіп(), і тому доступна всьому подальшому коду методу. Усередині блоку інструкції if оголошується змінна у. А оскільки блок визначає зону видимості, то змінна у видима лише коду всередині цього блоку. Тому, знаходячись поза цим блоком, про­грамний рядок у = 100; викликає помилку, змінна у тут невідома.

Змінні створюються після входу в їх область видимості, а зни­щуються під час виходу з неї.

Оператор присвоювання

Присвоювання можна здійснити так:

int a,b,c; int d=c=b=c=3.

У а • a a ^ m m в • a

результаті виконання коду всі змінні будуть ініціалізовані

значенням 3.

У С#, так само як і в C++, є складений оператор присвоювання. Для виразу я = # + 10 складений оператор матиме вигляд: х +=10. Складений оператор означає додавання до поточного значення пев­ного числа. Аналогічні операції можна застосовувати й до інших операторів: -= *= /= %=.

Літерали

У програмах, написаних мовами високого рівня (у тому числі С#), літералами називають послідовність символів, що належать до алфавіту мови програмування і забезпечують явне подання зна­чень, які використовуються для позначення початкових значень в оголошенні членів класів, змінних і констант у методах класу. Розрізняють літерали арифметичні (різних типів), логічні, сим­вольні (включаючи Escape-послідовності), рядкові.

Арифметичні літерали

Арифметичні літерали кодують значення різних (арифметич­них) типів. Тип арифметичного літерала визначають за такими ін­туїтивно зрозумілими зовнішніми ознаками:

стандартний зовнішній вигляд. Значення цілочислового типу зазвичай кодується інтуїтивно зрозумілою послідовністю символів '1'..., '9', '0'. Значення плаваючого типу також передбачає стандартний вигляд (крапка-роздільник між цілою і дробовою частиною або наукова чи експоненціальна нотація -1.2500Е+052). Шістнадцяткове подання цілочисельного значення кодується піістнадцятковим літералом, що складається із символів '0'..., '9', а також 'а'..., 'f, або 'А'..., 'F' з префіксом 'Ох';

власне значення. 32 780 не може бути значенням типу short;

додатковий суфікс. Суфікси 1, L відповідають типу long; ul, UL — unsigned long; f, F — float; d, D — decimal. Значення типу double кодуються без префікса.

Логічні літерали

До логічних літералів належать такі послідовності символів: true і false. Більше логічних літералів у С# немає.

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

Це одиничні символи в одинарних лапках, що вводять з клаві­атури: 'X', 'р', 'Q', '7', а також цілочислові значення в діапазоні від 0 до 65535, перед якими вводять конструкцію вигляду (char) — операція явного зведення до типу char: (char)34 - "".

Наступні взяті в одинарні лапки послідовності символів є Escape-послідовностями. Цю категорію літералів використовують для створення додаткових ефектів (дзвінок), простого форматуван­ня інформації, що виводиться, і кодування символів під час виве­дення і порівняння (у виразах порівняння).

Рядкові літерали — це послідовність символів і символьних Escape-послідовностей, узятих у подвійні лапки.

Verbatim string — рядковий літерал, який компілятор інтерпре­тує так, як він записаний. Escape-послідовності сприймаються як послідовності символів.

Verbatim string зображують за допомогою символу @, який розташовується безпосередньо перед строковим літералом, узятим у парні подвійні лапки. Подвійні лапки в Verbatim string дублю­ються.

... : \\Му DocumentsWsample. txt"...

...@"с:\Му Documents\sample.txt"...

Поняття стеку і купи

Стек належить до області пам'яті, підтримуваної процесором, у якій зберігаються локальні змінні. Доступ до стека у багато ра­зів швидший, ніж до загальної області пам'яті, тому використан­ня стека для зберігання даних прискорює роботу вашої програми. У С# розмірні типи (наприклад, цілі числа) розташовуються в сте­ку: для їх значень зарезервована область в стеку, і доступ до неї здійснюється за назвою змінної.

Посилальні типи (наприклад, об'єкти) розташовую у купі. Купа — це оперативна пам'ять вашого комп'ютера. Доступ до неї здійснюється повільніше, ніж до стека. Коли об'єкт розташо­вується в купі, то змінна зберігає лише адресу об'єкта. Ця адреса зберігається в стеку. За адресою програма має доступ до самого об'єкта, всі дані якого зберігаються в загальній пам'яті (купі).

«Збиральник сміття» (Garbage Collector) знищує об'єкти, роз­ташовані в стеку, щоразу, коли відповідна змінна виходить за об­ласть видимості. Таким чином, якщо ви оголошуєте локальну змінну в межах функції, то об'єкт буде позначений як об'єкт для «збирання сміття». І він буде видалений із пам'яті після завершен­ня роботи функції. Об'єкти в купі теж очищаються збиральником сміття після того, як кінцеве посилання на них буде знищено.

VI. ЗАСТОСУВАННЯ ЗНАНЬ, УМІНЬ ТА НАВИЧОК

►► Самостійна робота

Інструктаж із техніки безпеки.

1. Створити додаток, який обчислює значення виразу:

2. Створити додаток, який обчислює суму, добуток, різницю, частку та остачу від ділення двох заданих чисел.

3. Створити додаток, який конвертує суму грн у euro.

4. Обчислити ціну покупки, якщо відомо:

• ціну за одиницю товару;

• кількість товару;

• знижку (у % від загальної суми).

5. Дано сторону квадрата (вводить з клавіатури користувач). Ви­значити довжину діагоналі.

Учні виконують комплекс вправ для зняття зорової втоми (варіант 1 або 2). Вправи проводить староста класу (групи) або його заступник.

►► Самостійна робота

Створити проект розв'язування задач. Початковий та середній рівні навчальних досягнень

1. Обчислити площу та периметр прямокутника, якщо відомо його сторони.

2. Створити додаток, який обчислює значення виразу:

Достатній та високий рівні навчальних досягнень

1. Обчислити радіус круга, якщо відомо його площу.

2. Створити додаток, який обчислює значення виразу:

Інструктивна картка

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

2. Створити проект Windows Form із назвою Project-5.

3. Додати необхідні об'єкти на форму, використовуючи як зразок проект, розглянутий у ході уроку.

4. Змінити властивості об'єктів.

5. Написати код обробників подій.

6. Запустити проект на виконання та перевірити його працездат­ність.

7. Зберегти проект (C:\ll form Projects\Project-5\).

VII. ПІДБИТТЯ ПІДСУМКІВ УРОКУ

Учитель оцінює роботу учнів на уроці.

VIII. ДОМАШНЄ ЗАВДАННЯ

Опрацювати конспект уроку та відповідний розділ підручника.

 

 


Клас. Академ. УРОК №8

Структура уроку

І. Організаційний етап...........................1-2 хв

II. Перевірка домашнього завдання.................2-3 хв

III. Актуалізація опорних знань....................3-5 хв

IV. Мотивація навчальної діяльності................2-3 хв

V. Сприйняття та усвідомлення нового матеріалу... 15-20 хв 1. Операції та вирази.

2. Інкремент і декремент.

3. Клас Math і його функції.

4. Клас Random і його функції.

VI. Застосування знань, умінь та навичок..........15-20 хв

VII. Підбиття підсумків уроку.......................2-3 хв

VIII. Домашнє завдання............................1-2 хв

 

Хід уроку

І. ОРГАНІЗАЦІЙНИЙ ЕТАП

Привітання. Підготовка класу до занять. Оголошення теми, мети і завдань уроку.

II. ПЕРЕВІРКА ДОМАШНЬОГО ЗАВДАННЯ

III. АКТУАЛІЗАЦІЯ ОПОРНИХ ЗНАНЬ

►► Письмова робота

1. Укажіть можливі типи даних для величин:

123 —

'с' —

1258 —

3.25 —

8.96*1030 —

2. Сформулюйте означення понять: Змінна —

Константа —

Тип даних —

Стек —

IV. МОТИВАЦІЯ НАВЧАЛЬНОЇ ДІЯЛЬНОСТІ

Обговорити повідомлення.

Прикладами операцій є додавання, віднімання, множення та ділен­ня. Ви користуєтеся ними з першого класу. У мовах програмування іс­нують й інші операції, зокрема це операції, призначені для виконання складних математичних обчислень та поєднання рядків тексту.

Операції зазвичай виконують над двома значеннями, хоча деякі — лише над одним. Значення називають операндами. Ось основний син­таксис використання операцій:

операнді операція операнд2

Наприклад, 3 + 4.

У виразі 3 + 4 — два операнди (3 та 4), що з'єднуються операцією додавання (+). Інакше кажучи, операцію (у цьому випадку додавання) виконують над двома операндами.

 

Операції та вирази

У С# передбачений широкий набір операторів, які надають програмістові потужні важелі керування під час створення виразів і їх обчислення. У С# є чотири загальні класи операторів: • арифметичні;

порозрядні;

логічні;

оператори відношення.

Арифметичні оператори

Оператор Дія
+ Додавання
- Віднімання, унарний мінус
* Множення
Оператор Дія
/ Ділення
% Ділення за модулем
-- Декремент
++ Інкремент

Дія С#-операторів +, - * і / збігається із дією аналогічних опе­раторів у будь-якій іншій мові програмування (і в алгебрі). їх мож­на застосовувати до даних будь-якого вбудованого числового типу.

Перш за все хочу нагадати, що після застосування оператора ділення (/) до цілого числа остачу буде відкинуто. Наприклад, ре­зультат цілочислового ділення 10/3 дорівнюватиме 3. Остачу від ділення можна дістати за допомогою оператора ділення за модулем (%). Цей оператор працює практично так само, як в інших мовах програмування: повертає залишок від ділення без остачі. Напри­клад, 10 % від 3 дорівнює 1. У С# оператор % можна застосувати як до цілочислових типів, так і типів із плаваючою крапкою. На­приклад, 10,0% від 3,0 також дорівнює 1. (У мовах C/C++ операції ділення за модулем застосовні лише до цілочислових типів.)

Інкремент і декремент

Оператори інкремента (++) і декремента (—) збільшують і змен­шують значення операнда на одиницю відповідно. Як буде показа­но нижче, ці оператори мають спеціальні властивості, які роблять їх цікавими для розгляду. Отже, оператор інкремента виконує до­давання операнда до числа 1, а оператор декремента віднімає 1 від свого операнда.

Це означає, що інструкція:

х = х +1 аналогічна такій інструкції: х++.

Так само інструкція:

х = х -1 аналогічна такій інструкції: х—.

Оператори інкремента і декремента можуть стояти як перед своїм операндом, так і після нього. Наприклад, інструкцію

х = х-1

можна переписати у вигляді префіксної форми:

++х; // Префіксна форма оператора інкремента



Поделиться:


Последнее изменение этой страницы: 2016-09-18; просмотров: 509; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.143.17.128 (0.345 с.)