Теоретическая часть. Общие сведения.




Лабораторная работа №1

Тема: Создание проекта линейной, ветвящейся и циклической задачи на числовых данных - базовые требования синтаксиса языка C# и инструмент (платформа.NET) его реализации

Цель работы: Изучение базовых правил построения проекта ConsoleApplication в Visual Studio.NET 2008

Вариант 1. Создание проекта линейной и ветвящейся задачи

 

Вариант 2. Создание проекта линейной, ветвящейся и циклической задачи

 

ПРИМЕЧАНИЕ: работа строится по методу модифицируемого проекта с наращиванием кода.

 

Темы для лекционной поддержки:

Базовые элементы технологии построения программ

Программирование на базе платформы NET

Программы на языке программирования высокого уровня C#

Организация программы на платформе NET

Управляющие операторы языка программирования высокого уровня C#

Типы данных, определяемые пользователем на платформе NET

Теоретическая часть. Общие сведения.

C# (произносится Си-Шарп) - это новый язык программирования от компании Microsoft. Он входит в новую версию Visual Studio - Visual Studio.NET. Кроме C# в Visual Studio.NET входят Visual Basic.NET и Visual C++. Кроме того фирма Borland объявила, что последующие версии C++ Builder и Delphi будут поддерживать платформу.NET (последнее лежит в русле политики Borland - так, например, нынешние версии C++ Builder и Delphi поддерживают, например, такую технологию от Microsoft, как ActiveX).

Одна из причин разработки нового языка компанией Microsoft - это создание компонентно-ориентированного языка для новой платформы.NET. Другие языки были созданы до появления платформы.NET, язык же C# создавался специально под эту платформу и не несет с собой груза совместимости с предыдущими версиями языков. Хотя это не означает, что для новой плятформы это единственный язык.

Еще одна из причин разработки компанией Microsoft нового языка программирования - это создание альтернативы языку Java. Как известно, реализация Java у Microsoft не была лицензионно чистой - Microsoft в присущей ей манере внесла в свою реализацию много чего от себя. Компания Sun, владелица Java, подала на Microsoft в суд, и Microsoft этот суд проиграла. Тогда Microsoft решила вообще отказаться от Java, и создать свой Java-подобный язык, который и получил название C#. Что будет с Java после выхода C# - пока неизвестно. Скорей всего эти языки будут существовать оба, хотя ясно, что одна из целей разработки C# - это противоборство именно с Java (недаром C# называют еще Java-killer'ом).

Если перевести слова NET Runtime на русский язык, то мы получим что-то вроде "Среда выполнения". Именно вы этой среде и выполняется код, получаемый в результате компиляции программы написанной на C#. NET Runtime основын не на ассемблере (т. е. не на коде, родном для процессора), а на некотором промежуточном коде. Отдаленно он напоминает виртуальную Java машину. Только если в случае Java у нас был только один язык для виртуальной машины, то для NET Runtime таких языков может быть несколько. Теоретически программа для среды NET Runtime может выполняться под любой операционной системой, в которой NET Runtime установлена. Но на практике пока единственная платформа для этого - это Windows.

NET Runtime состоит из нескольких частей. Одна из них - это Common Language Runtime. Это, говоря кратко, это некоторый набор стандартов, котрые должны поддерживать все языки платформы.NET. Например, в предыдущих версиях Visual Studio была такая проблема, что разные языки по разному хранили данные одного по идее типа. Так, скажем, тип целого в Visual Basic'е занимал два байта, а в Visual C++ - четыре. А это порождало кучу проблем при совместном использовании языков. Так вот, Common Language Runtime как раз в частности и определяет стандартные для все языков.NET типы данных. И уже есть гарантии, что целый тип в одном языке будет в точности соответствовать одноименному типу в другом.

Еще одна важная часть NET Runtime - это набор базовых классов. Их очень много (порядка несколько тысяч). Кроме того, эти классы относятся не к конкретному языку, а к NET Runtime. Т. е. мы получаем набор классов, общий для всех языков.NET, что достаточно удобно.

Далее. Именно NET Runtime берет на себя некоторые рутинные функции. Например в нем организована сборка мусора. И если раньше программисту приходилось самому освобождать объекты, созданные динамически, то теперь эту задачу берет на себя среда NET Runtime. Еще одно свойство среды NET Runtime - это проверка типов. Означает это вот что. Когда программа выполняется, то в принципе некоторой функции можно подсунуть параметр неправильного типа. Скажем вместо целого подставить действительное число или еще что-нибудь в этом роде. Языки типа C++ свои параметры функций не проверяют, в результате чего записанная переменная большего размера может повредить чужую область памяти и программа может просто рухнуть. Еще классический пример на эту тему - это выход за пределы массива. В NET Runtime же такого невозможно. NET Runtime сама позаботится о проверке типов и других вещах.Существует несколько языков для NET Runtime. В настоящее время это C#, VB.NET и Visual C++. Кроме того фирма Borland объявила, что ее продукты C++ Builder и Delphi тоже будут поддерживать NET Runtime.

Перечень встроенных типов языка C# и соответствующих им системных типов.NET: byte (Byte) - целое в диапазоне от 0 до 255; short (Int16) - целое в диапазоне от -32768 до 32767; int (Int32) - целое в диапазоне от -2 147 483 648 до 2 147 483 647; long (Int64) - целое в диапазоне от -9 223 372 036 854 775 808 до 9223 372 036 854 775 807; char (Char) - один 16-битовый символ Unicode; string (String) - строка неограниченного размера символов Unicode; float (Single) - число с плавающей точкой от 10(-45) до 10(38); double (Double) - число с плавающей точкой от 10(-324) до 10(308); bool (Boolean) - логическое значение true или false; object (Object) - все, что угодно. Для объявления константы используется ключевое слово const.


Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2017-12-29 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: