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

Характеристика мов програмування. Історія виникнення мови C#, її особливості, версії та нові можливості. Приклад програм виведення на екран, виведення поточної дати та часу та програми музичного програвача. Програмний код та результат виконання програм.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык украинский
Дата добавления 13.06.2012
Размер файла 321,3 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

1. Мета і задачіпрактики

Мета завдання - засвоєннятеоретичних та практичних знань з мови С#, з використанням програмного забезпечення MSVisualStudio 2010.

Задачі технологічної практики передбачають:

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

отримання практичних навичок при виконанні індивідуального завдання.

Під час проходження технічної практики студенти повинні:

отримати завдання від керівника (викладача, співробітника кафедри);

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

вивчити і суворо дотримуватись правил охорони праці, техніки безпеки і виробничої санітарії;

оформити звіт про проходження технічної практики.

Технічні засоби:під часпроходження практикибуловикористано програмне забезпечення MSVisualStudio 2010.

Вступ

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

Короткі відомості про мову програмування (С#):

C# (вимовляється Сі-шарп) -- об'єктно-орієнтована мова програмування з безпечною системою типізації для платформи .NET. РозробленаАндерсом Гейлсбергом, Скотом Вілтамутом та Пітером Гольде під егідою Microsoft Research (прифірмі Microsoft).

Синтаксис C# близькийдо С++ і Java. Мова має строгу статичну типізацію, підтримує поліморфізм, перевантаження операторів, вказівники на функції-члени класів, атрибути, події, властивості, винятки, коментарі у форматі XML. Перейнявши багато що від своїх попередників -- мов С++, Delphi, Модула і Smalltalk -- С#, спираючись на практику їхнього використання, виключає деякі моделі, що зарекомендували себе як проблематичні при розробці програмних систем: так, C# не підтримує множинне спадкування класів (на відміну від C++) або виведення типів (на відміну Haskell).

1. Історія виникнення мови C#

C# є дуже близьким родичем мови програмування Java. Мова Java була створена компанією SunMicrosystems, коли глобальний розвиток інтернету поставив задачу роззосереджених обчислень. Взявши за основу популярну мову C++, Java виключила з неї потенційно небезпечні речі (типу вказівників без контролю виходу за межі). Для роззосереджених обчислень була створена концепція віртуальної машини та машинно-незалежного байт-коду, свого роду посередника між вихідним текстом програм і апаратними інструкціями комп'ютера чи іншого інтелектуального пристрою.

Java набула чималої популярності, і була ліцензована також і компанією Microsoft. Але з плиномчасу Sun почалавинуватити Microsoft, щотаприствореннісвогоклону Java робитьїїсумісноювиключно з платформою Windows, чим суперечить самій концепції машинно-незалежного середовища виконання і порушує ліцензійну угоду. Microsoft відмовилася піти назустріч вимогам Sun, і тому з'ясування стосунків набуло статусу судового процесу. Суд визнав позицію Sun справедливою, і зобов'язав Microsoft відмовитися від позаліцензійного використання Java.

Нововведенням C# стала можливість легшої взаємодії, порівняно з мовами-попередниками, з кодом програм, написаних на інших мовах, що є важливим при створенні великих проектів. Якщо програми на різних мовах виконуються на платформі .NET, .NET бере на себе клопіт щодо сумісності програм (тобто типів даних, за кінцевим рахунком).

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

Назва мови: Символ # у назві мови можна інтерпретувати і як дві пари плюсів ++, що натякають на новий крок в розвитку мови в порівнянні з C++ (подібно до кроку від C до C++), і як музичний символ дієз, разом з буквою C, що становить в англійській мові назву ноти до-дієз. Останнє і дало назву мові. Попри те, що символ # (октоторп) насправді є символом для позначення номера на більшості клавіатур і відрізняється від символу дієз Ѓт (Unicode U+266F), Microsoft, як автор мови, неодноразово зверталася до своїх клієнтів з проханням прийняти таку стилізацію.

2. Особливості та версії мови С#

2.1 Особливості мови

C# розроблявся як мова програмування прикладного рівня для CLR і, як такий, залежить, перш за все, від можливостей самої CLR. Це стосується, перш за все, системи типів C#. Присутність або відсутність тих або інших виразних особливостей мови диктується тим, чи може конкретна мовна особливість бути трансльована у відповідні конструкції CLR. Так, з розвитком CLR від версії 1.1 до 2.0 значно збагатився і сам C#; подібної взаємодії слід чекати і надалі. (Проте ця закономірність буде порушена з виходом C# 3.0, що є розширеннями мови, що не спираються на розширення платформи .NET.) CLR надає C#, як і всім іншим .NET-орієнтованим мовам, багато можливостей, яких позбавлені «класичні» мови програмування. Наприклад, збірка сміття не реалізована в самому C#, а проводиться CLR для програм, написаних на C# точно так, як і це робиться для програм на VB.NET, J# тощо.

2.2 Версії

Версія 1.0

Проект C# був початий в грудні 1998 і отримав кодову назву COOL (C-styleObjectOrientedLanguage). Версія 1.0 була анонсована разом з платформою .NET у червні 2000 року, тоді ж з'явилася і перша загальнодоступна бета-версія; C# 1.0 остаточно вийшов разом з MicrosoftVisualStudio .NET у лютому 2002 року.

Версія 2.0

Проект специфікації C# 2.0 вперше був викладений Microsoft в жовтні 2003 року; у 2004 році виходили бета-версиі (проект з кодовою назвою Whidbey), C# 2.0 остаточно вийшов 7 листопада 2005 року разом з VisualStudio 2005 і .NET 2.0.

Нові можливості у версії 2.0:

Частковітипи (розділенняреалізаціїкласубільшніжнаодинфайл).

Узагальнені, або параметризовані типи (generics, «дженерики»). На відміну від шаблонів C++, вони підтримують деякі додаткові можливості і працюють на рівні віртуальної машини. Разом з тим, параметрами узагальненого типу не можуть бути вирази.

Нова форма ітератора, що дозволяє створювати співпрограми за допомогою ключового слова yield, подібно Python і Рубі.

Анонімні методи, що забезпечують функціональність замикання.

Оператор ??: returnobj1 ?? obj2; означає (у нотації C# 1.0) returnobj1!=null ? obj1 : obj2;.

Типи-значення, що обнуляються (nullable), (що позначаються знаком питання, наприклад, int? i = null;) є тими ж самими типами-значеннями, що можуть nfrj; приймати також значення null. Такі типи дозволяють поліпшити взаємодію з базами даних через мову SQL.

Версія 3.0

В червні 2004 року Андерс Гейлсберг вперше розповів на сайті Microsoft про плановані розширення мови в C#3.0.[1]. У вересні 2005 рокубуловипущенопроект специфікації C# 3.0 і бета-версія C# 3.0, щовстановлюється у виглядідоповненнядоіснуючих Visual Studio 2005 і .NET 2.0 [2]. Офіційно версія C# 3.0 побачила світ 19 листопада 2007 року у складі .NETFramework 3.5.

C# 3.0 буде сумісний з C# 2.0 за генерованим MSIL-кодом; поліпшення в мові -- чисто синтаксичні і реалізуються на етапі компіляції. Наприклад, багато з інтегрованих запитів LINQ можна реалізувати в поточних версіях використовуючи безіменні делегати в поєднанні з предикативними методами над контейнерами, на кшталт List.FindAll і List.RemoveAll.

Версія 4.0

Нові можливості в версії 4.0:

Динамічнатипізаціяоб'єктів:

Динамічнийперехід,

Динамічнийвикликметоду.

3. Індивідуальне завдання

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

Індивідуальне завдання на технологічну практику:

Приклад програми виведення на екран «Hello, world!».

Приклад програми виведення поточної дати та часу.

Приклад програми музичного програвача (У візуальному режимі).

Приклад програми виведення на екран «Hello, world!».

Програмний код:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace HelloWorld

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Hlleo, world!");

Console.ReadLine();

}

}

}

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

