Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Информатика экзамен.docx
Скачиваний:
5
Добавлен:
17.04.2019
Размер:
143.52 Кб
Скачать

Вопрос 15:

Алгоритм и его свойства

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

Основными свойствами алгоритмов являются:

1. Универсальность (массовость) - применимость алгоритма к различным наборам исходных данных.

2. Дискретность - процесс решения задачи по алгоритму разбит на отдельные действия.

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

4. Конечность - каждое из действий и весь алгоритм в целом обязательно завершаются.

5. Результативность - по завершении выполнения алгоритма обязательно получается конечный результат.

6. Выполнимость - результата алгоритма достигается за конечное число шагов.

При разработке алгоритма используют следующие основные принципы.

  1. Принцип поэтапной детализации алгоритма (другое название — "проектирование сверху-вниз"). Этот принцип предполагает первоначальную разработку алгоритма в виде укрупненных блоков (разбиение задачи на подзадачи) и их постепенную детализацию.

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

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

Структуры данных:

- массивы

- список

- двумерный массив

- очередь

- стек

- таблица

По определению самой Microsoft, VS.NET — это инструмент, использующий разные языки программирования и предназначенный для создания распределенных приложений на базе Web-сервисов и XML. Эти приложения должны обеспечивать доступ к информации "в любом месте, в любое время и через любое устройство".

Алфавит (или множество литер) языка программирования С# составляют символы таблицы кодов ASCII. Алфавит С# включает: • строчные и прописные буквы латинского алфавита (мы их будем называть буквами); • цифры от 0 до 9 (назовем их буквами-цифрами); • символ «_» (подчеркивание — также считается буквой); • набор специальных символов: " { }, 1 [ ] + — %/ \; ' : ? < > = ! & # ~ *- • прочие символы. Алфавит С# служит для построения слов, которые в C++ называются лексемами. Различают пять типов лексем: • идентификаторы; • ключевые слова; • знаки (символы) операций; • литералы; • разделители.

Типы данных c#

С# является жестко типизированным языком. При его использовании вы должны объявлять тип каждого объекта, который создаете (например, целые числа, числа с плавающей точкой, строки, окна, кнопки, и т. д.), и компилятор поможет вам избежать ошибок, связанных с присвоением переменным значений только того типа, который им соответствует. Тип объекта указывает компилятору размер объекта (например, объект типа int занимает в памяти 4 байта) и его свойства (например, форма может быть видима и невидима, и т.д.). Подобно языкам C++ и Java, C# подразделяет типы на два вида: встроенные типы, которые определены в языке, и определяемые пользователем типы, которые выбирает программист. С# также подразделяет типы на две другие категории: размерные и ссылочные. Основное различие между ними — это способ, которым их значения сохраняются в памяти. Размерные типы сохраняют свое фактическое значение в стеке. Ссылочные типы хранят в стеке лишь адрес объекта, а сам объект сохраняется в куче. Куча — основная память программ, доступ к которой осуществляется на много медленнее чем к стеку. Если вы работаете с очень большими объектами, то сохранение их в куче имеет много преимуществ. В следующих уроках будут подробно рассмотрены различные преимущества и недостатки работы с ссылочными типами. С# также поддерживает и указатели на типы, но они редко употребляются. Применение указателей связано с использованием неуправляемого кода.

Переменной называется именованная область памяти, в которой хранятся данные определённого типа. Как явствует из названия, эти данные могут изменяться в ходе выполнения программы. 

Однако иногда нам требуется гарантировать сохранение значения определенной переменной.

 Константа — это переменная, значение которой не может быть изменено. Например, число pi. Как известно, значение этого числа никогда не изменяется. Следовательно, вы должны гарантировать, что переменная, хранящая это число, не изменит своего значения на протяжении всей работы программы. Ваша программа будет лучше читаемой, если вы вместо записи:

Чтобы создать переменную, вы должны задать тип переменной и дать этому типу имя. С# требует определения значений, то есть переменные перед использованием должны быть инициализированы. Вы можете проинициализировать переменную во время ее объявления или присвоить ей новое значение во время выполнения программы. Пример объявления переменной:

int kol;   - объявлена целочисленная переменная c именем kol

bool a;    - 

объявлена kjubxtcrfz переменная c именем a

 Имена переменных —это идентификаторы. Любая случайным образом составленная последовательность букв, цифр и знаков подчеркивания с точки зрения грамматики языка идеально подходит на роль имени любой переменной, если только начинается с буквы. Фрагмент программы, содержащий подобную переменную, будет синтаксически безупречен.  И все же имеет смысл воспользоваться дополнительной возможностью облегчить восприятие и понимание последовательностей операторов. Для этого достаточно закодировать с помощью имен содержательную информацию. Желательно создавать составные осмысленные имена. В этом случае в одно слово можно «втиснуть» предложение, которое в доступной форме представит информацию о типе объекта, его назначении и особенностях использования. • Первым символом имени переменной может быть только буква. • Следующими символами могут быть буквы, цифры и нижнее подчеркивание. • Длина имени переменной не ограничена.

1) Класс Math:

Кроме переменных и констант, первичным материалом для построения выражений являются функции. Большинство их в проекте будут созданы самим программистом (мы будем с этим фактом разбираться в следующих статьях), но не обойтись и без встроенных функций. Умение работать в среде Visual Studio.Net предполагает знание встроенных возможностей этой среды, знание возможностей каркаса Framework.Net, пространств имён, доступных при программировании на языке C#, а также соответствующих встроенных классов и функций этих классов. Продолжим знакомство с возможностями, предоставляемыми пространством имён System. Давайте рассмотрим ещё один класс – класс Math, содержащий стандартные математические функции, без которых трудно обойтись при построении многих выражений. Этот класс содержит два статических поля E (число е) и PI (число ПИ), а также 23 статических метода. Методы задают:

  • тригонометрические функции – Sin, Cos, Tan;

  • обратные тригонометрические функции – ASin, ACos, ATan, ATan2 (sinx, cosx);

  • гиперболические функции – Tanh, Sinh, Cosh;

  • экспоненту и логарифмические функции – Exp, Log, Log10;

  • модуль, корень, знак – Abs, Sqrt, Sign;

  • функции округления – Ceiling, Floor, Round;

  • минимум, максимум, степень, остаток – Min, Max, Pow, IEEERemainder.

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