Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Laboratornyy_praktikum_Programmirovanie_na_C

.pdf
Скачиваний:
46
Добавлен:
02.02.2015
Размер:
2 Мб
Скачать
☆

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

A B C D

Рисунок 1.1. Базовые управляющие конструкции алгоритмов: A – линейная; B – ветвление; C – циклическая с предусловием; D – циклическая с постусловием.

1.3. КОМПИЛЯТОРЫ И ИНТЕРПРЕТАТОРЫ

Комп лятор – программа, переводящая текст программы на языке высокого уровня в эквивалентную программу на машинном языке.

Инт рпр т тор – вид транслятора, осуществляющего пооператорную (покомандную) обработку и выполнение исходной программы или запроса (в отличие от компилятора, транслирующего всю программу без еѐ выполнения).

1.4. .NET FRAMEWORK

.NET Framework – программная платформа компании Microsoft, предназначенная для разработки и выполнения обычных программ и веб-приложений (сильно распределѐнных компонентных приложений). Первая бета-версия была представлена в 2000 году, а релиз – в 2002 году. На 2011 год вышла четвѐртая версия пакета.

Платформа .NET обеспечивает совместное использование различных языков программирования, а также безопасность, переносимость программ и общую модель программирования для платформы Windows. [2]

.NET состоит из виртуальной общеязыковой среды выполнения (Common Language Runtime – CLR) и библиотеки классов. CLR – система, управляющая безопасным выполнением программ с поддержкой многоязыкового программирования и переносимости.

Компиляторами языков .NET создается не исполняемый код, а псевдокод,

называемый Microsoft Intermediate Language, MSIL (промежуточный язык Microsoft).

Псевдокод MSIL определяет набор переносимых инструкций, не зависящих от конкретного процессора. Кроме кода MSIL при компилировании программы

11

получаются метаданные, описывающие используемые в программе данные и обеспечивающие простое взаимодействие одного кода с другим. При запуске программа компилируется в исполняемый код JIT-компилятором. Компиляторы программ для среды .NET создают управляемый код, выполняемый под управлением среды CLR. Ко многим преимуществам управляемого кода относятся современные способы управления памятью, возможность программирования на различных языках, повышение безопасности, поддержка управления версиями и чѐткая организация взаимодействия программных компонентов.

1.5. ЯЗЫК ПРОГРАММИРОВАНИЯ C#. МОТИВЫ ВЫБОРА

Символ # (октоторп) печатается на клавиатуре как Shift+3, что символизирует третью реализацию C. С другой стороны # в названии языка можно интерпретировать и как две пары плюсов ++;++, намекающие на новый шаг в развитии языка по сравнению с C++ (подобно шагу от C к C++), и как музыкальный символ диез, вместе с буквой C составляющий в английском языке название ноты до-диез (англ. C sharp). Октоторп # часто называют «шарпом» (от англ. sharp) из-за его схожести с диезом ♯, отсюда и название языка – «Си шарп». Также «sharp» переводится с английского как «острый», «отточенный».

C# является одним из самых распространѐнных современных языков программирования, различные версии языка C/C++/C# используются для программирования контроллеров автоматизации технологических процессов, и рассматриваются позднее в учебном процессе.

C# входит в пакет Microsoft Visual Studio, который доступен для преподавателей и студентов по лицензии MSDNAA, также для компиляции программ доступен компилятор, встроенный в пакет .NET. Кроме того, на сайте Microsoft доступны для скачивания, свободного персонального и учебного использования Express – версии средств разработки, включая C#.

C# является современным эффективным и гибким языком с кратким и ясным синтаксисом, поддерживает самые последние элементы визуального программирования, позволяет с минимальными затратами создавать программы для научных и технологических вычислений.

Если рассмотреть генеалогическое дерево языка C#, то он происходит от C++, который в свою очередь от C. Ближайшими родственниками являются языки Java и JavaScript (C--), поэтому, имея опыт работы с C#, можно с минимальными усилиями разобраться с программами на родственных языках.

В C# включено языковое средство LINQ, позволяющее создавать запросу к базам данных, используя элементы C#.

