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

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

Любое приложение на языке C#, разрабатываемое в среде проектирования VisualStudio.NET, реализуется как отдельный проект.

Приложение на языке  С# может состоять из нескольких модулей. Каждый модуль C# может содержать код нескольких классов .

Сама  программа на C# состоит из классов, внутри которых описывают методы и данные. Описанные переменные непосредственно внутри класса, называются полями класса. Им автоматически присваивается так называемое «значение по умолчанию».

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

 В C# любая переменная  описана внутри какого-либо блока:  класса, метода или блока внутри метода. Имя переменной должно быть уникальным в области ее действия. Область действия распространяется на вложенные в метод блоки.

 

 

 

 

 

2. ПРАКТИЧЕСКАЯ  ЧАСТЬ

2.1. Выполнение  задания № 1 курсовой работы

ВАРИАНТ № 8 Заполнить матрицу 10´10 следующим образом:

Вывести заполненную матрицу на экран компьютера или на принтер. Подсчитать сумму квадратов элементов, больших 5, найти количество элементов кратных 3, найти среди них максимальный элемент, вывести полученные результаты.

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

Алгоритм решения задания

  1. Алгоритм реализуется с помощью одной процедуры  void button1_Click(object sender, EventArgs e).
  2. Инициализируем переменные  int k = 0 и int f = 0.
  3. Определяется массив целых чисел с именем а,  состоящий из 10 строк и 10 столбцов -  int[,] a = new int[10, 10].
  4. Далее организуется цикл перебора строк с параметром i, от начального значения 0 до конечного значения 9 с шагом изменения 1   -  for (int i = 0; i < 10; i++).
  5. Затем следует описание двумерного массива, который формируется по закону, обозначенному в задании.
  6. Внутрь этого цикла вложен цикл перебора столбцов с параметром j, от начального значения 0 до конечного значения 9 с шагом изменения 1 - for (int j = 0; j < 10; j++).
  7. Внутри этих вложенных циклов перебора реализованы три проверки условия, которые в зависимости от местоположения элемента, присваивают ему соответствующее значение, определённое заданием.

if (i < 5 && j < 5  ) a[i, j] = k++;

if (i >= 5 && i < 7 && j >= 5) a[i, j] = j+6-i;

if (i >= 7 && j >= 5) a[i, j] = f--;

  1. Таким образом, осуществляется заполнение массива по заданному заданием правилу.
  2. Далее необходимо вывести заполненную матрицу на экран компьютера.
  3. Подсчитать сумму квадратов элементов, больших 5, найти количество элементов кратных 3, найти среди них максимальный элемент, вывести полученные результаты.
  4. Инициализируем переменные : int sumb5 = 0- сумма квадратов элементов, больших 5,  int kk3 = 0- количество элементов кратных 3, int amax = 0 - максимальный элемент среди больших 5 и кратных 3.
  5. Далее организуется цикл перебора строк с параметром i, от начального значения 0 до конечного значения 9 с шагом изменения 1   -  for (int i = 0; i < 10; i++). 
  6. Внутрь этого цикла вложен цикл перебора столбцов с параметром j, от начального значения 0 до конечного значения 9 с шагом изменения 1 - for (int j = 0; j < 10; j++).  
  7. Внутри этих вложенных циклов перебора индексов и  соответственно последовательного доступа к элементам вложены три проверки условия, которые в зависимости от значения подсчитывают сумму квадратов элементов больших 5, а так же количество элементов кратных 3 и среди этих элементов находит максимальное значение.

if (a[i, j] > 5)

sumb5 = sumb5 + a[i, j] * a[i, j];

if ((a[i, j] % 3 == 0) && a[i, j]!=0) kk3++;

if ((a[i, j] > 5) && (a[i, j] % 3 == 0) && (amax < a[i,j]))

amax = a[i, j];

  1.    Далее следует вывод на экран обработанной информации.

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

Контрольный пример выполнения задания представлен на рис. 2.1. и рис. 2.2.

Рис. 2.1. Контрольный пример1

 

Рис. 2.2.  Контрольный пример 2

2.2. Выполнение  задания № 2 курсовой работы

Вариант 8. Составить программу нахождения первого отрицательного члена последовательности:

an = (20n – n2)/n!, n=1,2,3,..

