Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Описание практической части

Иркутский национальный исследовательский

Технический университет

Институт авиамашиностроения и транспорта
наименование института
Кафедра информатики
наименование кафедры

 

Допускаю к защите

Руководитель  
  подпись
  Е.С. Попова
  И.О. Фамилия

 

 
Решение задачи на языке программирования VC++
наименование темы

 

 

ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовой работе по дисциплине

 

Информатика

 

1.015.00.00 – ПЗ
обозначение документа

 

 

Выполнил студент   МРб-15-1       Е.А. Факунин
шифр подпись И.О. Фамилия
Нормоконтроль           Е.С. Попова
подпись И.О. Фамилия
Курсовая работа защищена с оценкой  

 

 

Иркутск 2015 г.

Министерство образования и науки Российской Федерации

Федеральное государственное бюджетное образовательное учреждение
высшего образования

 

ИРКУТСКИЙ национальный исследовательский

ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

 

 

ЗАДАНИЕ

На курсовую работу

 

По курсу Информатика
Студенту Факунину Е.А.
(фамилия, инициалы)
Тема проекта: Решение задачи на языке программирования Visual C++  
Исходные данные:  
Решить задачу в среде Visual C++6.0 создав консольное приложение. Составить таблицу спецификаций всех переменных используемых для программного кода. Создать блок-схему, определив алгоритм для решения поставленной задачи. Написать программный код по созданной блок-схеме. Результаты вычислений программного кода должны отобразить все возможные решения данной задачи.  
Рекомендуемая литература  
  1. Программирование на языке высокого уровня: учеб. для студентов вузов, обучающихся по направлению подгот. дипломир. специалистов "Информатика и вычислит. техника" / Т. А. Павловская. - СПб.: Питер, 2007. - 432 с.: ил.; 24 см. - (Учебник для вузов). - Библиогр.: с. 425-426. - Алф. указ.: с. 427-432. 2. СТО 005-2015 СИСТЕМА МЕНЕДЖМЕНТА КАЧЕСТВА. Учебно-методическая деятельность. Оформление курсовых проектов (работ) и выпускных квалификационных работ технических специальностей (http://www.istu.edu/docs/education/normativ/2015/otd_men/005_15.pdf)  
Дата выдачи задания «   » октября 2015 г.  
 
Дата представления работы руководителю «   » декабря 2015 г.
   
Руководитель курсовой работы Е.С. Попова  
                                 

подпись И.О. Фамилия

Содержание

Содержание. 3

Введение. 4

Описание практической части. 6

Заключение. 10

Список использованных источников. 11

 


Введение

Развитие информационных технологических инноваций определило появление новейших самых разных систем для создания алгоритмов – языков программирования. Смысл возникновения данного языка – группа вычислительных формул и другой информации, преобразует этот набор в алгоритм.

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

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

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

Новейшая технология.NET полностью меняет всю концепцию Windows-программирования и разработки кода для интернета (а с появлением Mono 1.0 - и программирования на Linux). В.NET компиляция переносится во времени до установки или первого запуска и исполнения кода приложений..NET компиляторы производят компиляцию в общий для всех промежуточного плана язык, который при запуске преобразовывается в стандартный машинный код. Именно поэтому не существует каких-то принципиально разных отличий между.NET-языками, а проблема выбора между как таковой нет.

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

Платформа.NET Framework является управляемой средой выполнения, предоставляющей разнообразные службы, которые запускаются в ней приложениями. Она состоит из двух главных компонентов: общеязыковой исполняющей среды (CLR), которая является механизмом, управляющим выполняющимися приложениями; и библиотеки классов.NET Framework, предоставляющей библиотеку кода, предназначенного для повторного использования, который программисты могут вызвать из своих приложений.

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


Описание практической части

Постановка задачи: Даны целые числа n, а1,…,аn. Наименьший член этой последовательности заменить целой частью среднего арифметического всех положительных членов, остальные члены оставить без изменения. Если в последовательности несколько членов со значением min(а1,…,аn), то заменить последний по порядку.

Определим следующие переменные для решения задачи в таблице (таблица 1).

Таблица 1. Спецификация

Идентификатор переменной или функции Назначение в программе Тип
  a[n] Массив целых чисел Целый
  min[j] Массив минимальных элементов Целый
  i Порядковый номер элемента Целый
  sra Среднее арифметическое элементов массива a Вещественное
  n Число элементов массива a Целый
  j Число одинаковых минимальных элементов массива a Целый
  m Массив [a1] минимальных элементов Целый

Для визуального представления алгоритма решения задачи и определения последовательности шагов составим блок-схему, что позволит понять структуру алгоритма, где определим все исходные параметры и действия для поиска результата.[a2]

 

 


Для написании программного кода используется язык программирования Visual C++, где реализация кода осуществляется путем создания консольного приложения: [a3]

#include<iostream.h>

#include<math.h>

#include<windows.h>

#include<iomanip.h>

 

char* Rus(const char* text);

char bufRus[256];

char* Rus(const char* text)

{

CharToOem(text,bufRus);

return bufRus;

}

 

void gotoxy(short x,short y)

{

HANDLE StdOut=GetStdHandle(STD_OUTPUT_HANDLE);COORD coord = {x,y};

SetConsoleCursorPosition(StdOut,coord);

}

 

void main()

{

int i,j,n,a[100],min[100],k,m;

double sra,p;

p=1;sra=0;

cout<<Rus("Число элментов последовательности, n = ");cin>>n;

cout<<Rus("Введите элементы последовательсности a")<<endl;

for(i=0;i<n;i++)

{gotoxy (i+i*2,2);cin>>a[i];}

j=0;

min[0]=a[0];

for(i=1;i<n;i++)

{

if (a[i]<min[j])

{

j=0;

min[j]=a[i];

}

else if (a[i]==min[j])

{j++;min[j]=a[i];k=i;}

}

m=0;

for(i=0;i<n;i++)

{

if (a[i]>0)

{

p=p+a[i];

m++;

}

}

sra=p/m;

a[k]=int(sra);

cout<<Rus("Массив минимальных элементов последовательности a")<<endl;

for(i=0;i<=j;i++)

{cout<<min[i]<<" ";}

cout<<endl;

cout<<Rus("Среднее арифметическое положительных элементов последовательности a = ")<<sra<<endl;

cout<<Rus("Порядковый номер изменяемого элемента: ")<<k+1<<endl;

cout<<Rus("Преобразованная последовательность a")<<endl;

for(i=0;i<n;i++)

{cout<<a[i]<<" ";}

cout<<endl;

}

Продемонстрируем результат выполнения программы. Количество элементов массива a было задано равным 10. Были последовательно через нажатие клавиши Enter [a4] введены 10 как положительных и отрицательных элементов. В результате выполнения программного кода на экран был выведен массив одинаковых минимальных элементов, среднее арифметическое положительных элементов последовательности a, порядковый номер заменяемого элемента и преобразованный массив a, в соответствии с рисунком 1.

Рисунок 1 - Результаты выполнения программы

 

При анализе результата можно увидеть следующее: в данном массиве два одинаковых минимальных элемента, равных - 6. [a5] В соответствии с условием задачи второй элемент, равный -6 был заменен на целую часть от среднего арифметического положительных элементов массива a.


Заключение

В курсовой работе была создана программа, которая производит операции с массивом целых чисел, а именно находит минимальный элемент и заменяет его на целую часть от среднего арифметического положительных элементов всего массива. Разработанная программа получилась большой по объему. Используются циклы for и операторов сравнения if и else if для минимальных элементов и положительных элементов, [a6] а также подсчета среднего арифметического.


Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...