- •Содержание
- •Глава 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 Вложенные циклы
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
4.2.2 Лексемы языка, директивы препроцессора и комментарии
Лексема – это минимальная единица языка, имеющая самостоятельный смысл. Существуют следующие виды лексем:
-
имена (идентификаторы);
-
ключевые слова;
-
знаки операций;
-
разделители;
-
литералы (константы).
Из лексем составляются еще более крупные конструкции языка: выражения и операторы. Рассмотрим некоторые из лексем.
Идентификатор это имя любого объекта программы, определяемого пользователем. Он может включать в себя Unicode-буквы (не только латинские, но и буквы национальных алфавитов), цифры, символ подчеркивания. Прописные и строчные буквы различаются. Допустимо использование десяти арабских цифр (от 0 до 9), которые в имени могут присутствовать в любой позиции, кроме первой. Символ подчеркивания может находиться в любой позиции. Длина идентификатора не ограничивается.
В процессе обучения программированию в С# для краткости часто используются однобуквенные имена. В реальных программах разработчики предпочитают использовать многобуквенные и даже многословные идентификаторы, которые позволяют в имени отразить смысловое содержание элемента. В С# для записи многословных идентификаторов прижились две нотации: Паскаля, когда каждое слово, составляющее идентификатор, начинается с прописной буквы, например: MaxInterval и Camel, которая предлагает с прописной буквы начинать каждое слово, составляющее идентификатор, кроме первого, например: maxInterval. Слова в имени могут быть соединены и знаком подчеркивания: max_Interval.
Разделители предназначены для отделения друг от друга идентификаторов, чисел, зарезервированных слов. В качестве разделителей применяются: пробел, табуляция, символ новой строки, комментарий.
В C# принято, что в любом месте, где можно поместить один разделитель, их можно поместить любое количество и в любом сочетании. Это позволяет наглядно оформлять программу, улучшать ее читаемость.
Комментарий многострочный заключается между символами-скобками /* и */, однострочный начинается с двух косых черт. В комментариях даются пояснения к программе. Компилятор их игнорирует.
В С# выделяют ключевые слова и директивы препроцессора, отличающиеся по своим функциям.
Таблица 4.2 – Ключевые слова С#
-
abstract
as
base
bool
break
byte
case
catch
char
checked
class
const
continue
decimal
default
delegate
do
double
else
enum
event
explicit
extern
false
finally
fixed
float
for
foreach
goto
if
implicit
in
int
interface
internal
is
lock
long
namespace
new
null
object
operator
out
override
params
private
protected
public
readonly
ref
return
sbyte
sealed
short
sizeof
stackalloc
static
string
struct
switch
this
throw
true
try
typeof
uint
ulong
unchecked
unsafe
ushort
using
virtual
void
volatile
while
Ключевые слова (табл. 4.2) имеют раз и навсегда закрепленные значения. Ключевые слова нельзя использовать в качестве имен переменных, классов или методов. В языке существуют так называемые контекстно-зависимые слова: get, set,yield, value, where, partiel, которые также желательно не использовать в качестве имен других элементов программы.
При записи элементы языка (имена, константы, ключевые слова) нельзя сливать, они должны друг от друга отделяться разделителем.
Директивы препроцессора используются на предварительной стадии компиляции, на которой формируется окончательный вид исходного текста программы. Например, с помощью директив можно включить или выключить из процесса компиляции фрагменты кода.
Знак операции – это один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются.