- •Содержание
- •Глава 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.2 Специальные операторы управления
- •7.2.1 Оператор goto
- •7.2.3 Операторы циклов
- •7.3 Программирование вычислительных процессов усложненной структуры
- •7.3.1 Итерационные циклы
- •7.3.2 Вложенные циклы
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
4.4.3 Область видимости переменных
Программа на C# имеет блочную структуру. Каждый блок заключается в фигурные скобки {}. Блоки могут быть вложены друг в друга, а могут быть независимы друг от друга.
Объявления переменных разрешается помещать внутри любого блока. Переменные, описанные внутри метода класса, называются локальными переменными.
Важнейшими понятиями в C# являются области видимости, в частности, области видимости переменной. Эта область начинается в точке объявления переменной и распространяется до конца блока, в котором она описана. Переменная, как правило, видна в блоках внутренних по отношению к блоку ее объявления и не видна во внешних блоках, которые находятся за пределами видимости переменной.
Имя переменной в области ее видимости должно быть уникальным. Этот факт означает, что во вложенном блоке нельзя объявить переменную с те же самым именем, которое объявлено в охватывающем его блоке.
Подобное положение отличает язык C# от других языков программирования, в которых отсутствует такое ограничение, и введено в язык C# для того, чтобы исключить связанные с такой ситуацией ошибки.
При выходе из области видимости значение переменной теряется. При повторном входе в блок (область видимости) переменная создается и инициализируется заново.
Пример:
using System;
namespace ConsoleApplication1
{
class Program
{
static void Main(string[] args)
{
int p=1,n;
Console.Write("Enter n ");
n = Convert.ToInt32(Console.ReadLine());
for (int i = 1; i <= n; i++)
p = p * i;
Console.WriteLine("p="+ p);
}
}
}
Рассмотрим приведенный пример. В программе метод Main содержит объявления переменных:
int p=1,n;
Обе переменные имеют тип int, причем переменная р инициализирована значением равным 1. Область видимости этих переменных – весь метод Main. Пременная i объявлена в заголовке цикла for, является его параметром, ей в заголовке цикла присвоено начальное значение, равное 1. Область видимости этой переменной ограничивается циклом.
4.5 Именованные константы
C# допускает введение в программу объектов, внешне похожих на переменные, но которые, в отличие от них, не могут изменять свое значение во время выполнения программы. Такие объекты называются константами. Имя константы – это синоним некоторого определенного значения, которое сопоставляется с этим идентификатором при описании.
Описание константы начинается со служебного слова Const, вслед за которым располагается тип, имя и значение константы:
Const int ALFA=35; const string OMEGA=”STROKA”;
Если константа определяется в программе, то ее идентификатор может входить во все конструкции, в которых должны присутствовать связанные с ним значения. Но попытка изменения значения константы в программе является недопустимой.
Пусть описана константа:
Const double spred=27.561;
double r;
{
r=spred+7.5;
spred=r+2.5
}
Последний оператор присваивания spred=r+2.5 пытается осуществить запрещенное преобразование – изменить значение константы spred.
Использование в программе идентификаторов констант вместо записи конкретных значений считается хорошим стилем программирования, который делает программу более читабельной, более понятной. Кроме того, в такую программу легче внести изменения, связанные с изменением константы, так как в этом случае изменения вносятся в область определения констант и не требуют просмотра всей программы.
C# расширяет возможности определения констант, допуская в правой части константные выражения, строящиеся по тем же правилам, что и обычные выражения, но они должны быть вычислимыми в рассматриваемой точке программы:
Пример.
const string slovo=”error”;
const string result=slovo+”__”;
const int l=5;
const int v=25;
const int lv=(l+v);
Особенность константных выражений состоит в том, что они вычисляются на стадии компиляции, т. е. для их вычисления не требуется выполнение самой программы.
