Федеральное агентство по образованию
Арзамасский политехнический институт (филиал)
Государственное образовательное учреждение высшего профессионального образования
"Нижегородский государственный технический университет" им. Р.Е. Алексеева
Кафедра "Прикладная математика"
Курсовая работа
по дисциплине
"Алгоритмические языки и программирование"
Выполнил студент
группы АСПМ 09-1
Балахонова О.В.
Проверил
Преподаватель
Лазарева А.Б
Арзамас 2010
1. Введение
2. Задача № 1
2.1 Блок – схема для ввода данных
2.2 Блок – схема для удаления элемента
2.3 Блок – схема для добавления элемента
2.4 Блок – схема главной функции
2.5 Листинг программы
2.6 Результаты работы программы
3. Задача № 2
3.1 Постановка задачи
3.2 Блок – схема для конструктора
3.3 Блок – схема для конструктора копий
3.4 Блок – схема для деструктора
3.5 Блок – схемы для доступа к закрытым полям
3.6 Блок – схема для перестановки
3.7 Блок – схема для приведения к треугольному виду
3.8 Блок – схема для аппроксимации
3.9 Блок-схема для обратной подстановки
3.10 Блок-схема для вычисления интеграла методом левых прямоугольников
3.11 Блок-схема для вычисления интеграла методом правых прямоугольников
3.12 Блок-схема для вычисления интеграла методом центральных прямоугольников
3.13 Блок-схема для вычисления интеграла методом Симпсона с автоматическим выбором шага
3.14 Листинг программы
3.15 Результаты работы программы
3.16 Теоретические сведения
Список использованных источников
1. Введение
В начале 80–х годов в фирме Bell Telephone Laboratories Бьерном Страуструпом (США) в результате дополнения и расширения языка С был создан язык, получивший название "С с классами". В 1983г. Это название было изменено на С++. В 1998г. Был утвержден окончательный стандарт языка С++.
В настоящее время С++ является одним из наиболее распространенных и востребованных языков программирования. Этот язык представляет собой фундамент, на котором строится современное программирование, поэтому он является обязательным элементом подготовки современных программистов, именно поэтому для студентов специальностей "Прикладная математика" и "Информационные системы и технологии" выбран этот язык.
2. Задача № 1
Постановка задачи
Создать файл и записать в него объекты структуры. Структура должна быть со следующими полями:
· Название команды
· Город
· Количество игроков
· Количество набранных очков
Из объектов структуры создается массив, заносится в файл. Вывести созданный файл на монитор, удалить из файла все элементы с количеством очков меньше заданного. Измененную базу данных записать в другой файл. Добавить К элементов в начало файла.
2.1 Блок – схема для ввода данных
2.2 Блок – схема для удаления элемента
2.3 Блок – схема для добавления элемента
2.4 Блок – схема главной функции
2.5 Листинг программы
#include <iostream>
#include <string>
#include <cstdio>
#include <windows.h>
#include <fstream>
using namespace std;
struct set
{char name[50];
char city[20];
int pl;
int point;
};
void data(set a1[50],int& kol );
void udal(set a[50],ofstream& f,char str[15],int& kol);
void vvodf(char str[15],ofstream& f,set a[50],int& kol);
void dobav(set a[50],ofstream& f,char str[15],int& kol);
void vivod(set a[50],int& kol);
//главная функция
void main()
{
SetConsoleCP(1251);
SetConsoleOutputCP(1251);
set a[50];
int d;
ofstream f1;
char str1[15];
cout<<"Введите полное имя файла \n"; cin>>str1;
data(a,d);
vvodf(str1,f1,a,d);
udal(a,f1,str1,d);
dobav(a,f1,str1,d);
}
//ввод данных
void data(set a1[50],int& kol)
{ cout<<"\n Сколько записей вы хотите ввести? \n";
cin>>kol;
for(int i=0;i<kol;i++)
{
cout<<"\n Введите название команды "<<i+1<<"\n";
gets(a1[i].name);
cin.getline(a1[i].name,sizeof(a1[i].name));
cout<<"\n Введите название города \n";
cin>>a1[i].city;
cout<<"\n Введите количество игроков \n";
cin>>a1[i].pl;
cout<<"\n Введите набранных очков \n";
cin>>a1[i].point;
}
vivod(a1,kol);
}
//ввод в файл
void vvodf(char str[15],ofstream& f,set a[50],int& kol)
{ f.open(str);
if(f.fail()) {cout<<"Ошибка при вводе файла"; exit(1);}
for(int i=0;i<kol;i++)
{ f<<"***********************************************"<<endl;
f<<"Название команды "<<i+1<<":"<<a[i].name<<endl;
f<<"Город: "<<a[i].city<<endl;
f<<"Количество игроков: "<<a[i].pl<<endl;
f<<"Количество очков: "<<a[i].point<<endl;
f<<endl<<endl;
}
f.close();
}
//удаление элемента
void udal(set a[50],ofstream& f,char str[15],int& kol)
{ cout<<"Введите количество очков и все команды с меньшим значением будут удалены ";
int ef; cin>>ef; int z=0;int q=0;int m=0;
for(int i=0;i<kol;i++)
{if(a[i].point<ef) {z=i;
for(int i=z;i<kol;i++)
a[i]=a[i+1];
kol--;
m=1;
}
if (m==1) {i--;m=0;}
}
vvodf(str,f,a,kol);
vivod(a,kol);
}
//добавление элемента
void dobav(set a[50],ofstream& f,char str[15],int& kol)
{
int koldob,nom=0;
cout<<"\n Сколько записей вы хотите добавить? \n"; cin>>koldob;
for(int i=kol-1;i>=nom;i--) a[i+koldob]=a[i];
f.open(str);
if(f.fail()) {cout<<"Ошибка открытии файла"; exit(1);}
for(int i=nom;i<nom+koldob;i++)
{
cout<<"\n Введите название команды "<<i+1<<" которую вы хотите добавить\n";
gets(a[i].name);
cin.getline(a[i].name,sizeof(a[i].name));
cout<<"\n Введите название города \n";
cin>>a[i].city;
cout<<"\n Введите количество игроков\n";
cin>>a[i].pl;
cout<<"\n Количество очков \n";
cin>>a[i].point;
}
kol=kol+koldob;
f.close();
vvodf(str,f,a,kol);
vivod(a,kol);
}
void vivod(set a[50],int& kol)
{cout<<endl;
for(int i=0;i<kol;i++)
{cout<<"***********************************************"<<endl;
cout<<"Название команды"<<i+1<<":"<<a[i].name<<endl;
cout<<"Город:"<<a[i].city<<endl;
cout<<"Количество игроков:"<<a[i].pl<<endl;
cout<<"Количество очков:"<<a[i].point<<endl;
cout<<endl<<endl;
}
}
... различных свойств. В результате выполнения методов объекта могут происходить новые события, воспринимаемые другими объектами программы или пользователем. 2. Интегрированная среда разработки Delphi: назначение и общее описание среды Delphi – это потомок среды программирования Turbo Pascal. Название среды произошло от названия города в Древней Греции, где находился знаменитый Дельфийский ...
... , сколько времени потребуется для его составления, как много места для возможных ошибок? Естественно, об этом задумывались и авторы языков программирования. Поэтому во всех существующих языках имеются типы переменных, отвечающие за хранение больших массивов данных. В языке Паскаль они так и называются: "массивы". Массивом будем называть упорядоченную последовательность данных одного типа, ...
... урожай который может быть обеспечен генетическим потенциалом сорта и приходом ФАР при реально существующих среднемноголетних условиях и применением агротехники. В Свердловской области величина действительно возможного урожа в основном определяется влагообеспеченностью, особенно продуктивной ее частью, которая рассчитывается по данным годового количества осадков. Таблица 7 Среднемноголетние ...
... следует до заморозков. Засилосованные початки в молочно – восковой спелости приравниваются по количеству кормовых единиц (на сухое вещество) к спелому зерну кукурузы. Следовательно, целесообразно их убирать и силосовать отдельно от стеблей и листьев. Технология возделывания и уборки кукурузы Уточни с препадом на счет дат и вид работ. 1 и 2 переставь местами строчки. № Виды работ Объем ...
0 комментариев