- •Содержание
- •Глава 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 Вложенные циклы
- •Контрольные вопросы
- •Варианты заданий для самостоятельной работы
Введение
В наш век – век всеобщей информатизации программист стал неотъемлемой частью любого сколько-нибудь значимого коллектива. Без его знаний и умений невозможно адаптировать к конкретным условиям любую уже готовую программу, не говоря уже о тех ситуациях, когда требуется создать новый программный продукт. Он нужен везде, где появляются задачи.
Поставить задачу – значит определить ее цель. Решить задачу – значит произвести ряд определенных действий над исходными данными с тем, чтобы получить результат, отвечающий этой цели. Если речь идет о создании компьютерного приложения, то эти определенные действия должны опираться на те возможности, которые предоставляют используемые алгоритмический язык и включающая его среда разработки.
Цель написания данного учебного пособия и состоит именно в том, чтобы научить будущих программистов тому, как логически правильно выстроить эти определенные действия для достижения результата и как на их основе, следуя строгой дисциплине, создать качественный программный продукт.
В качестве базового языка программирования, выбранного для изложения материала, используется объектно-ориентированный язык C#, в чьей основе лежит технология визуального проектирования и программирования процедур обработки событий, применение которых позволяет сократить время разработки и облегчить процесс создания приложений.
Учебное пособие написано в соответствии с программой дисциплины «Программирование на языке высокого уровня». Излагаемый материал пособия состоит из тринадцати тематических глав. Причем каждая тема освещается как в теоретическом плане, так и в плане практической реализации в процессе проведения лабораторного практикума по данной дисциплине.
Материал, изложенный в первой главе данного учебного пособия, достаточно подробно показывает, что эта дисциплина должна основываться на современной технологии разработки алгоритмов и программ, использующей модульность, нисходящее проектирование, структурированное представление, пошаговую детализацию.
Во второй главе читателю даются представления о технологии .NЕТ, освещаются причины появления новой платформы, среды Visual Studio.NET, которая предоставляет мощные и удобные средства написания, корректировки, компиляции, отладки и запуска приложений, использующих .NЕТ-совместимые языки. Рассматривается назначение общеязыковой среды выполнения и общеязыковой инфраструктуры. Рассматриваются основные понятия объектно-ориентированной технологии.
В третьей главе данного пособия помещен материал, посвященный проблемам приобретения и установки инструментов для разработки приложений на языке С#. Таким инструментом является среда разработки Visual Studio.
Последующие главы этого учебного пособия освещают процесс программирования с использованием алгоритмического языка высокого уровня С#.
Четвертая глава посвящена основным понятиям языка C#, организации программ линейной структуры.
В пятой главе приведены основные приемы работы с разветвляющимися структурами. Рассматривается ряд конкретных примеров, начиная с момента формулирования задачи до получения результатов работы программы.
Шестая глава посвящена программированию циклических процессов. В главе приводятся несколько видов циклов и примеры программ с использованием данных структур, а также процесс разработки программ с усложненной структурой.
Глава 7 содержит необходимые сведения для решения задач обработки одномерных массивов данных. Излагаются возможности языка C# для решения задач такого типа, приводятся часто использумые на практике алгоритмы обработки и демонстрируется применение предназначенных для указанных целей методов специального класса.
Восьмая глава охватывает основные возможности языка программирования С# для обработки многомерных массивов, включая ступенчатые массивы.
Девятая глава посвящена процессу поддержки в С# обработки исключительных ситуаций, возникших в результате неправильной работы программы.
Десятая глава посвящена одному из важных аспектов с точки зрения практического программирования – обработке текстовой информации, для осуществления которой язык С# имеет развитые функциональные возможности разнообразных преобразований всех видов текстовой информации.
В главе 11 изложены основные понятия класса, его структура, возможные его члены и типы доступа к ним. Приведено детальное описание простейшего класса со следующими элементами: полями, конструкторами, свойствами.
В двенадцатой главе рассматривается реализация механизма подпрограмм в C#, возложенная на функциональный член класса: метод, реализующий вычисления или другие действия, выполняемые классом или его экземпляром. Особое внимание уделяется механизмам передачи данных.
В тринадцатой главе рассматривается общий подход к вводу/выводу в языке C# как при работе с консолью, так и при работе с файлами.
Изучение данной дисциплины преследует следующие цели:
-
изучение теоретических основ алгоритмизации и проектирования программ, процесса визуального программирования, его технологии, основ организации вычислительных процессов;
-
привитие навыков анализа корректности программ, их отладки и тестирования с использованием современных систем программирования.
В процессе изучения дисциплины студент должен:
-
обучиться программировать на языке высокого уровня C#, использовать современные методы и средства разработки алгоритмов и программ;
-
освоить приемы визуального программирования, изучить способы отладки, испытания программ.
В целом после изучения материалов данного пособия студент должен приобрести достаточные знания для самостоятельной работы и дальнейшего развития навыков.