Автор: Пользователь скрыл имя, 12 Июня 2013 в 21:56, курсовая работа
Данная курсовая работа выполнена на языке программирования высокого уровня С++ с использованием компилятора Code::Blocks. Этот язык был разработан в начале 80-х годов в BellLaboratories. С++ - расширение С, т.е. он обеспечивает кардинальное преимущество языка С++, как над своим предшественником языком С так и над другими языками высокого уровня: поддержка объектно-ориентированного программирования, перегруженных операций и возможность разработки полномасштабных windows-приложений.
1. ВВЕДЕНИЕ 3
2. СРЕДА ПРОГРАММИРОВАНИЯ CODE::BLOCKS 4
3. ПРОГРАММЫ
3.1 Задача 4.8 8
3.2 Задача 4.86 10
3.3 Задача 5.6 11
3.4 Задача 5.79 15
3.5 Задача 6.32 16
3.6 Задача 6.78 18
3.7 Задача 7.7 20
3.8 Задача 12.37 22
4. АНАЛИЗ РЕЗУЛЬТАТОВ 25
5. ЗАКЛЮЧЕНИЕ 25
6. СПИСОК ЛИТЕРАТУРЫ 26
Федеральное агентство по образованию РФ
ФГБОУ ВПО «Воронежский государственный технический университет»
Факультет информационных технологий и компьютерной безопасности
Кафедра компьютерных интеллектуальных технологий проектирования
Курсовая работа
по дисциплине «Программирование»
Выполнил студент
очной формы обучения
группы ТО-121,
Баранов П.А.
___________________________
(подпись)
Проверил
Юров А. Н.
___________________________
(подпись)
Работа зачтена
___ _____________2013____г.
ВОРОНЕЖ 2013
СОДЕРЖАНИЕ
1. ВВЕДЕНИЕ 3
2. СРЕДА ПРОГРАММИРОВАНИЯ CODE::BLOCKS 4
3. ПРОГРАММЫ
3.1 Задача 4.8 8
3.2 Задача 4.86 10
3.3 Задача 5.6 11
3.4 Задача 5.79 15
3.5 Задача 6.32 16
3.6 Задача 6.78 18
3.7 Задача 7.7 20
3.8 Задача 12.37 22
4. АНАЛИЗ РЕЗУЛЬТАТОВ 25
5. ЗАКЛЮЧЕНИЕ 25
6. СПИСОК ЛИТЕРАТУРЫ 26
Code::Blocks — свободная
Code::Blocks разрабатывается для Windows,
Linux и Mac OS X. Среду можно собрать
из исходников практически под
любую Unix-подобную систему,
Возможности компиляции
• Поддержка множества компиляторов
• Многопрофильные проекты
•Поддержка рабочих пространств
•Импорт проектов Dev-C++
•Импорт проектов и рабочих пространств MicrosoftVisualStudio (включая 2012)
Возможности интерфейса
•Подсветка синтаксиса
•Сворачивание блоков кода
•Автодополнение кода
•Браузер классов
•Скриптовой движок Squirrel
•Планировщик под несколько пользователей
•Поддержка плагинов Devpack (установочные пакеты для Dev-C++)
•Плагин wxSmith (инструмент быстрой разработки приложений (RAD) на wxWidgets)
Возможности отладки
•Поддержка отладчиков:
•Поддержка визуализации значений переменных и функций
Чтобы создать новую программу
1) Запускаем программу
2) ВыбираемCreateanewproject (показано на рисунке 1)
Рисунок 1-Сообщение от среды C::Bна начальном этапе работы
3) Consoleapplication (показано на рисунке 2)
Рисунок 2-Типы проектных решений
4) C++ (показано на рисунке 3)
Рисунок 3-Выбор языка программирования
5) Пишем название программы (показано на рисунке 4)
Рисунок 4-Создание проектного решения
6) Finish
7) Выбираем файл main.cpp (показано на рисунке 5)
Рисунок 5-Начало работы в программе
Пользование программой
А) Чтобы запустить программу выбираем (показано на рисунке 6)
Рисунок 6-Панель запуска программы
Б) Ошибки программы можно поглядеть в Buildmessages. Так же они будут подсвечиваться красным цветом в коде программы. ( Показано на рисунке 7)
Рисунок 7-Вывод ошибок
ПРОГРАММЫ
1)Условие задачи
Известны два расстояния :
Одно в километрах;Другое – в футах (1фут=0,45м).
Какое из расстояний меньше?
2) Описание решения задачи
А) Ввожу два числа с клавиатуры
Б) Перевожу в метры
В) Сравниваю два значения
3) Кодпрограммы
#include<iostream>
#include <cstdlib>
using namespace std;
int main()
{
floata,b;
setlocale(LC_ALL, "Russian");
cout<<"Введите рассояние в километрах"<<endl;
cin>>a;
cout<<"Введите рассояние в футах"<<endl;
cin>>b;
a=a*1000;
b=b*0.45;
if (a>b) cout<<"Расстояние в километрах больше"<<endl;
else
{
if (a<b) cout<<"Расстояние в футах больше"<<endl;
elsecout<<"Расстоянияравны"<<
}
system("pause");
return 0;
}
4) Результатпоказан на рисунке 8
Рисунок 8-Вывод наибольшего расстояния
1)Условие задачи
Составить программу , которая уменьшает первое введенное число в два раза, если оно больше второго введенного числа по абсолютной величине.
2) Описание решения задачи
А) Для данной задачи подключаем дополнительную библиотеку <cmath>
Б) Ввожу два числа с клавиатуры с клавиатуры
В) Ставлю условия, если модуль первого числа больше модуля второго числа, то первое число делим пополам
3) Кодпрограммы
#include <iostream>
#include <cmath>
#include <cstdlib>
using namespace std;
{
inta,b;
setlocale(LC_ALL, "Russian");
cout<<"Введите 1 число"<<endl;
cin>>a;
cout<<"Введите 2 число"<<endl;
cin>>b;
if (abs(a)-abs(b)>0) cout<<a/2<<endl;}
system("pause");
return 0;
}
4) Результатпоказан на рисунке 9
Рисунок 9-Сравнение двух чисел
1)Условие задачи
Напечатать числа следующим образом
21 20.4 16 15.5 16.8
22 21.4 17 16.5 17.8
…
35 34.4 24 23.5 24.8
а)
2) Описание решения задачи
А) Для данной задачи подключаем дополнительную библиотеку <cmath>
Б) Создаем двумерный массив и заполняем элементы числами, увеличивая значение на единицу
В) Выводим эти числа столбиком
3) Кодпрограммы
#include <iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{ inti,j,k,p;
float a[16][3],b[10][4];
setlocale(LC_ALL, "Russian");
a[1][1]=21;
a[1][2]=20.4;
cout<<"à)"<<endl;
cout<<a[1][1]<<" "<<a[1][2]<<endl;
for (i=2; i<16; i++)
{
for (j=1; j<3; j++)
{
a[i][1]=a[i-1][1]+1;
a[i][2]=a[i-1][2]+1;
cout<<a[i][j]<<" ";
}
cout<<endl;
}
b[1][1]=16;
b[1][2]=15.5;
b[1][3]=16.8;
cout<<"á)"<<endl;
cout<<b[1][1]<<" "<<b[1][2]<<" "<<b[1][3]<<endl;
for (k=2; k<10; k++)
{
for (p=1; p<4; p++)
{
b[k][1]=b[k-1][1]+1;
b[k][2]=b[k-1][2]+1;
b[k][3]=b[k-1][3]+1;
cout<<b[k][p]<<" ";
}
cout<<endl;
}
system("pause");
return 0;
}
4)Результатпоказаннарисунке 10
Рисунок 10-Вывод чисел
1)Условие задачи
Вычислить приближенно площадь фигуры, образованной кривойy= -0.5(x+1)^2+2, осью абсцисс, осью ординат и прямой y=2.
2) Описание решения задачи
3) Код программы
#include<iostream>
#include <cstdlib>
#include <cmath>
using namespace std;
int main()
{ float a, b, eps,x,s,f;
a=-3;
b=0;
eps=0.001;
s=0;
x=a;
while (x<=b)
{
x=x+eps;
f=-0.5*pow(x+1,2)+2;
s=s+f*eps;
}
cout<<s;
system("pause");
return 0;
}
4)Результат показан на рисунке 11
Рисунок 11-Вывод приближенной площади фигуры
1)Условие задачи
2) Описание решения задачи
А)
Б)
В)
3) Код программы
#include<iostream>
#include <cstdlib>
#include <string.h>
using namespace std;
int main()
{
intn,z, min, a,k=0;
cin>>n;
a=n;
min=9;
while (a>0)
{
z=a%10;
if (z<min) min=z;
a/=10;
}
while (n>0)
{
z=n%10;
if (z==min) k++;
n/=10;
}
cout<<k;
system("pause");
return 0;
}
4)Результат показан на рисунке 12
Рисунок 12-Вывод минимальных цифр в числе
1)Условие задачи
Выяснить, является ли заданное число n членом арифметической прогрессии , первый член которой равенf , а шаг-s.
2) Описание решения задачи
А) Вводим первый член арифметической прогрессии, шаг и число относительно которого мы работаем
Б) Создаем цикл (for)
В) Если данное число равно члену прогрессии, то оно входит в эту прогрессию
3) Кодпрограммы
#include<iostream>
#include <cstdlib>
using namespace std;
int main()
{
intf,n,d;
setlocale(LC_ALL, "Russian");
cout<<"Введите число"<<endl;
cin>>n;
cout<<"Введите первый член арифметической прогрессии"<<endl;
cin>>f;
cout<<"Введите шаг"<<endl;
cin>>d;
for (inti=0; i<50; i++)
{
if (n==f)
{
cout<<"Является"<<endl;
break;
}
f=f+d;
}
system("pause");
return 0;
}
4)Результатпоказан на рисунке 13
Рисунок 13-Проверяем является ли число членом прогрессии
1)Условие задачи
Определить количество натуральных чисел из интервала от 100 до 500, сумма цифр которых равна 15.
2) Описание решения задачи
А) Создаем массив, значение которых равняется самим элементам
Б) Определяем разряды в числе если сумма этих цифр равна 15 , то увеличиваем счетчик этих чисел
В) Выводим сумму этих чисел
3) Кодпрограммы
#include<iostream>
#include <cstdlib>
using namespace std;
int main()
{
inti,a[501],k=0;
for (i=100;i<501;i++)
{
a[i]=i;
if (((a[i]/100)+(a[i]%10)+(a[i]/
}
cout<<k<<endl;
system("pause");
return 0;
}
4) Результатпоказаннарисунке 14
Рисунок 14-Вывод количества натуральных чисел от 100 до 500 сумма цифр которых равна 15
1)Условие задачи
В двумерном массиве хранится информация о количестве учеников в каждом классе каждой параллели школы с первой по одиннадцатую (в первой строке – информация о классах первой параллели, во второй - второй параллели и.т.д). В каждой параллели школы имеются четыре класса. Определить общее число учеников в параллели 5-х классов
2) Описание решения задачи
А) Подключаем дополнительную библиотеку <ctime>
Б) Создаем двумерный массив и заполняем случайными числами
В) Используя циклfor,выводим сумму учеников 5ой параллели