Приклад програми виведення поточної дати та часу.

Програмний код:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

namespace DateTime

{

class Program

{

static void Main(string[] args)

{

Console.WriteLine("Сьогоднiшнядата: " + System.DateTime.Now.ToLongDateString());

Console.WriteLine("Поточнийчас: " + System.DateTime.Now.ToLongTimeString());

Console.ReadLine();

}

}

}

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

Приклад програми музичного програвача (У візуальному режимі).

Програмний код:

using System;

using System.Collections.Generic;

using System.Text;

using System.Runtime.InteropServices;

namespace Media

{

public class Player

{

private String Pcommand;

private boolisOpen;

[DllImport("winmm.dll")]

private static extern long mciSendString(string strCommand, StringBuilderstrReturn, intiReturnLength, IntPtrhwndCallback);

private static Player player;

private intbaseVolumn;

private inttrebleVolumn;

private intleftVolumn;

private intrightVolumn;

private intmasterVolumn;

public Player()

{

this.Bass = 10 * 100;

this.LeftVolume = 10 * 100;

this.MasterVolume = 10 * 100;

this.RightVolume = 10 * 100;

this.Treble = 10 * 100;

}

public static Player GetPlayer()

{

if (player == null)

player = new Player();

return player;

}

public void Close()

{

Pcommand = "close MediaFile";

mciSendString(Pcommand, null, 0, IntPtr.Zero);

isOpen = false;

}

public void Open(string sFileName)

{

Pcommand = "open \"" + sFileName + "\" type mpegvideo alias MediaFile";

mciSendString(Pcommand, null, 0, IntPtr.Zero);

isOpen = true;

}

/// <summary>

/// Програвання вже відкритого файлу по кругу

/// </summary>

public void Play(bool loop)

{

if (isOpen)

{

Pcommand = "play MediaFile";

if (loop)

Pcommand += " REPEAT";

mciSendString(Pcommand, null, 0, IntPtr.Zero);

this.Bass = this.Bass;

this.LeftVolume = this.LeftVolume;

this.MasterVolume = this.MasterVolume;

this.RightVolume = this.RightVolume;

this.Treble = this.Treble;

}

}

/// <summary>

/// Програвання вибраного файлу

/// </summary>

public void Play(string FileName)

{

if (isOpen == true)

{

Close();

}

Open(FileName);

Play(false);

}

/// <summary>

/// Встановлення паузи

/// </summary>

public void Pause()

{

Pcommand = "pause MediaFile";

mciSendString(Pcommand, null, 0, IntPtr.Zero);

}

/// <summary>

/// Отримання поточного статусу

/// </summary>

public String Status()

{

inti = 128;

System.Text.StringBuilderstringBuilder = new System.Text.StringBuilder(i);

mciSendString("status MediaFile mode", stringBuilder, i, IntPtr.Zero);

return stringBuilder.ToString();

}

/// <summary>

/// Встановлення гучності лівого динаміку

/// </summary>

public intLeftVolume

{

get

{

return leftVolumn;

}

set

{

mciSendString(string.Concat("setaudioMediaFile left volume to ", value), null, 0, IntPtr.Zero);

leftVolumn = value;

}

}

/// <summary>

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

/// </summary>

public intRightVolume

{

get

{

return rightVolumn;

}

set

{

mciSendString(string.Concat("setaudioMediaFile right volume to ", value), null, 0, IntPtr.Zero);

rightVolumn = value;

}

}

/// <summary>

/// Встановлення загальної гучності

/// </summary>

public intMasterVolume

{

get

{

return masterVolumn;

}

set

{

mciSendString(string.Concat("setaudioMediaFile volume to ", value), null, 0, IntPtr.Zero);

masterVolumn = value;

}

}

/// <summary>

/// Встановлення гучності низких частот

/// </summary>

public int Bass

{

get

{

return baseVolumn;

}

set

{

mciSendString(string.Concat("setaudioMediaFile bass to ", value), null, 0, IntPtr.Zero);

baseVolumn = value;

}

}

/// <summary>

/// Встановлення звуку високої якості

/// </summary>

public int Treble

{

get

{

return trebleVolumn;

}

set

{

mciSendString(string.Concat("setaudioMediaFile treble to ", value), null, 0, IntPtr.Zero);

trebleVolumn = value;

}

}

/// <summary>

/// Перевірка паузи

/// </summary>

public boolIsPaused()

{

return Pcommand == "pause MediaFile";

}

/// <summary>

/// Перевірка чи виконується програвання

/// </summary>

public boolIsPlaying()

{

return Status() == "playing";

}

/// <summary>

/// Перевіркачивідкритийякийсь файл

/// </summary>

public boolIsOpen()

{

return isOpen;

}

}

}

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

