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

Автор работы: Пользователь скрыл имя, 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 Кб (Скачать файл)

МИНИСТЕРСТВО  ОБРАЗОВАНИЯ И НАУКИ  РФ

ФИЛИАЛ ФГОУ ВПО МОСКОВСКОГО  ГОСУДАРСТВЕННОГО

УНИВЕРСИТЕТА ТЕХНОЛОГИЙ И УПРАВЛЕНИЯ

ИМ. К. Г. РАЗУМОВСКОГО В  Г. ВЯЗЬМЕ

 

 

 

 

 

 

 

 

Курсовая   работа

 

 

Дисциплина:            «Программирование»

Специальность:       230100 «Информатика и вычислительная техника»

Курс:                         2 (СФО)

Форма обучения:     заочная

Вариант:                    № 8

Студент:                   Зотова Валентина Юрьевна

Преподаватель:      Коростелёв Михаил Кириллович

 

 

 

 

 

2013

 

 

СОДЕРЖАНИЕ

 

 

 

 

 

 

 

 

ВВЕДЕНИЕ

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

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

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

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

Информационной базой  исследования является учебная литература по информатике и программированию, техническая документация по языку С# инструментальной среды MS Visual Studio 2010.

Практически все современные  языки программирования высокого уровня (и C# в их числе) поддерживают технологию объектно-ориентированного программирования (ООП). В этой технологии главным «действующим лицом» является объект (или компонент), представляющий собой во многом независимый от остальной части программы и, в большинстве случаев, самодостаточный ее фрагмент, решающий некоторую функциональную задачу.

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

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

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1. ТЕОРЕТИЧЕСКОЕ  ВВЕДЕНИЕ

1.1. Алфавит языка  С#

В С# используется кодировка символов Unicode. Кодировка Unicode позволяет представить символы всех существующих алфавитов одновременно, что коренным образом улучшает переносимость текстов.

  • прописные и строчные латинские буквы и буквы национальных алфавитов (включая кириллицу);
  • арабские цифры от 0 до 9, шестнадцатеричные цифры от A до F;
  • специальные знаки: "  {  }  ,  | ;  [  ]  (  )  +  -  /  %  *  .  \  '  :  ?  <  =  >  !  &  ~  ^ @ _
  • пробельные символы: пробел, символ табуляции, символ перехода на новую строку.

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

Идентификатор может включать латинские буквы и буквы национальных алфавитов, цифры и символ подчеркивания. Прописные и строчные буквы различаются, например, myname, myName и MyName — три различных имени. Первым символом идентификатора может быть буква или знак подчеркивания, но не цифра. Могут быть зарезервированные идентификаторы, которые имеют специальное значение для компилятора, например, include, main, int и т.д.

Часть идентификаторов  С# входит в фиксированный словарь  ключевых слов. Эти идентификаторы образуют подмножество ключевых слов (они так и называются ключевыми словами).

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

Существуют переменные, значение которых  нельзя изменить(константы). Константы бывают трех видов: литералы, символические константы и перечисления.

В операторе присваивания: x=32. Число 32 является литеральной константой и его значение всегда равно 32 и его нельзя изменить.

Символические константы именуют постоянные значения. Определение символической константы происходит следующим образом: 

const <тип>  <идентификатор> = <значение>;

Перечисления (enumerations) являются альтернативой константам. Перечисление - это особый размерный тип, состоящий из набора именованных констант (называемых списком перечисления).

К знакам операций относится один или более символов, определяющих действие над операндами. Внутри знака операции пробелы не допускаются. Например, в выражении а + b знак + является знаком операции, а а и b — операндами. Символы, составляющие знак операций, могут быть как специальными, например, &&, |   и <, так и буквенными, такими как as или new.

Операции делятся на унарные, бинарные и тернарную по количеству участвующих в них операндов. Один и тот же знак может интерпретироваться по-разному в зависимости от контекста. Все знаки операций, за исключением [ ], ( ).и ? :, представляют собой отдельные лексемы. Для разделения используются скобки, точка, запятая. Ниже перечислены все знаки операций и разделители, использующиеся в С#:

{}   []   (). . ::    +    - * /   *  % &    |    ˆ    !    ˜   =

<   >   ?    ++    --    &&    ||    «   »   ==    != <=>= +=    - =   .*=   

/=   %=       &=    |=    ˆ=   <<=   >>=    ->

Существуют следующие виды операций:

  • Операции инкремента (++) и декремента (--), называемые также операциями увеличения и уменьшения на единицу, имеют две формы записи  префиксную, когда знак операции записывается перед операндом, и постфиксную.
  • Операция new служит для создания нового объекта. Формат операции:    new тип ( [ аргументы ] )   
  • Арифметическое отрицание (унарный минус -) меняет знак операнда на противоположный. Стандартная операция отрицания определена для типов int, long, float, double и decimal.
  • Логическое отрицание (!)   определено для типа boo!. Результат операции значение false, если операнд равен true, и значение true, если операнд равен false.
  • Поразрядное отрицание (~), часто называемое побитовым, инвертирует каждый разряд в двоичном представлении операнда типа int, uint, long или ulong.   
  • Операция остатка от деления (%).                                                

Также в языке С# очень  часто используются управляющие символы, все используемые символы представлены в таблице 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>> или <<М>>


 

Операнды, связанные знаками операций, образуют выражения. Понятие «выражение» в языке программирования соответствует понятию «словосочетание» в языке человека. Тип выражения определяется типом операндов.

Комментарии предназначены для записи пояснений к программе и формирования документации. Компилятор комментарии игнорирует. Внутри комментария можно использовать любые символы. В С# есть два вида комментариев: однострочные и многострочные. Однострочный комментарий начинается с двух символов прямой косой черты (//) и заканчивается символом перехода на новую строку, многострочный заключается между символами-скобками /* и */ и может занимать часть строки, целую строку или несколько строк. Комментарии не вкладываются друг в друга: символы // и /* не обладают никаким специальным значением внутри комментария.

1.2. Операторы  языка С#

Программа на языке С# состоит из последовательности операторов, каждый из которых определяет законченное  описание некоторого действия и заканчивается  точкой с запятой. Все операторы  можно разделить на 4 группы: операторы следования, операторы ветвления, операторы цикла и операторы передачи управления.

Операторы следования  выполняются компилятором в естественном порядке: начиная с первого до последнего. К операторам следования относятся: выражение и составной оператор. Любое выражение, завершающееся точкой с запятой, рассматривается как оператор, выполнение которого заключается в вычислении значения выражения или выполнении законченного действия, например, вызова метода. Например:

++i;   //оператор инкремента

x+=y;   //оператор сложение с присваиванием

Console.WriteLine(x);  //вызов метода

x=Math.Pow(a,b)+a*b; //вычисление сложного выражения

Частным случаем оператора выражения  является пустой оператор ; Он используется тогда, когда по синтаксису оператор требуется, а по смыслу — нет. Составной оператор или блок представляет собой последовательность операторов, заключенных в фигурные скобки {}. Блок обладает собственной областью видимости: объявленные внутри блока имена доступны только внутри данного блока или блоков, вложенных в него. Составные операторы применяются в случае, когда правила языка предусматривают наличие только одного оператора, а логика программы требует нескольких операторов. Например, тело цикла while должно состоять только из одного оператора. Если заключить несколько операторов в фигурные скобки, то получится блок, который будет рассматриваться компилятором как единый оператор.

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