Информатика и вычислительная техника

Автор работы: Пользователь скрыл имя, 17 Декабря 2013 в 16:28, курсовая работа

Описание работы

Целью настоящей курсовой работы, является разработка и реализация на языках высокого уровня алгоритмов решения задач, представленных в задании курсовой работы.
Объектами исследования курсовой работы являются методы и технологии разработки программных продуктов.
Предметами исследования настоящей курсовой работы являются методы, алгоритмы и приёмы разработки программ обработки двумерных массивов, файлов, строк.

Содержание работы

ВВЕДЕНИЕ 3
1. ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ 5
1.1. Алфавит языка С# 5
1.2. Операторы языка С# 10
1.3. Понятие классов и объектов 16
1.4. Структура программного модуля на С# 18
2. ПРАКТИЧЕСКАЯ ЧАСТЬ 21
2.1. Выполнение задания № 1 курсовой работы 21
2.2. Выполнение задания № 2 курсовой работы 24
2.3. Выполнение задания № 3 курсовой работы 26
2.4. Выполнение задания № 4 курсовой работы 30
2.5. Выполнение задания № 5 курсовой работы 31
ЗАКЛЮЧЕНИЕ 41
СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ 43

Файлы: 1 файл

КУРСОВАЯ _ПРИМЕР.doc

— 916.50 Кб (Скачать файл)

Операторы ветвления позволяют изменить порядок выполнения операторов в программе. К операторам ветвления относятся условный оператор if и оператор выбора switch.

Условный оператор if используется для разветвления процесса обработки данных на два направления.

Формат оператора: if ( логическое_выражение ) оператор_1; [ else оператор_2; ]

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

Примеры условных операторов:

if ( a < 0 ) b = 1;                                                   // 1

if ( a < b && ( a > d || a == 0 ) ) b++; else { b *= a; a = 0; }      // 2

if ( a < b ) if ( a < c ) m = a; else m = c;

else  if ( b < c ) m = b; else m = c;                            // 3

if ( b > a ) max = b; else max = a;                               // 4

Если требуется проверить  несколько условий, их объединяют знаками  логических условных операций. Например, выражение в примере 2 будет истинно в том случае, если выполнится одновременно условие a < b и одно из условий в скобках. Оператор в примере 3 вычисляет наибольшее значение из трех переменных.

Оператор выбора switch предназначен для разветвления процесса вычислений по нескольким направлениям.

Формат оператора:

switch ( <выражение> )

{

  case <константное_выражение_1>:

       [<оператор 1>];  <оператор перехода>;

  case <константное_выражение_2>:

      [<оператор 2>]; <оператор перехода>;

     case <константное_выражение_n>:

      [<оператор n>]; <оператор перехода>;

  [default: <оператор>; ] }

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

Каждая ветвь переключателя  должна заканчиваться явным оператором перехода, а именно одним из операторов break, goto или return:

  • оператор break выполняет выход из самого внутреннего из объемлющих его операторов switch, for, while и do;
  • оператор goto выполняет переход на указанную после него метку, обычно это метка case одной из нижележащих ветвей оператора switch;
  • оператор return выполняет выход из функции, в теле которой он записан.

Операторы цикла используются для организации многократно повторяющихся вычислений. К операторам цикла относятся: цикл с предусловием while, цикл с постусловием do while,  цикл с параметром for и цикл перебора foreach.. Блок, ради выполнения которого и организуется цикл, называется телом цикла. Остальные операторы служат для управления процессом повторения вычислений: это начальные установки, проверка условия продолжения цикла и модификация параметра цикла. Один проход цикла называется итерацией.

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

Оператор цикла while организует выполнение одного оператора (простого или составного) неизвестное заранее число раз.

Формат оператора: while ( выражение ) оператор.

Оператор цикла do while также  организует выполнение одного оператора (простого или составного) неизвестное заранее число раз. Однако в отличие от цикла while условие завершения цикла проверяется после выполнения тела цикла.

Цикл с постусловием и имеет вид: do оператор while выражение.

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

Цикл с параметром имеет следующую структуру:

for ( <инициализация>; <выражение>; <модификация>) <оператор>;

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

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

Модификация выполняется  после каждой итерации цикла и  служит обычно для изменения параметров цикла. В части модификация можно  записать несколько операторов через запятую. Оператор (простой или составной) представляет собой тело цикла. Любая из частей оператора for (инициализация, выражение, модификация, оператор) может отсутствовать, но точку с запятой, определяющую позицию пропускаемой части, надо оставить.

