Автор работы: Пользователь скрыл имя, 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
МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
ФИЛИАЛ ФГОУ ВПО МОСКОВСКОГО ГОСУДАРСТВЕННОГО
УНИВЕРСИТЕТА ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ
ИМ. К. Г. РАЗУМОВСКОГО В Г. ВЯЗЬМЕ
Курсовая работа
Дисциплина: «Программирование»
Специальность: 230100 «Информатика и вычислительная техника»
Курс: 2 (СФО)
Форма обучения: заочная
Вариант: № 8
Студент: Зотова Валентина Юрьевна
Преподаватель: Коростелёв Михаил Кириллович
2013
СОДЕРЖАНИЕ
В настоящее время, с наступлением века высоких технологий, ни одна отрасль науки и техники не представима без использования вычислительной техники. В свою очередь работа вычислительной техники не возможна без наличия программного обеспечения, соответствующего современным требованиям качества.
Целью настоящей курсовой работы, является разработка и реализация на языках высокого уровня алгоритмов решения задач, представленных в задании курсовой работы.
Объектами исследования курсовой работы являются методы и технологии разработки программных продуктов.
Предметами исследования настоящей курсовой работы являются методы, алгоритмы и приёмы разработки программ обработки двумерных массивов, файлов, строк.
Информационной базой исследования является учебная литература по информатике и программированию, техническая документация по языку С# инструментальной среды MS Visual Studio 2010.
Практически все современные языки программирования высокого уровня (и C# в их числе) поддерживают технологию объектно-ориентированного программирования (ООП). В этой технологии главным «действующим лицом» является объект (или компонент), представляющий собой во многом независимый от остальной части программы и, в большинстве случаев, самодостаточный ее фрагмент, решающий некоторую функциональную задачу.
Существует немало языков программирования, но лишь немногие из них действительно хороши. Хороший язык программирования должен быть одновременно эффективным и гибким, а его синтаксис — кратким, но ясным. Он должен облегчать создание правильного кода, не мешая делать это, а также поддерживать самые современные возможности программирования.
Благодаря своей способности быстро приспосабливаться к постоянно меняющимся потребностям в области программирования С# по-прежнему остается живым и новаторским языком. А следовательно, он представляет собой один из самых эффективных и богатых своими возможностями языков в современном программировании.
В С# используется кодировка символов Unicode. Кодировка Unicode позволяет представить символы всех существующих алфавитов одновременно, что коренным образом улучшает переносимость текстов.
Из символов алфавита формируются лексемы языка: идентификаторы, ключевые (зарезервированные) слова, знаки операций, константы, разделители (скобки, точка, запятая, пробельные символы).
Идентификатор может включать латинские буквы и буквы национальных алфавитов, цифры и символ подчеркивания. Прописные и строчные буквы различаются, например, myname, myName и MyName — три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Могут быть зарезервированные идентификаторы, которые имеют специальное значение для компилятора, например, include, main, int и т.д.
Часть идентификаторов С# входит в фиксированный словарь ключевых слов. Эти идентификаторы образуют подмножество ключевых слов (они так и называются ключевыми словами).
Прочие идентификаторы
после специального объявления
становятся именами. Имена
Существуют переменные, значение которых нельзя изменить(константы). Константы бывают трех видов: литералы, символические константы и перечисления.
В операторе присваивания: x=32. Число 32 является литеральной константой и его значение всегда равно 32 и его нельзя изменить.
Символические константы именуют постоянные значения. Определение символической константы происходит следующим образом:
const <тип> <идентификатор> = <значение>;
Перечисления (enumerations) являются альтернативой константам. Перечисление - это особый размерный тип, состоящий из набора именованных констант (называемых списком перечисления).
К знакам операций относится один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, в выражении а + b знак + является знаком операции, а а и b — операндами. Символы, составляющие знак операций, могут быть как специальными, например, &&, | и <, так и буквенными, такими как as или new.
Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Один и тот же знак может интерпретироваться по-разному в зависимости от контекста. Все знаки операций, за исключением [ ], ( ).и ? :, представляют собой отдельные лексемы. Для разделения используются скобки, точка, запятая. Ниже перечислены все знаки операций и разделители, использующиеся в С#:
{} [] (). . :: + - * / * % & | ˆ ! ˜ =
< > ? ++ -- && || « » == != <=>= += - = .*=
/= %= &= |= ˆ= <<= >>= ->
Существуют следующие виды операций:
Также в языке С# очень часто используются управляющие символы, все используемые символы представлены в таблице 1.1
Таблица 1.1
Управляющие символы
Вид |
Наименование |
\a |
Звуковой сигнал |
\b |
Возврат на шаг назад |
\f |
Перевод страницы |
\n |
Перевод строки |
\r |
Возврат каретки |
\t |
Горизонтальная табуляция |
\v |
Вертикальная табуляция |
\\ |
Обратная косая черта |
\’ |
Апостроф |
С# является языком со строгой типизацией. В нем необходимо объявлять тип всех создаваемых программных элементов (например, переменных, объектов, окон, кнопок и т. д.). Тип программного элемента сообщает компилятору о его размере (например, тип int показывает, что объект занимает 4 байта) и возможностях.
В С# типы делятся на две группы: базовые типы, предлагаемые языком, и типы, определяемые пользователем. Кроме того, типы С# разбиваются на две другие категории: размерные типы (типы по значению) и ссылочные типы.
Типы можно классифицировать по разным признакам. Если принять за основу строение элемента, все типы можно разделить на простые (не имеют внутренней структуры) и структурированные (состоят из элементов других типов). Для данных динамического типа размер данных в момент объявления может быть неизвестен, и память под них выделяется по запросу в процессе выполнения программы.
Почти все базовые типы являются размерными типами. Исключение составляют типы Object и String. Все пользовательские типы, кроме структур, являются ссылочными. Дополнительно к упомянутым типам, язык С# поддерживает типы указателей, однако они используются только с неуправляемым кодом. Принципиальное различие между размерными и ссылочными типами состоит в способе хранения их значений в памяти.
Целые типы, а также символьный, вещественные и финансовый типы можно объединить под названием арифметических типов.
Вещественные типы, или типы данных с плавающей точкой, хранятся в памяти компьютера иначе, чем целочисленные. Внутреннее представление вещественного числа состоит из двух частей — мантиссы и порядка, каждая часть имеет знак. Длина мантиссы определяет точность числа, а длина порядка его диапазон.
Все вещественные типы могут представлять как положительные, так и отрицательные числа. Чаще всего в программах используется тип double, поскольку его диапазон и точность покрывают большинство потребностей. Этот тип имеют вещественные литералы и многие стандартные математические функции.
Тип decimal предназначен для денежных вычислений, в которых критичны ошибки округления. Величины типа decimal позволяют хранить 28-29 десятичных разрядов.
Чаще всего типы С# разделяют по способу хранения элементов на типы-значения и ссылочные типы.
Язык С# предлагает обычный набор базовых типов, представленных в таблице 1.2
Таблица 1.2
Базовый набор типов данных
Тип |
Размер в байтах |
Тип .NET |
Описание |
Базовый тип | |||
object |
Object |
Может хранить все что угодно, т.к. является всеобщим предком | |
Логический тип | |||
Bool |
1 |
Bolean |
true или false |
Целые типы | |||
Sbyte |
1 |
SByte |
Целое со знаком (от -128 до 127) |
Byte |
1 |
Byte |
Целое без знака (от 0 до 255) |
Short |
2 |
Int16 |
Целое со знака (от -32768 до 32767) |
ushort |
2 |
UInt16 |
Целое без знака (от 0 до 65535) |
Int |
4 |
Int32 |
Целое со знаком (от -2147483648 до 2147483647) |
Uint |
4 |
UInt |
Целое число без знака ( от 0 до 4 294 967 295) |
Long |
8 |
Int64 |
Целое со знаком (от -9223372036854775808 до 9223372036854775807) |
ulong |
8 |
UInt64 |
Целое без знака (от 0 до 0fffffffffffffff) |
Вещественные типы | |||
Float |
4 |
Single |
Число с плавающей точкой двойной точности. Содержит значения приблизительно от 1.5*10-45 до 3.4*1038 c 7 значащими цифрами |
Продолжение табл.1.2
double |
8 |
Double |
Число с плавающей точкой двойной точности. Содержит значения приблизительно от ±5. 0*10-324 до ±1.7*10308 c 15-16 значащими цифрами |
Символьный тип | |||
Char |
2 |
Сhar |
Символы Unicode |
Строковый тип | |||
string |
String |
Строка из Unicode-символов | |
Финансовый тип | |||
decimal |
12 |
Decimal |
Число до 28 знаков с фиксированным положением десятичной точки. Обычно используется в финансовых расчетах. Требует суффикса <<m>> или <<М>> |
Операнды, связанные знаками операций, образуют выражения. Понятие «выражение» в языке программирования соответствует понятию «словосочетание» в языке человека. Тип выражения определяется типом операндов.
Комментарии предназначены для записи пояснений к программе и формирования документации. Компилятор комментарии игнорирует. Внутри комментария можно использовать любые символы. В С# есть два вида комментариев: однострочные и многострочные. Однострочный комментарий начинается с двух символов прямой косой черты (//) и заканчивается символом перехода на новую строку, многострочный заключается между символами-скобками /* и */ и может занимать часть строки, целую строку или несколько строк. Комментарии не вкладываются друг в друга: символы // и /* не обладают никаким специальным значением внутри комментария.
Программа на языке С# состоит из последовательности операторов, каждый из которых определяет законченное описание некоторого действия и заканчивается точкой с запятой. Все операторы можно разделить на 4 группы: операторы следования, операторы ветвления, операторы цикла и операторы передачи управления.
Операторы следования выполняются компилятором в естественном порядке: начиная с первого до последнего. К операторам следования относятся: выражение и составной оператор. Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении значения выражения или выполнении законченного действия, например, вызова метода. Например:
++i; //оператор инкремента
x+=y; //оператор сложение с присваиванием
Console.WriteLine(x); //вызов метода
x=Math.Pow(a,b)+a*b; //
Частным случаем оператора выражения является пустой оператор ; Он используется тогда, когда по синтаксису оператор требуется, а по смыслу — нет. Составной оператор или блок представляет собой последовательность операторов, заключенных в фигурные скобки {}. Блок обладает собственной областью видимости: объявленные внутри блока имена доступны только внутри данного блока или блоков, вложенных в него. Составные операторы применяются в случае, когда правила языка предусматривают наличие только одного оператора, а логика программы требует нескольких операторов. Например, тело цикла while должно состоять только из одного оператора. Если заключить несколько операторов в фигурные скобки, то получится блок, который будет рассматриваться компилятором как единый оператор.