- •Содержание
- •Глава 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 Вложенные циклы
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
Контрольные вопросы
-
Алфавит языка. Дайте его определение. Какое множество символов он включает?
-
Чем определяются правила кодировки символов в С#? Какая кодировка символов используется в языке?
-
Какие виды лексем существуют? Перечислите их.
-
Осветите концепцию типов данных в языках программирования.
-
Какие типы данных существуют? Дайте их классификацию.
-
Какие типы данных относятся к простым встроенным типам?
-
Охарактеризуйте каждый встроенный тип.
-
Что такое стандартный и пользовательский типы данных?
-
Что понимается под литералом, как распознается его тип? Поясните определенные соглашения распознавания типа литерала по умолчанию. Как можно явно наделить литерал требуемым типом?
-
Что такое идентификаторы, разделители, специальные символы?
-
Как интерпретируется и для чего используется управляющая последовательность?
-
Дайте определение переменной. Для чего в программе предназначены переменные? Какие значения могут иметь переменные?
-
Приведите примеры объявления переменных.
-
Что такое область видимости переменных?
-
Поясните назначение, правила определения и использования именованных констант.
Глава 5. Операции и выражения. Программы линейной структуры
В С# предусмотрен широкий набор операций, которые дают в руки программисту мощные рычаги управления при создании разнообразнейших выражений и их вычислений.
5.1 Выражения
Выражение это синтаксическая единица языка, определяющая способ вычисления некоторого значения.
Для формирования выражений используются операнды. Выражения строятся из операндов, различных знаков операций и скобок. Операндами простейших выражений могут быть: константы, переменные, функции. Например, 2*х + 1 это выражение, в котором символы «*» и «+» являются знаками операций, а х и 1 – операндами. Частным случаем выражения является одиночный операнд.
Константы и переменные были рассмотрены в предыдущей главе.
В данной главе внимание уделяется операциям, функциям и правилам построения и вычисления выражений. На базе изученного материала приводятся примеры программ простейших линейных вычислительных процессов и необходимые для их реализации действия по вводу и выводу информации.
5.1.1 Операции
В C#, как и в других языках, все операции в выражении выполняются в определенном порядке в соответствии с приоритетами. Ниже перечислены группы операций в порядке убывания их приоритетов:
-
первичные операции;
-
унарные операции;
-
мультипликативные операции;
-
аддитивные операции;
-
сдвиговые операции;
-
операции отношения и действия над ними;
-
проверка на равенство;
-
поразрядные логические;
-
условные логические;
-
условный оператор;
-
присваивания.
Пробелы внутри знака операции, состоящей из нескольких символов, не допускаются. По количеству участвующих в одной операции операндов операции делятся на унарные, бинарные и тернарную.
Несколько операций одного и того же приоритета выполняются слева направо. Исключением являются операции присваивания и условная операция, которые выполняются справа налево. Для изменения порядка выполнения операций используются круглые скобки, уровень их вложенности не ограничен. При заключении в круглые скобки приоритет операции повышается. Наличие скобок не влияет на скорость вычислений.
Избыточные или дополнительные скобки не приводят к ошибкам. Однако при несовпадении количеств открывающих и закрывающих скобок будет диагностирована ошибка.
Любое выражение языка C# может включать символы табуляции или пробелы. Подобные возможности целесообразно использовать для повышения читабельности выражений, а следовательно, и понятности всей программы.
Примеры арифметических выражений:
(r*s)/25-pow(y,2)+log10(x);
(a*sin(sqrt(y*y-a)+d)-abs(a-e))/(d-pow(a+y,2));
Следует отметить, что сами операнды всегда вычисляются слева направо независимо от приоритетов операций, в которых они участвуют.
Внутри группы операции имеют один и тот же приоритет. Однако в данной главе будут рассмотрены только некоторые группы операций из этого перечня. Остальные операции, используемые в специальных случаях, будут изучены позднее в других главах, когда появится в этом необходимость.
Большую часть операций С#, назовем их основными, можно отнести к следующим категориям: арифметические, побитовые, логические, отношений. Рассмотрим эти категории.