Висновки

Хоча визначення мови C# і CLI стандартизовані ISO та Ecma, що забезпечує розумний і недискримінаційний ліцензійний захист (RAND) від патентних позовів, Microsoft використовує C# і CLI у своїй бібліотеці BaseClassLibrary (BCL), яка є фундаментом їхньої власницької платформи .NETframework, і яка забезпечує безліч нестандартизованих класів (розширений I/O, GUI WindowsForms, веб-служби, тощо). У деяких випадках, де патенти Microsoft відносяться до стандартів, використаних у .NETframework, документовані Microsoft, і застосовані патенти доступні через інші RAND умови або через Обітницю Відкритої Специфікації Microsoft (Microsoft'sOpenSpecificationPromise, OSP), які випускають патентні права публічно.

Під час проходження практики було вивчено головні елементи мови C#, такі як:

Статична типізація;

Поліморфізм;

Перевантаження операторів;

Вказівники на функції - члени касу;

Атрибути;

Події;

Властивості;

Винятки;

В ході проходження практики булу зроблено індивідуальне завдання, яке складалося з трьох задач: програма виведення на екран «Hello, world!», програма яка виводить поточну дата і час та музичний програвач.

програма мова код музичний програвач

Список використаної літератури

1. Ендрю Троелсен. Мова програмування C # 2010 і платформа. NET 4.0 = Pro C # 2010 and the. NET 4.0 Platform. - 5-е изд. - М.: Вільямс, 2010. - С. 1392. - ISBN 978-5-8459-1682-2