Язык создан для платформы .NET Framework, обеспечивающей совместимость модулей, написанных на любых языках для платформы. Для Linux доступна совместимая с .NET платформа Mono. .NET предоставляет доступ к богатой библиотеке классов, а также обеспечивает безопасное выполнение программ (управление памятью, поддержка управления версиями, четкая организация взаимодействия программных компонентов, «сборка мусора», проверка ошибок при выполнении).

12

Возможности программирования для Office.

Возможности создания веб-приложений и веб-сервисов ASP.NET.

1.6. ИСПОЛЬЗОВАНИЕ КОМПИЛЯТОРА КОМАНДНОЙ СТРОКИ

Компилятор языка C# входит в состав пакета .NET Framework, может использоваться для компиляции готовых проектов на машинах, где НЕ установлен пакет Visual Studio с графическим интерфейсом. На сайте Microsoft доступен к скачиванию и свободному использованию в учебных целях пакет Visual Studio Express, являющийся упрощенной версией Visual Studio. Для студентов на компьютерах вычислительного центра установлена, и доступна к скачиванию полная версия Visual Studio Ultimate (по лицензии MSDNAA).

Запишите в лабораторный журнал название компилятора командной строки программ C# – CSC. Параметром команды компилятора является имя файла программы с расширением .CS.

Запустите менеджер файлов FAR. Откройте в левой панели (Alt+F1) диск C:, в правой (Alt+F2) – диск D:. Перейдите в левую панель (смена панели клавишей Tab). Найдите (Alt+F7, поиск по всему диску) на диске файл CSC.EXE. Поиск может найти не один, а несколько файлов. Это возможно, если установлено несколько версий .NET Framework. Запишите в лабораторный журнал путь к более поздней (большей) версии пакета. Уберите панели FAR (Ctrl+O). В строке команд наберите команду SET. Среди выведенных переменных системного окружения найдите переменную PATH, убедитесь, что в значениях пути поиска программ есть путь к последней версии CSC (который вы записали ранее). На домашнем компьютере после поиска компилятора путь к нему можно добавить в переменную системного окружения PATH в окне свойств системы (Win+Break)/Дополнительно/Переменные среды/Системные переменные/ PATH (необходимо обладать полномочиями администратора системы). Разделителем списка путей является точка с запятой.

