Устройство компьютера

Рис. 1.1. Схема процесса компиляции.

Содержание

Введение в язык программирования C#. 6

Первое знакомство с С#. 6

Знакомство с.NET. 6

Языки программирования и компиляторы.. 8

Алгоритм. 9

Синтаксис языка программирования С#. 11

Алфавит языка программирования С#. 11

Идентификаторы.. 11

Литералы.. 12

Типы данных языка программирования С#. 14

Встроенные типы.. 15

Совместимость целочисленных типов. 16

Явное и неявное преобразование типов. 19

Переменные в языке программирования С#. 21

Присваивание значений переменным. 21

Бинарные операции. 22

Операторы ветвления. 23

Простой оператор if 23

Оператор if / else. 23

Вложенные операторы if 25

Операторы if-else с несколькими ветвями. 27

Операции сравнения и логические выражения. 27

Логические операции. 29

Операция логического «И». 29

Операция логического ИЛИ: || 30

Операция логического НЕ:! 31

Область видимости переменных. 31

Оператор Switch. 34

Правила использования оператора switch. 36

Рекомендации по использованию оператора switch. 37

Операторы итерации. 39

Оператор цикла while. 39

Оператор цикла do-while. 41

Оператор цикла for 43

Оператор break. 44

Оператор continue. 45

Вложенные операторы итерации. 46

Массивы. 48

Одномерные массивы.. 48

Общие сведения. 48

Перебор элементов массива Оператор for и foreach. 50

Многомерные массивы.. 51

Тип char. 52

Тип string. 53

Работа со строками. 53

Доступ к отдельным символам в строке. 54

Разработка алгоритма выборки слов. 55

Некоторые методы для работы со строками. 57

Объектно-ориентированное программирование. 60

ООП основные понятия и предпосылки возникновения. 60

Концепции ООП.. 61

Сборки. 62

Элементы класса и применение методов. 64

Обзор элементов класса. 65

Методы.. 69

Объявление методов. 69

Ссылочные параметры. 71

Переменное число аргументов метода. 74

Перегрузка методов. Вызов методов с одинаковым именем и разными аргументами 75

Статические методы. 80

Конструкторы и деструкторы.. 82

Конструкторы экземпляра. 82

Вызов конструктора экземпляра. 84

Закрытые конструкторы экземпляра. 84

Статические конструкторы.. 85

Член со спецификатором readonly. 86

Сборка мусора. 87

Основные задачи сборщика мусора. 90

Свойства и наследование. 92

Свойства. 92

Основы наследования. 94

Предпосылки появления наследования. 96

Синтаксис наследования. 100

Визуальное программирование. 102

Принципы разработки пользовательского интерфейса. 102

Формы, элементы управления и меню.. 102

Принципы дизайна интерфейса. 103

Принцип простота. 104

Композиция формы.. 105

Согласованность. 105

Эстетика внешнего вида. 106

Изображения и значки. 107

Формы в приложениях C#. 108

Работа с формами. 108

Добавление формы к проекту. 108

Выбор первоначального размещения формы.. 109

Изменение внешнего вида формы.. 109

Изменение заголовка, значка и рамки формы.. 110

Свойства BackColor, ForeColor и Text 110

Свойства Font, Cursor и BackGroundlmage. 111

Прозрачность формы.. 111

Выбор рамки для формы.. 113

Кнопки изменения размеров формы.. 113

Добавление фонового изображения. 114

Изменение формы курсора. 115

Текстовые поля. 115

Добавление и настройка текстовых полей. 115

Изменение текста надписи. 115

Изменение шрифта. 116

Цвет текста и фона. 116

Рамка вокруг поля. 116

Изменение курсора мыши. 116

Выравнивание текста. 116

Меню.. 117

Добавление меню.. 117

Позиционирование элементов управления в форме. 118

Привязка к сетке. 118

Настройка взаимного расположения элементов формы.. 119

Выравнивание. 119

Установка размеров. 119

Установка промежутков между элементами. 120

Центровка элементов в окне формы.. 120

Передний и задний план. 120

Кнопки. 121

Надпись на кнопке. 121

Шрифт на кнопке. 121

Цвет. 121

Выравнивание текста. 121

Стиль кнопки. 122

Блокирование кнопки. 122

Изображение на поверхности кнопки. 123

Фоновое изображение для кнопки. 123

CheckBox и RadioButton. 123

Списки. 124

Список ListBox. 125

