Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Тема. Мови програмування, програмний код, середовище розроблення програм. Етапи Розв'язування задач↑ Стр 1 из 5Следующая ⇒ Содержание книги
Похожие статьи вашей тематики
Поиск на нашем сайте
Клас. Академ УРОК №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; просмотров: 540; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 18.188.113.189 (0.014 с.) |