Найти сумму логарифмов (ln) всех положительных членов последовательности. Вывести значение этой суммы на печать, а также номер первого отрицательного члена последовательности и его значение.

Алгоритм выполнения задания.

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

Контрольный пример нахождения первого  отрицательного члена последовательности приведен на рис 2.3.

Рис. 2.3. Контрольный пример нахождения первого отрицательного члена последовательности.


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

Рис. 2.4. Блок-схема нахождения первого отрицательного члена последовательности

2.3. Выполнение  задания № 3 курсовой работы

Вариант 8. Составить программу для решения следующей задачи: дана последовательность из 40 символов. В ней есть слова, которые отделяются друг от друга пробелами.  Длина слов от 3 до 7 символов, считается, что длиннее 7 символов слов нет, между словами может быть от одного до трёх пробелов. Напечатать те слова последовательности, которые имеют максимальную длину.

Алгоритм выполнения работы.

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

Рис. 2.5. Контрольный пример решения поставленной задачи


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.6. Блок-схема нахождения максимальной длины слова.

2.4. Выполнение  задания № 4 курсовой работы

Вариант 8. Составить программу, вызывающую метод, позволяющий решить следующую задачу: даны действительные числа a и b. Получить  и вывести на экран u = min(a,b), v = min(a*b, a+b), min(u+v2, 3.14).

Алгоритм выполнения задания

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

  1. Создаем статический метод static double min (double a, double b).
  2. Инициализируем переменную double rez = 0.
  3. Сравниваем две переменные.
  4. Алгоритм реализуется с помощью одной процедуры  void button1_Click(object sender, EventArgs e).
  5. Инициализируем переменные double a = 0, double b= 0,double v=0,            double u = 0, double r = 0.
  6. Затем открываем блок исключения try.
  7. Внутри блока  try… catch преобразуем строку а в вещественный тип данных.
  8. Таким же образом преобразуем строку b в вещественный тип данных.
  9. Для подсчета значения переменной u вызываем статический метод min  и выводим результат подсчета на экран.
  10. Затем с помощью метода min вычисляем значение переменной v и выводим на экран.
  11. Таким же образом подсчитываем значение переменной r и выводим на экран.
  12. После подсчета всех значений закрываем блок catch (Exception ex).

Контрольный пример решения  поставленной задачи приведен на рис. 2.7.

Рис. 2.7. Контрольный пример решения поставленной задачи

2.5. Выполнение  задания № 5 курсовой работы

Вариант № 8 Дан файл h компонентами которого массивы целых чисел а0, а1, …, а7. Записать в файл f последовательность массивов, получающихся преобразованием исходных массивов: а0а1, а1а2, … ,а7а0.

Алгоритм выполнения задания

Пояснение работы программы  сделаем с помощью блок-схемы  алгоритма, в данном случае здесь будет три блок-схемы, т.к выполнение программы выполняется на три события. (см рис.2.9-2.11).

Контрольный пример решения  поставленной задачи приведен на рис. 2.8.

Рис. 2.8. Контрольный пример решения поставленной задачи


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. 2.9. Блок-схема на событие private void button1_Click(object sender, EventArgs e) .


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 






 






 



 


 

 


 

 






 



 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.2.10. Блок-схема на событие private void button2_Click(object sender, EventArgs e) .


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.2.11. Блок-схема на событие private void button3_Click(object sender, EventArgs e) .

ЗАКЛЮЧЕНИЕ

При выполнении настоящей  курсовой работы были освоены основные принципы разработки алгоритмов и программ, методы отладки и решения задач на ЭВМ в различных режимах. Так же были разобраны основы системного программирования и основы объектно-ориентированного подхода к программированию.

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

Инструментальной средой разработки программ стала MS Visual Studio 2010.

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

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

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

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

Темой заключительного  задания курсовой работы была работа с файлами. При решении задания использовались одномерные массивы.

По окончанию курсовой работы можно сказать, что нами были изучены и закреплены следующие задачи:

- ставить задачу и  разрабатывать алгоритм её решения;

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

- разрабатывать основные  программные документы;

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

- языками процедурного  и объектно-ориентированного программирования, навыками разработки и отладки программ не менее, чем на одном из алгоритмических процедурных языков программирования высокого уровня,

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