Этапы построения программы

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

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

3.Разработка или выбор алгоритма решения задачи — выполняется на основе ее математического описания. Многие задачи можно решить различными способами. Программист должен выбрать оптимальное решение. Неточности в постановке, анализе задачи или разработке алгоритма могут привести к скрытой ошибке — программист получит неверный результат, считая его правильным.

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

5. Кодирование — запись алгоритма на языке программирования.

6.Отладка и тестирование программы.

Тестирование – поиск ошибок в программе.

Отладка – устранение ошибок.

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

В программе могут возникать ошибки.

Виды ошибок:

Синтаксические– неверно написан код, ошибка в названии функции и т.п.

Логические– программа работает, но выдает неверный результат, ошибка при составлении мат. модели

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

 

 

Лекция №2 Общая структура программы. Данные. Типы данных. Оператор присваивания. Арифметические операции. Пространства имен.

Понятие класса

Для представления объектов в C# используется понятие класс, аналогичное обыденному смыслу этого слова в контексте "класс членистоногих", "класс млекопитающих", "класс задач" и т.п. Класс является обобщенным понятием, определяющим характеристики и поведение некоторого множества конкретных объектов этого класса, называемых экземплярами класса.

"Классический" класс содержит данные, задающие свойства объектов класса, и функции, определяющие их поведение.

Все классы библиотеки .NET, а также все классы, которые создает программист в среде .NET, имеют одного общего предка — класс object, и организованы в единую иерархическую структуру. Внутри нее классы логически сгруппированы в так называемые пространства имен, которые служат для упорядочивания имен классов и предотвращения конфликтов имен: в разных пространствах имена могут совпадать. Пространства имен могут быть вложенными, их идея аналогична знакомой вам иерархической структуре каталогов на компьютере.

Любая программа, создаваемая в .NET, использует пространство имен System. В нем определены классы, которые обеспечивают базовую функциональность, например, поддерживают выполнение математических операций, управление памятью и ввод-вывод.

 

 

Общая структура программы на С# выглядит следующим образом:

using System;

namespace MyProgram

{

class Program

{

static void Main()

{

}

}

}

Директива using System разрешает использовать имена стандартных классов из пространства имен Systemнепосредственно (без указания имени пространства).

Ключевое слово namespace создает для проекта собственное пространство имен, названное по умолчанию ConsoleApplication1. В нашем случае MyProgram. Это сделано для того, чтобы можно было давать программным объектам имена, не заботясь о том, что они могут совпасть с именами в других пространствах имен.

C# — объектно-ориентированный язык, поэтому написанная на нем программа представляет собой совокупность взаимодействующих между собой классов. В нашей заготовке программы всего один класс, которому по умолчанию задано имя Program. Описание классаначинается с ключевого слова class, за которым следуют его имя и далее в фигурных скобках — список элементов класса (его данных и функций, называемых также методами).

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

В данном случае внутри класса только один элемент — метод Main. Каждое приложение должно содержать метод Main — с него начинается выполнение программы.

 

Все языки программирования состоят из алфавита, синтаксиса и семантики.

Алфавит - это набор различимых символов: букв, цифр, специальных знаков и т.п. Например, алфавит машинного языка состоит из двух символов: 0 и 1

Синтаксис – правила построения конструкций языка

Семантика – совокупность правил истолкования конструкций языка, образованных в соответствии с синтаксисом.

 

Алфавит C# включает:

- Буквы (латинские и национальных алфавитов) и символ подчеркивания ( _ ), который употребляется наряду с буквами;

- цифры;

- специальные символы, например +, *, { и &;

- пробельные символы (пробел и символы табуляции);

- символы перевода строки.

Из символов составляются более крупные строительные блоки: лексемы, директивы препроцессора и комментарии.

Имена, или идентификаторы, служат для того чтобы обращаться к программным объектам и различать их, то есть идентифицировать. В идентификаторе могут использоваться буквы, цифры и символ подчеркивания. Прописные и строчные буквы различаются, например, hacker, Hacker и hAcKeR — три разных имени.

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

 

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

Любая программа обрабатывает данные. Данные могут быть постоянными (константы) и переменными. Константы записываются следующим образом:

Целое число 123 или -12

Вещественное число должно содержать точку в качестве разделителя и суффикс, например 0.3f или 0.25d – позже подробнее.

Одиночный символ заключается в одинарную кавычку ''

'А' или '3'

Строка заключается в двойную кавычку ""

"HELLO" или "WORLD"

Существуют также зарезервированные константы, например

Логические: TRUE, FALSE

Неопределенно: NULL.

Комментарии предназначены для записи пояснений к программе и формирования документации. Компилятор комментарии игнорирует. Внутри комментария можно использовать любые символы. В C# есть два вида комментариев: однострочные и многострочные.

Однострочный комментарий начинается с двух символов прямой косой черты (//) и заканчивается символом перехода на новую строку, многострочный заключается между символами-скобками /* и */ и может занимать часть строки, целую строку или несколько строк. Комментарии не вкладываются друг в друга.

Типы данных в С#

Тип данных – это множество значений, которое может принимать переменная.

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

Тип данных однозначно определяет:

- внутреннее представление данных, а, следовательно, и множество их возможных значений;

- допустимые действия над данными (операции и функции).

Например, целые и вещественные числа, даже если они занимают одинаковый объем памяти, имеют совершенно разные диапазоны возможных значений.

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

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

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

Встроенные типы не требуют предварительного определения. Для каждого типа существует ключевое слово, которое используется при описании переменных, констант и т.д. Встроенные типы C# приведены в таблице Они однозначно соответствуют стандартным классам библиотеки .NET, определенным в пространстве имен System. Как видно из таблицы, существуют несколько вариантов представления целых и вещественных величин. Программист выбирает тип каждой величины, используемой в программе, с учетом необходимого ему диапазона и точности представления данных.

 

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

Пример описания целой переменной с именем a и вещественной переменной x:

int a; float x;

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

int a, b = 1;

float x = 0.1f, y = 0.1f;

Здесь описаны:

Переменная a типа int, начальное значение которой не присваивается;

Переменная b типа int, ее начальное значение равно 1;

Переменные х и y типа float, которым присвоены одинаковые начальные значения 0.1. Рекомендуется всегда инициализировать переменные при описании. При инициализации можно использовать не только константу, но и выражение — главное, чтобы на момент описания оно было вычисляемым, например:

int b = 1, a = 100;

int x = b * a + 25;








Дата добавления: 2017-08-01; просмотров: 1082;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2026 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.023 сек.