Циклы могут быть простые  или вложенные (кратные, циклы в цикле). Вложенными могут быть циклы любых типов: while, do while, for. Каждый внутренний цикл должен быть полностью вложен во все внешние циклы. «Пересечения» циклов не допускаются.

 Цикл foreach используется для просмотра всех объектов из некоторой группы данных, например, массива, списка или другого контейнера. В С# есть несколько операторов, изменяющих естественный порядок выполнения команд: оператор безусловного перехода goto, оператор выхода break, оператор перехода к следующей итерации цикла continue, оператор возврата из метода return и оператор генерации исключения throw.

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

Оператор goto метка передает управление на помеченный оператор. Метка является обычный идентификатор, областью видимости которого является функция, в теле которой он задан. Метка должна находиться в той же области видимости, что и оператор перехода. Следует учитывать, что использование оператора goto затрудняет чтение больших по объему программ, поэтому использовать метки нужно только в крайних случаях, например, в операторе switch.

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

Оператор перехода к следующей итерации цикла continue пропускает все операторы, оставшиеся до конца тела цикла, и передает управление на начало следующей итерации (повторение тела цикла).

Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова.

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

1.3. Понятие классов  и объектов

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

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

[ атрибуты ] [ спецификаторы  ] class имя_класса [ : предки ] тело_класса.

Классом  является специальный тип данных, включающий описание данных и описание функций (методов), которые могут быть выполнены над представителем класса — объектом.

Поле. Так называется член-переменная, содержащий некоторое значение. В ООП поля иногда называют данными объекта. К полю можно применять несколько модификаторов в зависимости от того, как вы собираетесь его использовать. В число модификаторов входят static, readonly и const.

Метод. Это реальный код, воздействующий на данные объекта (или поля). Все, используемые модификаторы класса представлены в таблице 1.3.

 

Таблица 1.3

Модификаторы класса

Спецификатор 

Описание 

1

new

Используется для вложенных  классов. Задает новое описание класса взамен унаследованного от предка. Применяется в иерархиях объектов

2

public

Доступ не ограничен

3

protected

Используется для вложенных  классов. Доступ только из элементов  данного и производных классов

4

internal

Доступ только из данной программы (сборки)

5

protected internal

Доступ только из данного  и производных классов или из данной программы (сборки)

6

private

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

7

abstract

Абстрактный класс. Применяется  в иерархиях объектов

8

sealed

Бесплодный класс. Применяется в иерархиях объектов

9

static

Статический класс.


 

К элементам класса относятся:

  • Константы  хранят неизменяемые значения, связанные с классом;
  • Поля содержат данные класса;
  • Методы реализуют действия, выполняемые классом или экземпляром;
  • Свойства определяют характеристики класса в совокупности со способами их задания и получения ( методами записи и чтения);
  • Конструкторы выполняют действия по инициализации экземпляров или класса в целом;
  • Деструкторы определяют действия, выполняемые перед тем как объект будет уничтожен;
  • Индексаторы обеспечивают возможность доступа к элементам класса по их порядковому номеру;
  • Операции задают действия с объектами с помощью знаков операций;
  • События, на которые может реагировать объект, определяют уведомления, которые может генерировать класс;
  • Типы внутренние по отношению к классу типы данных.

Объекты класса создаются  явным или неявным образом (программистом или системой). Для явного создания экземпляра используется операция new. Формат операции:      new  тип ( [ аргументы ]). Программа на С# состоит из взаимодействующих между собой классов. Программист создает экземпляр класса с помощью операции new, например:

Demo a = new Demo();        // создание экземпляра класса Demo

Demo b = new Demo();        // создание другого экземпляра класса Demo.

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

1.4. Структура программного  модуля на С#

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

Среда разработки обычно содержит:

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

  • компилятор, с помощью которого программа переводится с языка, на котором она написана, в машинные коды;
  • средства отладки и запуска программ;
  • общие библиотеки, содержащие многократно используемые элементы программ;
  • справочную систему и другие элементы.
  • В эпоху стремительного развития Интернета  важнейшими задачами при создании программ становятся:
  • переносимость и возможность выполнения на различных типах компьютеров;
  • безопасность и невозможность несанкционированных действий;
  • надежность или способность выполнять необходимые функции в предопределенных условиях; средний интервал между отказами;
  • использование готовых компонентов для ускорения разработки;
  • межъязыковое взаимодействие и возможность применять одновременно несколько языков программирования.

Информация о работе Информатика и вычислительная техника