Читать «C# для начинающих» — Никита Борисович Культин онлайн
Страница 2 из 4
8
последовательность команд, обеспечивающую выполнение этой работы, или,
как говорят, написать программу.
Следует различать исходную и выполняемую программы.
Исходная программа представляет собой последовательность команд
(инструкций) на языке программирования. Исходная программа это обычный
текст. Исходная программа понятна человеку (программисту), но не пон ятна
процессору, который может "понимать‖ (воспринимать, выполнять) только
двоичный код.
Выполняемая программа это последовательность двоичных чисел, кодирующих
данные и команды, которые может выполнить процессор.
Преобразование исходной программы в выпол няемую осуществляет
специальная программа – транслятор (компилятор).
Компиляция и интерпретация
Существует два подхода к выполнению программы: компиляция и
интерпретация.
При компиляции исходная программа преобразуется компилятором (средой
разработки) в в ыполняемую, после чего выполняемая программа может быть
выполнена процессором, причем, для запуска и выполнения программы среда
разработки не требуется, программа может быть запущена из операционной
системы. C#, как и C++, компилируемый язык.
При интерпрет ации инструкции программы выполняет входящий в среду
разработки интерпретатор. Программа, представленная на интерпретируемом
языке программирования, может быть запущена только из соответствующей
среды разработки. Примерами интерпретируемых языков являются Visual Basic
for Application (VBA), Python а также язык R - специализированный язык
статистической обработки данных.
Консольное приложение
Существует достаточно много классификационных признаков компьютерных
программ. Один из них – отношение к операционной системе. Согласно этой
классификации различают системные и прикладные программы. Системные
программы обеспечивают решение системных задач, например доступ к дискам
компьютера, распределение процессорного времени между задачами, управляют
работой периферий ных устройств (видеоадаптер, принтер, сканер, камера,
мышь). Прикладные программы или приложения предназначены для решения
прикладных, то есть конкретных задач пользователя. Редактор текста,
графический редактор, игра – все это примеры приложений.
9
По способу взаимодействия с пользователем различают оконные и консольные
приложения.
Оконное приложение работает в своем окне и для взаимодействия с
пользователем использует находящиеся в нем компоненты пользовательского
интерфейса: поля ввода текстовой информации , командные кнопки, списки,
текстовые поля и др.
Консольное приложение также работает в отдельном окне, но в этом окне может
отображаться только текстовая информация, а для ввода данных может
использоваться только клавиатура.
В качестве примера на рис. 1.1 приведен вид окна программы пересчета
расстояния из миль в километры, реализованной как оконное Windows Forms
приложение, а на рис. 1.2 - вид окна этой же программы, реализованной как
консольное приложение.
Рис. 1.1. Оконное приложение
Рис. 1.2. Консольное приложение
10
Хотя консольные приложения менее симпатичны, чем оконные, но они
наилучшим образом подходят изучения языка программирования, так как они
не требуют усилий (времени) для создания формы и позволяют сосредоточить
внимание на сути рассматриваемой проблемы. Именно поэтому представленные
в книге примеры реализованы как консольные приложения.
Этапы разработки программы
Выражение "написать программу" отражает только один из этапов создания
компьютерной программы, когда программист действительно пиш ет команды
(инструкции на выбранном языке программирования) на бумаге или в редакторе
среды разработки.
Программирование — это процесс создания (разработки) программы, который
может быть представлен как последовательность следующих шагов:
Определение требований к программе
Разработка алгоритма решения задачи
Написание команд (кодирование)
Отладка
Тестирование
Определение требований к программе
Определение требований к программе или спецификация — один из важнейших
этапов. На этом этапе подробно описывается исходная информация и
формулируются требования к результату. Кроме того, описывается поведение
программы в особых случаях, например, реакция на неверные исходные данные.
Разработка алгоритма
На этапе разработки алгоритма необходимо определить последовател ьность
действий, которые надо выполнить для достижения результата. Многие задачи
можно решить различными способами. В этом случае программист, используя
некоторый критерий, например, скорость работы алгоритма, выбирает
наилучшее решение. Результатом этапа разработки алгоритма должен быть
алгоритм, представленный в виде словесного описания или блок-схемы.
Кодирование
После того как определены требования к программе и составлен алгоритм
решения, можно приступить к кодированию – переводу алгоритма на
выбранный язык программирования. В результате получается исходная
программа.
11
Отладка
Отладка - это процесс поиска и устранения ошибок. Ошибки в программе
разделяют на две группы: синтаксические (ошибки записи инструкций) и
алгоритмические.
Синтаксические ошибки про являются в процессе компиляции программы. Они
наиболее легко устраняемые. Алгоритмические ошибки обнаружить труднее.
Этап отладки можно считать законченным, если программа правильно работает
на одном-двух наборах входных данных.
Тестирование
Этап тестирова ния особенно важен, если вы предполагаете, что
разрабатываемой программой будут пользоваться другие. На этом этапе следует
проверить, как ведет себя программа на как можно большем количестве
разнообразных входных наборов данных, в том числе и на заведомо неверных.
Алгоритм
На первом этапе создания программы программист должен определить
последовательность действий, которые необходимо выполнить, чтобы решить
поставленную задачу, то есть разработать алгоритм.
Алгоритм — это точное предписание, определяющее п роцесс перехода от
исходных данных к результату.
Алгоритмом должен обладать следующими свойствами:
однозначностью
массовостью
результативностью
Под однозначностью алгоритма понимается единственность толкования правил
и порядка выполнения действий.
Массовость алгоритма означает возможность применения алгоритма для
решения класса задач, предполагает его правильную работу при меняющихся в
заданных пределах значениях исходных данных.
Результативность алгоритма предполагает, что выполнение алгоритма должно
приводить к получению результата. Причем следует понимать, что результат это
не только, например, результат расчета как таковой, но и сообщение об ошибке
в исходных данных или о невозможности выполнения расчета.
Алгоритм решения задачи может быть представлен в виде словесного описания
или графически — в виде блок -схемы. Представление алгоритма в виде блок -
схемы позволяет программисту уяснить последовательность действий, которые
необходимо выполнить для решения задачи, убедиться в правильности
понимания поставленной задачи.
12
В качестве примера на рис. 1.3 приведена блок -схема алгоритма программы
вычисления тока в электрической цепи , состоящей из двух сопротивлений,
которые могут быть соединены последовательно или параллельно. Обратите
внимание: слов "Начало" и "Конец" внутри соответствующих символов п исать
не следует; символы, соответствующие одинаковым типам действий должны
быть одного размера; стрелки на ветвях, соединяющих элементы блок схемы,
ставят, если процесс развивается справа налево или снизу вверх; в точ ке
концентрация ветвей алгоритма рисуют точку.
Рис. 1.3. Пример блок-схемы алгоритма
13
Глава 1. Первая программа
Процесс создания программы на языке C# в Microsoft Visual Studio рассмотрим
на примере консольного приложения, позволяющего посчитать средний в ес,
например, помидора в упаковке (рис. 1.4).
Рис. 1.4. Средний вес
Начало работы
Для того чтобы начать работу над новым консольным приложением на языке C#
или, как принято говорить, над проектом, надо:
В меню Файл выбрать команду Создать проект.
В открывшемся окне Создание проекта раскрыть список Шаблоны /
Visual C# и выбрать тип приложения — Консольное приложение
Visual C# (рис. 1.5)
В поле Имя ввести название проекта и нажать кнопку OK.
В результате описан ных действий будет создан проект — совокупность
файлов, необходимых для создания выполняемого (exe) файла программы.
Проект создается в папке проектов Visual Studio (по умолчанию это
С:\Users\User\source\repos\Project, где: User — имя пользователя в систе ме,
Project — имя проекта, введенное в поле Имя окна Новый проект.
Главное окно Microsoft Visual Studio в начале работы над новым проектом
создания консольного приложения приведено на рис. 1.6. В его заголовке
отображается имя проекта, над которым в данный момент идет работа.
14
Рис. 1.5. Начало работы над новым проектом
Рис. 1.2. Окно среды разработки в начале работы над новым консольным приложением
Центральную часть окна Microsoft Visual Studio занимает окно редактора кода
(текст программы программисты называют кодом), в котором находится
сформированное средой разработки объявление класса программы. В заголовке
окна редактора кода отображается имя файла (Program.cs).
15
Структура программы
Программа на языке C# представляет собой объект Program.
В листинге 1 .1 приведено объявление класса Program, сгенерированное средой
разработки как результат активизации процесса создания консольного
приложения.
Листинг 1.1. Класс Program в начале работы над новой программой
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;