Отобразите панели (Ctrl+O). Перейдите в правую панель (Tab), войдите в папку Program, создайте текстовый файл (Shift+F4) с именем P01_1.CS (первая программа на языке C#). Встроенный редактор FAR удобно использовать потому, что подключаемый модуль Colorer обеспечивает цветовое подсвечивание синтаксиса. Убедитесь, в редакторе установлена кодовая таблица Windows 1251 (отображается в верхней строке, и переключается в редакторе между кодировками DOS-866 и Windows-1251 клавишей F8). Кодировка используется для ввода текста в кириллице, на текст программы она не влияет. Также можно использовать кодировку UTF-8 (выбор кодировок из списка в редакторе FAR – Shift+F8). Введите текст программы, представленной ниже, отступы блоков создаются клавишей Tab. Необходимо заметить, что идентификаторы языка C# могут состоять из латинских букв и цифр, знака подчѐркивания. Цифра не может быть первым символом. Регистр символов различается. Программа может содержать комментарии, не рассматриваемые компилятором, но часто необходимые для описания кода и пониманием людьми:

многострочные – ограничиваются символами /* */, чаще используются для документирования программы;

13

однострочные – начинаются с символов //, область действия которых распространяется до конца строки, и которые используются для кратких пояснений.

using System; class P01_1

{

static void Main()

{//Это строка комментариев

Console.WriteLine("Первая программа");

/* Это блок комментариев, может

*располагаться в нескольких строках */

}

}

Кроме описания, довольно часто комментарии используются для отключения части кода. Достаточно поместить часть программы за символы комментария, как этот код будет временно отключѐн. Этот метод предпочтительнее обычного удаления кода тем, что позволяет быстро вернуть отключѐнный код, удалив символы комментария.

Программа состоит из операторов. Операторы заканчиваются точкой с запятой, которая не ставится перед открывающей и после закрывающей фигурных скобок. Фигурные скобки используются для создания программных блоков, позволяющих выполнять последовательность операторов как единое целое. Для удобства восприятия и по сложившейся традиции вложенные блоки имеют отступ влево, что позволяет довольно просто определить структуру программы, хотя отступы и не являются обязательными.

В одну строку могут быть записаны несколько выражений, а одно выражение может быть записано в несколько строк (разрыв производят по пробелам, арифметическим операторам и разделителям списка).

Сохраните программу (F2). Закройте редактор FAR (F10 или Esc). Откомпилируйте программу командой «CSC P01_1.CS» в исполняемый код. В текущей папке должен появиться исполняемый файл P01_1.EXE, если компиляция прошла с ошибкой, исправьте ошибки в P01_1.CS, загрузив его в редактор FAR (F4). Запустите файл P01_1.EXE. При выполнении программы в консоли появится текст вывода «Первая программа». Используя возможность системы перенаправлять вывод консольных программ в текстовый файл, сохраните результат вывода командой «P01_1 > P.TXT». Этот метод применяют, если необходимо не только просмотреть результат на экране, но и использовать его в дальнейших расчѐтах или распечатать без изменения кода готовой программы.

Скопируйте файл P01_1.CS в файл P01_2.CS. Чтобы сэкономить время, просто измените текст программы в копии, так как каркас программы идентичен. Следующая программа выводит на экран в десятичном и шестнадцатеричном виде результат возведения двойки в степень пять. Для вывода результата используется шаблон форматирования. Измените текст программы P01_2.CS до следующего кода:

14

using System; class P01_2

{

static void Main()

{

int X = 2; int Y = 5;

Console.WriteLine("{0}^{1} = {2:N0} (0x{2:X})", X, Y, (long)Math.Pow(X, Y));

}

}

Сохраните, откомпилируйте и запустите программу P2.

1.7. ЗАПУСК ПАКЕТА VISUAL STUDIO, НАЧАЛЬНАЯ СТРАНИЦА

Запустите Microsoft Visual Studio, ярлык может находиться в главном меню и на панели задач (панели быстрого запуска). При первом запуске после установки пакета требуется выбор настроек среды для языка программирования, но на компьютерах вычислительного центра ряд настроек выполняется администратором сразу после установки. После загрузки Visual Studio отображается окно, основное пространство которого занимает Начальная страница, содержащая команды создания и открытия проектов, ссылки на последние проекты, справочные материалы, расширения Visual Studio, ресурсы сообщества. При открытии проекта начальная страница закрывается, но в случае необходимости еѐ можно открыть в новой вкладке из меню вид.

Рабочие документы открываются во кл дк х, переключение между окнами можно осуществлять мышью или клавишами Ctrl+Tab/ Ctrl+Shift+Tab (Ctrl+F6). Слева рабочей области расположена Панель элементов, содержащая компоненты, используемые при создании проекта. Справа располагаются окна управления проектом и свойствами компонентов. Служебные окна могут быть совмещены и переключаться с помощью вкладок, или расположены в виде вертикальных вкладок в режиме автоматического скрытия для освобождения места на экране для рабочей области (для небольших дисплеев). Выше рабочей области располагаются меню и панели управления. Выбор видимости панелей команд производится из контекстного меню, вызываемого нажатием правой кнопки мыши на области панелей или командой Вид/Панели инструментов. Внизу окна расположена статусная строка. Во время работы возможно использование дополнительных окон (сообщения об ошибках, консольный вывод, значения и др.).

Начальная страница выполнена в формате гипертекста, в еѐ основной правой части расположена информационная структура, позволяющая получить доступ к справочным материалам по разным задачам. Первая вкладка «Начало работы» содержит подборку материалов, описывающих создание различных типов проектов. Вкладка «Руководство и ресурсы» полезна для ознакомления перед переходом к реальным проектам, описывает планирование, проектирование, разработку, тестирование, построение и администрирование проектов. Вкладка «Последние

15

новости» позволяет подключиться к RSS ленте новостей, в которой в виде ссылок приводятся заголовки событий и статей.

В разделе начальной страницы «Начало работы/Введение» поочерѐдно просмотрите состав информационных групп, расположенных ниже. В группе «Создание приложений с помощью Visual Studio» откройте ссылку «Краткий обзор среды разработки». Документ, расположенный на сервере Microsoft, открывается в отдельной вкладке. Запишите в лабораторный журнал расположение в удобном для вас виде, который позволит открыть документ в будущем, и список тезисов документа. При необходимости можно скопировать и сохранить ссылку из адресной строки вкладки. Закройте вкладку, прокрутите документ вниз и выберите группу «Ресурсы сообщества и учебные материалы», откройте ссылку «Центр разработчиков на Visual C#». Эта страница может стать полезным источником информации при самостоятельной разработке проектов. Запишите в лабораторный журнал название и интернет-адрес страницы, закройте вкладку. Перейдите к разделу «Начало работы/Windows», рассмотрите группы «Создание приложений Windows» и «Учебные материалы», содержащие ссылки на обзор технологий создания проектов и видеоматериалы.

1.8. ПРОЕКТЫ

Текст программы редактируется в окне кода, переключение на которое из других вкладок выполняется командой Вид/Код (F7). Код может состоять из сворачиваемых блоков. Первоначально редактор создаѐт код по шаблону приложения. Вложенные блоки выделяются отступом для более наглядного представления. Ключевые слова выделяются цветом. При наборе программы редактор выводит подсказки и списки свойств объектов для ускорения ввода. При выборе элемента списка выводится краткое описание и параметры элемента. Когда выбран элемент списка, нажатие следующего символа (пробела, точки, запятой, скобки и т.д.) выводит на экран элемент списка и нажатый символ. При выделении символа в коде, все экземпляры этого символа автоматически подсвечиваются. (Ctrl+Shift+стрелка вниз или Ctrl+Shift+стрелка вверх).

Обычно пользователями используется режим проектирования оконных программ. Окно программы называется формой. Форма отображается в окне

Конструктора (Вид/Конструктор, Shift+F7). По мере добавления и изменения компонентов в конструкторе автоматически изменяется код программы, также как и при изменении кода изменяется вид формы и компонентов в окне конструктора.

Всистемах с несколькими мониторами окна среды разработки могут располагаться на разных мониторах.

ВVisual Studio реализованы контейнеры: решения и проекты. [3] Создаваемые папки решений служат для структурирования связанных проектов по группам и затем выполнять действия над этими группами. Проект включает набор исходных файлов и связанные метаданные, при построении проекта создаѐтся один или более выходных файлов. Решение включает один или несколько проектов, файлы и метаданные. Visual Studio автоматически создает решение при создании нового проекта. При

необходимости к решению можно добавлять другие проекты. В окне Обо р т ль р ш н й содержится графическое представление всего решения, которое позволяет

16

управлять проектами и файлами в процессе разработки решения. Можно создавать пустые решения без проектов и использовать редакторы и конструкторы Visual Studio для изменения автономных файлов. Обозреватель решений предоставляет папки специально для элементов, не являющихся проектами.

Поскольку каждый проект (или решение) состоит из каталога и его содержимого, решения и проекты можно перемещать, копировать или удалять из проводника.

Создайте новый проект, для этого можно использовать расположенную слева начальной страницы команду Создать проект…, команду меню

Файл/Создать/Проект (Ctrl+Shift+N).

Окно создания проекта содержит четыре основные панели управления – три вертикальных и горизонтальный блок снизу. Левый вертикальный блок содержит список категорий шаблонов по языкам и типам проектов. В центральной панели приводится список типов проектов в выбранной категории. Справа выводится описание выбранного шаблона. В левой панели должен быть выбран раздел Установленные шаблоны/ Visual C#. Над центральной панелью должна быть выбрана версия .NET Framework 4. В центральном списке шаблонов выберите проект

Консольное приложение Visual C#. В поле Имя снизу введите P01_3, в поле Расположение – «D:\Program\VS», Имя решения – «P01_3». В окне редактора появится генерированный автоматически каркас программы:

using System;

using System.Collections.Generic; using System.Text;

namespace P01_3

{

class Program

{

static void Main(string[] args)

{

}

}

}

В Visual Studio можно задать путь по умолчанию для сохранения проектов командой Сервис/ Параметры, затем в разделе Проекты и решения/ Общие, поле

Размещение проектов указать путь назначения. Если параметр ссылается на папку диска C:, внесите в поле путь D:\Program\VS. В папке проектов при создании проекта создаѐтся соответствующая структура папок, содержащая компоненты проекта.

1.9. РЕДАКТИРОВАНИЕ И ЗАПУСК ПРОГРАММЫ В IDE

Модифицируйте программу (см. код ниже), чтобы она ожидала ввода числа. После ввода числа программа должна вычислить результат по формуле |sin(x)|, и вывести его на экран. В коде программы десятичной является точка, но при работе

17

программы в операциях ввода/вывода использует десятичный разделитель, указанный в настройках системы, в нашем случае – запятую.

Заметьте, что все примеры содержат строку «static void Main()». Этот код определяет статическую функцию, с которой стартует программа, эта функция не возвращает значений, и в некоторых случаях может получать аргументы, например, параметры командной строки. Измените код:

using System;

using System.Collections.Generic; using System.Text;

namespace P01_3

{

class Program

{

static void Main(string[] args)

{

// UNDONE изменить вместе с формулой Console.Write("Введите число в диапазоне 0..1: "); double x = Convert.ToDouble(Console.ReadLine()); // HACK заменить формулу

Console.WriteLine(Math.Abs(Math.Sin(x)));

// TODO закомментировать в готовом проекте

Console.WriteLine("Нажмите любую клавишу..."); Console.ReadKey(true);

}

}

}

Вызовите контекстное меню редактора, нажав правой кнопкой мыши на пустом месте в окне редактирования кода. Выполните команду Управление директивами using/Удалить неиспользуемые директивы using.

Запустите программу командой Отладка/Начать отладку (F5), на запрос программы введите число из диапазона 0..1, например 0,5 (разделителем десятичных разрядов при вводе является запятая). После выполнения программы выводится сообщение и ожидается нажатие любой клавиши для закрытия окна консоли (команды последних двух строк кода). Нажмите пробел. Если не использовать команды ожидания нажатия клавиши, то в режиме отладки окно консольной программы закроется сразу после выполнения, и пользователь не сможет увидеть результат. Для выполнения готового приложения в консоли обычно не требуется вывода сообщения и ожидания нажатия клавиши, т.к. это помешает использовать консольное приложение в сценариях. При запуске в консоли готовой программы из сценария (командного файла) для ожидания нажатия клавиши после завершения используется команда PAUSE. В режиме запуска Отладка/ Запуск без отладки (Ctrl+F5)

18

сообщение и ожидание нажатия клавиши для закрытия окна консоли генерируется автоматически. В начале каждой из двух последних строк

(Console.WriteLine, Console.ReadKey) добавьте символы комментария «//»,

запустите программу (Ctrl+F5).

Повторите вычисления с различными входными данными.

Наверняка вы заметили, что в тексте программы присутствуют комментарии со словами DOTO (сделать), HACK (исправить) и UNDONE (не завершено). Среда Visual Studio использует комментарии, начинающиеся с этих слов для построения списка задач проекта. Выполните команду Вид/ Список задач. В заголовке списка можно выбрать его тип – Задачи пользователя или Комментарии. Задачи пользователя содержат список, создаваемый пользователем и сохраняемый в проекте. По мере выполнения задач пользователь может отмечать их, при этом задачи отмечаются зачѐркнутым шрифтом. Нажмите кнопку Создать задачу пользователя. Введите текст «Набрать код программы», нажмите Enter. Двойной щелчок мышью на строке задачи переводит в режим редактирования. Т.к. эта задача уже выполнена, отметьте еѐ галочкой в поле выполнения. Слева поля выполнения есть еще одно поле, позволяющее указывать важность задачи. Самостоятельно добавьте задачу «Отладить программу», укажите для неѐ высокий приоритет. Выберите в заголовке задач раздел Комментарии, в его списке отображаются задачи, описанные ключевыми словами в коде программы. Двойной щелчок на строке задачи переходит к строке в редакторе, содержащей этот комментарий. Закройте окно Список задач.

Откомпилированная программа находится в папке проекта

D:\Program\VS\P01_3\P01_3\bin\Debug\P01_3.exe, программу можно использовать как отдельное приложение.

Во всех консольных приложениях были использованы операторы вывода Write и WriteLine. Оба метода имеют аналогичные параметры, и разница между ними заключается в том, что оператор Write после вывода курсор остаѐтся после выведенных данных, а WriteLine переводит курсор в новую строку. Аргументы операторов вывода могут записываться через запятую, тогда первый аргумент строкового типа воспринимается как шаблон формата вывода. Для последовательного вывода нескольких значений одним оператором в качестве разделителя списка используется плюс (склеивание элементов списка), при этом операция суммирования не производится, но при необходимости вычисления можно произвести, взяв выражение в скобки. Без аргументов оператор WriteLine() выводит пустую строку.

1.10. ОТЛАДКА

Если пользователь допускает синтаксическую ошибку в программе, то компилятор подчѐркивает красным цветом предполагаемый код ошибки и отображает окно с перечнем ошибок, предупреждений и сообщений. Довольно часто, но не

19

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

Для нахождения ошибок в алгоритме, коде или данных используют отладку – выполнение до точки останова и/или пошаговое выполнение программы.

Удалите символы комментария «//» у последних двух строк программы и выполните программу пошагово, нажимая клавишу F10 (прервать отладку можно запустив программу для дальнейшего выполнения клавишей F5 или остановив выполнение Shift+F5). В режиме отладки текущая строка программы выделяется жѐлтым цветом. Также открывается окно окальные со списком локальных переменных и их значений. При изменении значения выполненной командой, значение выделяется цветом. Список переменных и их значений при отладке помогают локализовать проблему и найти источник ошибки.

Еще раз необходимо напомнить, что у программы при изучении и пошаговой отладке выполнение последнего оператора приводит к закрытию окна консоли и для возможности просмотра результатов вывода на консоль необходимо в конце программы добавить операторы ожидания нажатия клавиш.

1.11. СПРАВОЧНАЯ СИСТЕМА

При нахождении курсора редактирования в позиции идентификатора или оператора, нажатие F1 вызывает контекстную справку.

Поочерѐдно укажите и вызовите справку для следующих слов: using, namespace, static, void, System, Main, Console, Double, Write, WriteLine, ReadLine, ReadKey, Abs.

Прочитайте определения.

Вызовите справку для слова Math, внизу страницы справки обычно опубликованы ссылки на дополнительные материалы. Найдите раздел «См. также», перейдите в раздел «Math – члены», перепишите в лабораторный журнал названия математических функций библиотеки (и назначение, если это не очевидно из названия функции), этот список будет нужен для вычислений в последующих работах.

1.12. ИЗМЕНЕНИЕ ПРОЕКТА

Справа рабочей области расположено окно обозреватель решений. В заголовке окна есть три управляющие кнопки – положение окна (стрелка вниз), автоматически скрывать (кнопка) и закрыть (крестик). Нажмите среднюю кнопку автоматически скрывать, окно свернѐтся в вертикальную вкладку и будет отображаться при наведении на неѐ курсора мыши. Этот режим на небольших экранах позволяет выделить максимальную площадь под редактор кода и конструктор форм. Выключение режима производится повторным нажатием на среднюю кнопку. Решения и проекты являются контейнерами, структура которых отображается в окне обозреватель решений. Нажмите на первую строку Решение … В контекстном меню (вызываемом нажатием правой кнопки мыши на объекте) отображаются команду управления решением. Ниже в иерархии выделены жирным шрифтом строки проектов. Открываемое окно командой контекстного меню Свойства (Alt+Enter)

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]