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

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; просмотров: 784;


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

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

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

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