Список CheckedListBox. 126

Список DomainUpDown. 127

Элемент управления NumericUpDown. 127

Элемент управления TrackBar 129

Форма и клавиша табуляции. 130

Установка порядка передачи фокуса при нажатии клавиши Tab. 130

Свойство TabStop. 131

Вложенные элементы управления и контейнеры.. 131

Применение элементов управления Group Box и Panel. 132

Элемент управления TabControl. 132

Стыковка и фиксация элементов управления. 133

Свойство Anchor.. 133

Свойство Dock.. 134

Методы формы.. 134

Метод Show().. 135

Метод ShowDialog().. 135

Метод Activate().. 136

Метод Hide().. 136

Метод Close().. 136

События формы. 137

События жизненного цикла формы.. 137

Событие Load.. 137

События Activated и Deactivated.. 137

Событие VisibleChanged.. 138

Событие Closing.. 138

Событие Closed.. 138

Обработка событий. 138

Проверка данных вводимых пользователем.. 140

Применение свойств элемента управления TextBox к проверке данных вводимых пользователем.. 140

MaxLength. 140

PasswordChar 141

ReadOnly. 141

Multiline. 141

Применение событий для проверки на уровне поля. 141

События KeyDown и KeyUp. 141

Событие KeyPress. 142

Работа с фокусом ввода. 143

Проверка на уровне формы.. 145

Оповещение пользователя об ошибках ввода. 145

Компонент ErrorProvider 146

Отображение сообщений об ошибках. 146

Тема 1. Введение в язык программирования C#

1.1. Первое знакомство с языком программирования С#

С# (произносится как "си шарп") — это новый язык программирования, в котором, по замыслу создателей, должны сочетаться выразительность и простота. Его цель — позволить программисту создавать сложные высокопроизводительные программы.

В 1998 году перешедший в Microsoft создатель языков Delphi и Turbo Pascal Андерс Хейльсберг (Anders Hejlsberg) начал со своей командой работу над первой версией язы­ка С#. Его авторы попытались объединить в нем то, что нравилось им и многим другим програм­мистам в уже существовавших языках. При этом в С# были добавлены новые функции, соответствующие возможностям и потребностям сегодняшнего дня.

Языки программирования и компиляторы

Слово программа часто используется для описания двух различных элементов - испол­няемой программы целиком или фрагмента исходного кода. В данном случае термины "ис­ходный код", "исходная программа" или просто "код", используются в отношении фрагмента исходного кода. Исполняемая программа называется "исполня­емой программой", "приложением" либо просто "программой".

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

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

На рис.1.1. приведена простая иллюстрация того, как исходный код типичного язы­ка высокого уровня превращается в исполняемую программу.

 
 


Написанный текст, кото­рый содержит инструкции языка высокого уровня, называется исходным кодом. В случае С# этот исходный код хранится в файле с расширением.cs. Чтобы преобразовать ис­ходный код в машинный, требуется компилятор. Результатом компиляции становится исполняемая программа, которая состоит из инструкций машинного языка.

Компьютер — это совокупность аппаратного и программного обеспечения.

Аппарат­ное обеспечение (hardware) — это физические, осязаемые компоненты компьютера, а про­граммное обеспечение (software) — это программы, которые также называются приложения­ми. Программы содержат инструкции, которые исполняются аппаратным обеспечением.

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

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

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

В состав компьютера входят также менее очевидные для пользователя компоненты — процессор и память.

Процессор — устройство внутри компьютера, выполняющее инструкции, из кото­рых состоят программы. Другие названия процессора — ЦПУ (центральное процессор­ное устройство). Существует множество типов процессоров. Хорошо известными примерами являются процессоры Pentium различных поколений.

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

Память компьютера можно разделить на два типа — основную (оперативную) и вспо­могательную (долговременную) память.

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

В основной, или оперативной, памяти хранятся исполняемые в данный момент про­граммы, а также результаты промежуточных вычислений. Английский термин для опе­ративной памяти — RAM — Random Access Memory, или память произвольного досту­па.

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

Программное обеспечение. В сущности, компьютерное программирование — это создание программного обес­печения, которое заполняет пробел между очень примитивными операциями, реализо­ванными в аппаратном обеспечении (описанными выше и практически бесполезными для конечного пользователя) и программами типа текстовых редакторов или табличных процессоров, в которых реализована функциональность, направленная на удовлетворе­ние конкретных нужд конечного пользователя.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: