Добавить в корзинуПозвонить
Найти в Дзене

C# Урок 1. Введение в программирование

Это первый из десяти уроков по программированию в Microsoft Visual Studio на языке C# . Если вы хотите научиться программировать, то этот курс для вас. В процессе обучения вы изучите инструкции языка программирования, научитесь работать с массивами, списками, файлами, познакомитесь с основами объектно-ориентированного программирования. Курс ориентирован на школьников старших классов, студентов и всех, кто ХОЧЕТ научиться программировать. Объектно-ориентированный язык программирования C # разработан в компании Microsoft в 1998—2001 годах как средство разработки приложений для платформы Microsoft .NET Framework . Синтаксис C # близок к синтаксису языков C ++ и Java . Язык C # имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции. Самоучитель C# Для закрепления на практике полученных знаний, выполнения заданий вам понадобиться среда программирования Microsoft Visua
Оглавление
Это первый из десяти уроков по программированию в Microsoft Visual Studio на языке C# . Если вы хотите научиться программировать, то этот курс для вас. В процессе обучения вы изучите инструкции языка программирования, научитесь работать с массивами, списками, файлами, познакомитесь с основами объектно-ориентированного программирования. Курс ориентирован на школьников старших классов, студентов и всех, кто ХОЧЕТ научиться программировать.

Язык С#

Объектно-ориентированный язык программирования C # разработан в компании Microsoft в 1998—2001 годах как средство разработки приложений для платформы Microsoft .NET Framework .

Синтаксис C # близок к синтаксису языков C ++ и Java . Язык C # имеет статическую типизацию, поддерживает полиморфизм, перегрузку операторов, делегаты, атрибуты, события, свойства, обобщённые типы и методы, итераторы, анонимные функции.

Самоучитель C#

Среда программирования

Для закрепления на практике полученных знаний, выполнения заданий вам понадобиться среда программирования Microsoft Visual Studio. Установить Microsoft Visual Studio 2019 Community для Windows или Microsoft Visual Studio для Mac для macOS можно бесплатно с сайта Microsoft.

Как научиться программировать на С#

Чтобы научиться программировать на том или ином языке, надо на этом языке программировать. Однако язык С# вследствие своей объектной ориентированности а также того, что язык ориентирован на профессионалов, является довольно сложным языком. Изучение объектно-ориентированных возможностей С# предполагает наличие довольно серьезной подготовки, опыта практического программирования. Так что же делать, не подступать к С# до тех пор пока не научишься программировать на другом, более доступном для новичка языке, например на Паскале? Ответ на этот вопрос подсказал, Бьярн Страуструп, создатель языка C ++. Хотя Бьярн Страуструп говорит о C ++, тем не менее, его рецепт применим и к С# :

По моему опыту, наиболее безопасный путь - изучать С++ снизу вверх, то есть вначале изучить те возможности, которые С++ предлагает для традиционного процедурного программирования (так называемый "улучшенный С"), затем научиться использовать и понимать средства абстрагирования данных, а потом освоить использование классовых иерархий для организации наборов взаимосвязанных классов.

Программа

Программа, работающая на компьютере, зачастую отождествляется с самим компьютером, так как пользователь "вводит в компьютер" исходные данные (при помощи клавиатуры или мыши), а "компьютер выдает результат" на экран, на принтер или в файл. На самом деле ввод исходных данных, преобразование исходных данных в результат и вывод результата выполняет процессор. Процессор делает всю работу в соответствии с определенным алгоритмом, который будучи записан на специальном языке, называют программой. Таким образом, чтобы компьютер выполнил некоторую работу, необходимо составить последовательность команд, обеспечивающую выполнение этой работы, или, как говорят, написать программу.

Следует различать исходную и выполняемую программы.

Исходная программа представляет собой последовательность команд (инструкций) на языке программирования. Исходная программа это обычный текст. Исходная программа понятна человеку (программисту), но не понятна процессору, который может "понимать” (воспринимать, выполнять) только двоичный код.

Выполняемая программа это последовательность двоичных чисел, кодирующих данные и команды, которые может выполнить процессор. Преобразование исходной программы в выполняемую осуществляет специальная программа – транслятор (компилятор).

Компиляция и интерпретация

Существует два подхода к выполнению программы: компиляция и интерпретация.

При компиляции исходная программа преобразуется компилятором (средой разработки) в выполняемую, после чего выполняемая программа может быть выполнена процессором, причем, для запуска и выполнения программы среда разработки не требуется, программа может быть запущена из операционной системы. C# , как и C ++, компилируемый язык.

При интерпретации инструкции программы выполняет входящий в среду разработки интерпретатор. Программа, представленная на интерпретируемом языке программирования, может быть запущена только из соответствующей среды разработки. Примерами интерпретируемых языков являются Visual Basic for Application ( VBA ), Python а также язык R - специализированный язык статистической обработки данных.

Консольное приложение

Существует достаточно много классификационных признаков компьютерных программ. Один из них – отношение к операционной системе. Согласно этой классификации различают системные и прикладные программы. Системные программы обеспечивают решение системных задач, например доступ к дискам компьютера, распределение процессорного времени между задачами, управляют работой периферийных устройств (видеоадаптер, принтер, сканер, камера, мышь). Прикладные программы или приложения предназначены для решения прикладных, то есть конкретных задач пользователя. Редактор текста, графический редактор, игра – все это примеры приложений.

По способу взаимодействия с пользователем различают оконные и консольные приложения.

Оконное приложение работает в своем окне и для взаимодействия с пользователем использует находящиеся в нем компоненты пользовательского интерфейса: поля ввода текстовой информации, командные кнопки, списки, текстовые поля и др.

Консольное приложение также работает в отдельном окне, но в этом окне может отображаться только текстовая информация, а для ввода данных может использоваться только клавиатура.

В качестве примера на рис. 1.1 приведен вид окна программы пересчета расстояния из миль в километры, реализованной как оконное Windows Forms приложение, а на рис. 1.2 вид окна этой же программы, реализованной как консольное приложение.

Рис. 1.1. Оконное приложение
Рис. 1.1. Оконное приложение

Рис. 1.2. Консольное приложение
Рис. 1.2. Консольное приложение

Хотя консольные приложения менее "симпатичны", чем оконные, но они наилучшим образом подходят изучения языка программирования, так как не требуют усилий для создания форм и позволяют сосредоточить внимание на сути рассматриваемой проблемы. Именно примеры уроков этого канала реализованы как консольные приложения.

Этапы разработки программы

Выражение "написать программу" отражает только один из этапов создания компьютерной программы, когда программист действительно пишет команды (инструкции на выбранном языке программирования) на бумаге или в редакторе кода среды разработки.

Программирование — это процесс создания компьютерной программы, который может быть представлен как последовательность следующих шагов:

  • Постановка задачи (определение требований к программе)
  • Разработка алгоритма решения задачи
  • Кодирование
  • Отладка
  • Тестирование

Определение требований

Постановка задачи или определение требований к программе — один из важнейших этапов создания компьютерной программы. На этом этапе формулируется требования к программе: описывается, что должна делать программа, описывается исходная информация, формулируются требования к результату. Так же описывается поведение программы в особых случаях, например, реакция на неверные исходные данные.

Разработка алгоритма

Алгоритм это – описание действий, которое надо выполнить для достижения поставленной цели. На этапе разработки алгоритма необходимо определить шаги, которые надо выполнить для достижения цели, получения требуемого результата. Многие задачи можно решить различными способами и, зачастую, алгоритмы решений известны. В этом случае программист, используя некоторый критерий, например, скорость работы алгоритма, выбирает вариант. Результатом этапа разработки алгоритма должен быть алгоритм, представленный в виде словесного описания или блок-схемы.

