- •Содержание
- •Глава 1. Основные принципы разработки алгоритмов и программ 8
- •Глава 2. Знакомство с технологией .Nет 30
- •Глава 3. Установка visual studio. Консольные приложения 42
- •Глава 4. Введение в язык c# 52
- •Глава 5. Операции и выражения. Программы линейной структуры 67
- •Глава 6. Программирование ветвящихся процессов 85
- •Глава 7. Программирование циклических процессов 92
- •Предисловие
- •Введение
- •Глава 1. Основные принципы разработки алгоритмов и программ
- •1.1 Этапы решения задач на эвм
- •1.1.1 Постановка задачи
- •1.1.2 Формализация или математическая постановка задачи
- •1.1.3 Выбор или разработка метода решения
- •1.1.4 Разработка алгоритма
- •1.1.5 Программирование
- •1.1.6 Отладка
- •1.1.7 Вычисление и обработка результатов
- •1.2 Формы записи алгоритмов
- •1.2.1 Словесное описание
- •1.2.2 Запись алгоритма с помощью схем
- •1.2.3 Псевдокоды
- •1.2.4 Способ записи на языке программирования
- •1.3 Свойства, которыми должны обладать алгоритмы
- •1.4 Характеристики качества программного продукта
- •1.5 Технология программирования хороших программ
- •1.5.1 Способы проектирования алгоритмов и программ
- •1.5.2 Основные идеи структурного программирования
- •При разработке алгоритма нужно руководствоваться следующими рекомендациями:
- •1.5.3 Дополнительные рекомендации
- •1.6 Контрольные вопросы
- •Глава 2. Знакомство с технологией .Nет
- •2. 1 Причины появления новой платформы и нового языка
- •2.2 Платформа .Nет Framework
- •2.3 Интегрированная среда разработки Visual Studio
- •2.3.1Общеязыковая среда выполнения clr
- •2.3.2 Новации Visual Studio 2010
- •2.4 Основные понятия объектно-ориентированной технологии
- •2.4.1 Инкапсуляция
- •2.4.2 Полиморфизм
- •2.4.3 Наследование
- •2.4.4 Классы
- •Контрольные вопросы
- •Глава 3. Установка visual studio. Консольные приложения
- •3.1 Установка Visual Studio
- •3.2 Разработка приложений
- •3.2.1 Консольные приложения
- •3.2.1.1 Создание проекта. Основные окна среды
- •Контрольные вопросы
- •Глава 4. Введение в язык c#
- •4.1 Историческая справка
- •4.2 Основы языка с#
- •4.2.1 Алфавит языка
- •4.2.2 Лексемы языка, директивы препроцессора и комментарии
- •4.3 Типы данных
- •4.3.1 Классификация типов данных
- •4.3.2 Встроенные типы данных
- •4.3.2.1 Целые типы
- •4.3.2.2 Вещественные типы
- •4.3.2.3 Логический тип
- •4.3.2.4 Символьный тип
- •4.3.2.5 Финансовый тип
- •4.3.3 Литералы
- •4.4 Переменные
- •4.4.1 Объявления переменных
- •4.4.2 Инициализация переменных
- •4.4.3 Область видимости переменных
- •4.5 Именованные константы
- •Контрольные вопросы
- •Глава 5. Операции и выражения. Программы линейной структуры
- •5.1 Выражения
- •5.1.1 Операции
- •5.1.1.1 Арифметические операции
- •5.1.1.2 Операции отношения, сдвига с#
- •5.1.1.3 Поразрядные и логические операции с#
- •5.1.1.4 Операции присваивания
- •5.1.1.5 Условная операция
- •5.2 Преобразование и приведение типов
- •5.2.1 Присвоение переменной одного типа значения другого типа
- •5.2.2 Явное преобразование типа
- •5.2.3 Преобразование типов в выражениях
- •5.3 Класс Math
- •Математические функции можно использовать только с величинами числовых типов. Углы тригонометрических функций должны быть представлены в радианах.
- •5.4 Линейные алгоритмы и программы
- •5.4.1 Простейшие способы вывода
- •5.4.2 Простейшие способы ввода с клавиатуры
- •5.5 Примеры
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
- •Глава 6. Программирование ветвящихся процессов
- •6.1 Условные операторы
- •6.2 Алгоритмы и программы разветвленной структуры
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
- •Глава 7. Программирование циклических процессов
- •7.1 Понятие цикла
- •7.2 Операторы управления
- •7.2.1 Оператор goto
- •7.2.2 Специальные операторы управления
- •7.2.3 Операторы циклов
- •7.3 Программирование вычислительных процессов усложненной структуры
- •7.3.1 Итерационные циклы
- •7.3.2 Вложенные циклы
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
2.3.2 Новации Visual Studio 2010
Платформа .NЕТ Framework и интегрированная среда разработки (IDE) Visual Studio.NET постоянно совершенствуются, обрастая новыми возможностями, позволяющими чувствовать себя более комфортно как новичкам, так и специалистам в области создания сложнейших программных продуктов. Так, например, Visual Studio.NET 2010, функционируя на платформе .NЕТ Framework 4, имеет заново сконструированную IDE с новым внешним видом и поведением и содержит целый ряд новаций, которые коснулись почти всех этапов разработки ПО. Назовем некоторые общего назначения:
-
окно редактора кода и окно представления конструирования могут размещаться вне окна интерфейса IDE;
-
новый редактор кода с возможностью масштабировать текст;
-
поддержка поиска по мере ввода для файлов, типов и элементов;
-
в Visual C# и Visual C++ иерархия вызовов позволяет переходить как к вызывающему, так и к вызываемым членам;
-
более мощная поддержка процесса отладки программ;
-
новые окна отладки параллельного кода, написанного на C++, C# или Visual Basic;
-
функции в интерфейсе IDE теперь соответствуют версии .NET Framework, на которую ориентируется проект;;
-
реализована поддержка в Visual Basic или Visual C# процесса нисходящего тестирования; интерфейс IDE теперь может создавать заглушки кода для новых типов и членов, исходя из их использования, прежде чем они будут определены;
-
управление жизненным циклом приложения включает в себя все самое необходимое для совместной разработки ПО: управление версиями, отслеживание рабочих элементов, автоматизацию построений, командный портал, отчетную аналитику и бизнес-аналитику, книги гибкого планирования и управление тестовыми случаями;
-
стало проще создание в приложении всех типов текстовых файлов; оптимизирована поддержка создания кода за счет улучшения интеграции с системой построений так, что созданный код никогда не устаревает независимо от изменений в исходной модели;
-
новый вид и новые функциональные возможности домашней страницы; область содержимого с вкладками предоставляет ссылки к разнообразным отобранным и сгруппированным по категориям учебным материалам;
-
диспетчер расширений загружает и устанавливает расширения, опубликованные в сообществе, с веб-сайта без необходимости открывать браузер;
-
диалоговое окно Создание проекта обладает такими же возможностями поиска и установки, как и диспетчер расширений, за исключением того, что здесь поиск осуществляется только по шаблонам проектов и элементов;
-
заново сконструировано средство просмотра справки; можно просматривать документацию в сети или в автономном режиме с помощью предпочтительного веб-браузера с применением улучшенного алгоритма полнотекстового поиска и упрощенной системы F1.
2.3.2.1 Типы языков и приложений в Visual Studio 2010
В Visual Studio предлагается несколько языков программирования (таблица 2.1).
Таблица 2.1–Типы языков Visual Studio 2010
Типы языков |
Краткое описание |
Visual Basic |
Visual Basic предоставляет простой и быстрый способ создания приложений Windows, веб-приложений и приложений для мобильных устройств на базе .NET Framework |
Visual C# |
Visual C# предназначен для построения самых разнообразных приложений, выполняемых в .NET Framework. Язык Visual C# простой, мощный, типобезопасный и объектно-ориентированный |
Visual C++ |
Visual C++ – мощный язык, предназначенный для обеспечения всестороннего и детального контроля над процессом построения собственных Windows - приложений и управляемых приложений на базе .NET |
Visual F# |
F# – это язык программирования, поддерживающий функциональное программирование. Visual F# позволяет разрабатывать приложения F# и расширять другие приложения .NET Framework с помощью кода F# |
JScript |
JScript – это следующее поколение реализованного корпорацией Майкрософт языка, соответствующего стандарту ECMA 262 |
В Visual Studio 2010 языки Visual Basic и C# продолжают движение в направлении равенства функциональности. Это позволяет выбирать язык на основе личных предпочтений, поскольку оба языка имеют одинаковые возможности.
В Visual Basic добавлены новые функции, сокращающие синтаксис, что помогает быстрее писать код. В эти функции входит автоматическая реализация свойств, неявное продолжение строки, инициализаторы наборов и лямбда-выражения из одного или нескольких операторов. Кроме того, Visual Basic теперь поддерживает упрощенное развертывание с помощью эквивалентности типов.
Добавленные новые функции в языке C# упрощают программирование с помощью интерфейсов API системы Microsoft Office. При наличии именованных и дополнительных аргументов больше не нужно указывать значения для каждого дополнительного параметра при вызове методов модели COM. При наличии динамической поддержки можно ссылаться на любой объект, например на возвращаемые значения из интерфейсов API модели COM или из динамических языков, без использования явного приведения типов. Индексированные свойства и необязательные модификаторы ref облегчают доступ к интерфейсам модели COM. Кроме того, поддержка эквивалентности типов упрощает развертывание путем включения типов из основных сборок взаимодействия (PIA) непосредственно в нужную сборку.
Visual F#. Visual Studio 2010 включает F# – новый язык платформы .NET Framework, поддерживающий функциональное программирование наряду с объектно-ориентированным и процедурным программированием. F# объединяет краткий, выразительный и композиционный стиль функционального программирования со средой выполнения, библиотеками, взаимодействием и объектной моделью платформы .NET Framework.
2.3.2.2 Общая система типов
Все типы CTS (Common Type System) делятся на две группы значимые и ссылочные (рис. 2.2). Значимые типы являются контейнерами двоичных значений. Подавляющее большинство значимых типов предопределено в конкретном языке программирования. Такие типы называются примитивными. К ним, например, относятся логический тип, символьный тип. К значимым типам могут относиться и типы, определенные пользователем, например, перечисляемый тип. Значения значимых типов помещаются в локальной памяти программы. Действия над значениями значимых типов осуществляются над их копиями, оставляя оригинал без изменений.
Ссылочные типы содержат указатели на данные, размещенные в памяти компьютера, и распределяются в куче. Ссылочные типы бывают самозаписываемыми, указателями и интерфейсами. Самозаписываемые типы делятся на классы и массивы. Действия над переменными ссылочных типов могут влиять на несколько ссылочных переменных.
Типы
данных Ссылочные
типы
Интерфейсы
Указатели
Примитивные
типы
Самозаписываемые
типы
Пользовательские
типы
Значимые
типы
Перечисления Массивы
Классы
Рисунок 2.2 – Схема системы типов