2. Герберт Шилдт. C # 4.0: повне керівництво = C # 4.0 The Complete Reference. - М.: «Вільямс», 2010. - С. 1056. - ISBN 978-5-8459-1684-6

3. Джон Скит. C #: програмування для професіоналів, 2-е видання = C # in Depth, 2nd Edition. - М.: «Вільямс», 2011. - 544 с. - ISBN 978-5-8459-1555-9

4. Крістіан Нейгел, Карлі Уотсон і ін Visual C # 2010: повний курс = Beginning Microsoft Visual C # 2010. - М.: Діалектика, 2010. - ISBN 978-5-8459-1699-0

5. Трей Неш. C # 2010: прискорений курс для професіоналів = Accelerated C # 2010. - М.: Вільямс, 2010. - С. 592. - ISBN 978-5-8459-1638-9

6. Крістіан Нейгел, Білл Івьен, Джей Глінн, Карлі Уотсон, Морган Скіннер. C # 4: Платформа. NET 4 для професіоналів = Professional C # 4 and. NET 4. - М.: Діалектика, 2010. - С. 1440. - ISBN 978-5-8459-1656-3

Размещено на Allbest.ru


Подобные документы

  • Написання програми для виведення чисел Фібоначчі. Загальна характеристика мови Паскаль. Науковий доробок Леонардо Фібоначчі. Історія і властивості послідовності. Особливості програмування мовою Turbo Pascal. Відкалібрування та синхронізування програми.

    курсовая работа [325,1 K], добавлен 09.10.2013

  • Аналіз сучасного стану технологій програмування. Порівняння відстані між центрами кіл з радіусами. Класи, які використовуються при розробці програми меню. Розробка та виконання тестового прикладу. Виведення кіл на екран та інструкція користувача.

    курсовая работа [229,0 K], добавлен 14.03.2013

  • Мова C++ є як одна з найпоширеніших сучасних мов програмування. Базові засоби мови С++, її специфічні риси. Технологія складу програм, специфіка організації процесу програмування. Модульне програмування. Особливості об’єктно-орієнтованого програмування.

    курсовая работа [49,6 K], добавлен 26.03.2010

  • Характеристика методів та етапів створення простих програм на мові програмування С++. Особливості структури та порядку запуску програми. Функції вводу і виводу та маніпулятори мови С++. Робота з одновимірними масивами. Символьна інформація та рядки.

    дипломная работа [91,2 K], добавлен 19.06.2010

  • Характеристика мови програмування VBA (Visual Basic for Application): можливості й засоби. Використання редактора Visual Basic. Створення та виконання VBA-програм. Типи даних, змінні й константи, операції й вирази. Керуючі оператори, процедури й функції.

    реферат [29,9 K], добавлен 28.06.2011

  • Особливості об'єктно-орієнтованого програмування. Розробка програми для елементарних математичних розрахунків, виведення результату на екран та запису у файлі. Сортування слів у рядку. Програма, яка реалізовує ходи шахових фігур. Програма-калькулятор.

    отчет по практике [2,0 M], добавлен 19.03.2015

  • Програми і мови програмування. Алфавіт мови програмування. Лексеми, зарезервовані слова мови Pascal. Ідентифікатори, типи даних. Арифметичні вирази, операції. Стандартні функції, структура програми. Процедури введення-виведення. Правила написання команд.

    лекция [445,0 K], добавлен 24.07.2014

  • Прототип об'єктно-орієнтованого програмування. Управління процесом реалізації програми. Розвиток апаратних засобів. Об'єктно-орієнтовані мови програмування. Надійність і експлуатаційні якості програм. Візуальне об’єктна-орієнтовне проектування Delphi.

    контрольная работа [28,9 K], добавлен 18.05.2009

  • Мoвa прoгрaмувaння як систeма пoзначень, що служить для точного опису програм або алгоритмів для ЕOM. Вимоги до мов програмування, класифікація за їх особливостям. Загальна характеристика найбільш поширених мов програмування: Сі, Паскаль, Delphi, Бейсік.

    реферат [24,4 K], добавлен 10.11.2012

  • Широкі можливості по використанню комп'ютерних навчальних систем. Розробка навчальної системи мультимедійного посібника з дисципліни "Інформатика і ОТ" на тему "Особливості мови програмування С++. Вказівники". Вимоги до розробки навчальної програми.

    курсовая работа [2,9 M], добавлен 23.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.