Кодирование

После того как определены требования к программе и составлен алгоритм решения, можно приступить к кодированию – переводу алгоритма на выбранный язык программирования. В результате получается исходная программа.

Отладка

Отладка - это процесс поиска и устранения ошибок. Ошибки в программе разделяют на две группы: синтаксические (ошибки записи инструкций) и алгоритмические.

Синтаксические ошибки проявляются в процессе компиляции программы. Они наиболее легко устраняемые. Алгоритмические ошибки обнаружить труднее. Этап отладки можно считать законченным, если программа правильно работает на одном-двух наборах входных данных.

Тестирование

Этап тестирования особенно важен, если вы предполагаете, что разрабатываемой программой будут пользоваться другие. На этом этапе следует проверить, как ведет себя программа на как можно большем количестве разнообразных входных наборов данных, в том числе и на заведомо неверных. Задачи этапов отладки и тестирования схожи, однако есть и отличие. Отладка выполняется в процессе создания программы, тестирование – тогда, когда программа, по мнению программиста, уже готова и соответствует всем требованиям; при отладке, как правило, используется ограниченный, набор заранее подготовленных данных, в процессе тестирования используются реальные данные, с которыми должна работать программа.

Алгоритм

На первом этапе создания программы программист должен определить последовательность действий, которые необходимо выполнить, чтобы решить поставленную задачу, то есть разработать алгоритм программы.

Алгоритм — это точное предписание, определяющее процесс перехода от исходных данных к результату (преобразования исходных данных в результат)

Алгоритмом должен быть:

  • однозначным
  • массовым
  • результативным

Под однозначностью алгоритма понимается единственность толкования правил и порядка выполнения действий.

Массовость алгоритма означает возможность применения алгоритма для решения класса задач, предполагает его правильную работу при меняющихся в заданных пределах значениях исходных данных.

Результативность алгоритма предполагает, что выполнение алгоритма должно приводить к получению результата. Причем следует понимать, что результат это не только, например, результат расчета как таковой, но и сообщение об ошибке в исходных данных или о невозможности выполнения расчета.

Алгоритм решения задачи может быть представлен в виде словесного описания или графически — в виде блок-схемы. Представление алгоритма в виде блок-схемы позволяет программисту уяснить последовательность действий, которые необходимо выполнить для решения задачи, убедиться в правильности понимания поставленной задачи.

В качестве примера на рис. 1.3 приведена блок-схема алгоритма программы вычисления тока в электрической цепи, состоящей из двух сопротивлений, которые могут быть соединены последовательно или параллельно. Обратите внимание, слова Начало и Конец внутри соответствующих символов писать не следует; символы, соответствующие одинаковым типам действий должны быть одного размера; стрелки на ветвях, соединяющих элементы блок схемы, ставят, если процесс развивается справа налево или снизу вверх; в точке концентрация ветвей алгоритма рисуют точку.

Рис. 1.3 Алгоритм вычисления тока в электрической цепи
Рис. 1.3 Алгоритм вычисления тока в электрической цепи

Вопросы для самоконтроля

  1. Что представляет собой исходная программа?
  2. Что представляет собой выполняемая программа?
  3. Перечислите этапы создания компьютерной программы.
  4. Перечислите способы представления алгоритмов
  5. Перечислите правила изображения блок-схемы алгоритма.
  6. Язык программирования C# интерпретируемый или компилируемый?

Задание

Установите на компьютер Microsoft Visual Studio 2019 Community для Windows или Microsoft Visual Studio для Mac для maсOs.

Следующий урок

Литература

Культин Н. Б. C# для начинающих. Самоучитель с примерами и задачами для самостоятельного решения. эл. - 1 файл pdf : 130 c. Текст: электронный.

Культин Н.Б. Самоучитель C#. Электронный текст (приложение для Android)