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

5. Способы записи алгоритмов

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

- вербальный, когда алгоритм описывается на человеческом языке;

- символьный, когда алгоритм описывается с помощью набора символов;

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

Общепринятыми способами записи являются графическая запись с помощью блок-схем и символьная запись с помощью какого-либо алгоритмического языка.

Описание алгоритма с помощью блок схем осуществляется рисованием последовательности геометрических фигур, каждая из которых подразумевает выполнение определенного действия алгоритма. Порядок выполнения действий указывается стрелками. Написание алгоритмов с помощью блок-схем регламентируется ГОСТом. Внешний вид основных блоков, применяемых при написании блок схем, приведен на рисунке:

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

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

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

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

Итерационным называется цикл, число повторений которого не задается, а определяется в ходе выполнения цикла. В этом случае одно повторение цикла называется итерацией.

6. Программа на языке высокого уровня

Пример «Hello, World!»

Ниже представлен код классической программы «Hello world» на C# для консольного приложения:

using System;

namespace Example

{

class Program

{

static void Main()

{

Console.WriteLine("Hello World!"); // Вывод заданного текста в консоль

Console.ReadKey(); // Ожидание нажатия клавиши пользователем

}

}

}

и код этой же программы для приложения Windows Forms:

using System;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e) // Элементы label и button добавлены предварительно

{

label1.Text = "Hello, World!";

}

}

}

7. Стандартные типы данных

В C# поддерживается стандартный набор типов данных. Для каждого типа данных, поддерживаемого C# , существует соответствующий тип .NET Common Language Runtime. Например, тип int в C# соответствует типу System.Int32 времени выполнения. В большинстве случаев вместо типа int можно указывать System.Int32, однако подобные замены не рекомендуются, поскольку это усложняет чтение программы.

Основные типы данных перечислены в следующей таблице. Типы данных времени выполнения определяются в пространстве имен System среды .NET Common Language Runtime.

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

Типы данных делятся на ссылочные (reference types) и структурные (value types). Память для структурных типов выделяется либо из стека, либо в соответствии со специальным механизмом, который описан ниже. Объекты ссылочных типов размещаются в куче.

И ссылочные, и структурные типы являются производными от корневого базового класса object. В тех ситуациях, когда структурный тип должен действовать как object, в куче создается временный объект, имитирующий поведение ссылочного объекта. В созданный объект копируются данные из структурного объекта. При этом временный объект снабжается специальной пометкой, чтобы система знала, к какому типу он относится. Этот процесс называется упаковкой (boxing), а обратный процесс называется распаковкой (unboxing). Механизм упаковки обеспечивает возможность интерпретировать любой тип как object, что позволяет использовать конструкции следующего вида:

Pawn код:

using System;

class Hello

{

public static void Main(string[] args)

{

Console.WriteLine("Value is: {0}", 3);

}

}

В этом примере целое число 3 упаковывается, и для упакованного значения вызывается функция Int32.ToString() .

Массивы C# могут быть многомерными или ступенчатыми (jagged). Нетривиальные структуры данных (например, стеки и хэш-таблицы) относятся к пространству имен System.Collections.