Автор: Пользователь скрыл имя, 26 Марта 2015 в 08:30, отчет по практике
Написание программы, которая вычисляет значение выражения. Написание программы, которая подводит итоги Олимпийских игр. Написание программы, которая определяет адреса целых чисел от 0 до 9 и строчных букв латинского алфавита.
министерство образования и науки РХ
государственное бюджетное образовательное учреждение
республики хакасия среднего профессионального образования
«ХАКАССКИЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»
Специальность 230115
«Программирование в компьютерных системах»
отчет по учебной практике
По МДК 03.03. «Современные системы программирования»
Руководитель:
____________ И. В. Эрдлей
(подпись)
__________________________
(оценка, дата)
Выполнил:
Студент группы ПРО - 41
____________ У. А. Брюханова
(подпись)
__________________________
(дата)
Цели:
Строки
Написание программы, которая вычисляет значение выражения NoOiN\02..0^N\^, где N\ — целое одноразрядное число, О^ — один из двух знаков простейших арифметических действий: сложения (+) или вычитания.
Написание программы, которая подводит итоги Олимпийских игр. Программа должна получить от пользователя число медалей разного достоинства, завоеванное каждой командой-участницей, вычислить общее количество медалей и соответствующее ему число очков, и после этого упорядочить список в соответствии с 50 С/С+-^ в задачах и примерах набранным количеством очков. Количество очков вычисляется по следующему правилу: за золотую медаль команда получает семь очков, за серебряную — шесть, за бронзовую — пять очков.
Функции
Написание программы, которая по введенной стороне «а» (для правильного треугольника с вписанной и описанной окружностью), находит площадь образовавшегося кольца, используя функцию вычисления площади круга 〖S=πR〗^2. Для нахождения радиусов окружностей использовать формулы R=(a√3)/3, r=(a√3)/6.
Написание программы, которая вычисляет стоимость трех звонков известной продолжительности. Тариф предусматривает оплату телефонных разговоров следующим образом: при продолжительности разговора меньше P минут стоимость одной минуты составляет S1 копеек, в противном случае – S2 коп/мин (S1, S2, P - константы).
Указатели
Написание программы, которая определяет адреса целых чисел от 0 до 9 и строчных букв латинского алфавита.
Написание программы, которая определяет разность указателей с помощью зарезервированного имени.
Файлы
Написание программы, которая копирует произвольный файл. Системными функциями копирования файлов не пользоваться.
Написание программы, которая запрашивает с терминала имя текстового файла и произвольное слово и ищет это слово в файле.
Задачи по теме «Строки»:
Задачи по теме «Функции»:
Задачи по теме «Указатели»:
Задачи по теме «Файлы»:
Реализация приложений
Задача 1. Строки
Для реализации цели, было реализовано приложение (рис. 1), которое вычисляет выражение типа NoOiN\02..0^N\^. Пользователю необходимо ввести число, а затем символ, после ввода всех значений рассчитывается итог. (На примере: 30+10-4-1=35).
Рис.1. Результат работы приложения.
Листинг:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <cmath>
#include <ctime>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "rus");
int mass[10];
string str[10];
int kkk;
cout<< "Введите число 1"<<endl;
kkk=0;
cin>>kkk;
int jjj;
for (int i=1; i<=3; i++)
{
cout <<"Введите символ " <<i <<endl;
cin >>str[i];
cout <<"Введите число " <<i+1 <<endl;
cin >> jjj;
if (str[i]=="+")
{
kkk =kkk+jjj;
}
if (str[i]=="-")
{
kkk =kkk-jjj;
}
}
cout << kkk;
getch();
return 0;
}
Задача 2. Строки
Для реализации цели, было реализовано приложение (рис. 2), которое подводит итоги Олипмйских игр. Пользователю необходимо задать названия команды, а также количество золотых, серебрянных и бронзовых медалей. После каждого ввода команды выводится количество очков (в сумме), после ввода данных программа расчитывает места по командам.
Рис.2. Результат работы приложения.
Листинг:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <cmath>
#include <ctime>
#include <string>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "rus");
cout <<"Введите команду" <<endl;
string komanda_1;
cin >>komanda_1;
cout <<"Введите количество золотых медалей команды " <<komanda_1 <<endl;
int gold_1;
cin >>gold_1;
cout <<"Введите количество
int silver_1;
cin >>silver_1;
cout <<"Введите количество
int bronz_1;
cin >>bronz_1;
int itog1;
itog1 = gold_1*7+silver_1*6+bronz_1*5;
cout <<"ИТОГ команды " <<komanda_1 <<":" <<itog1;
cout <<endl;
cout <<"///////////////////////////
cout <<"Введите команду" <<endl;
string komanda_2;
cin >>komanda_2;
cout <<"Введите количество золотых медалей команды " <<komanda_2 <<endl;
int gold_2;
cin >>gold_2;
cout <<"Введите количество
int silver_2;
cin >>silver_2;
cout <<"Введите количество
int bronz_2;
cin >>bronz_2;
int itog2;
itog2 = gold_2*7+silver_2*6+bronz_2*5;
cout <<"ИТОГ команды " <<komanda_2 <<":" <<itog2;
cout <<endl;
cout <<"///////////////////////////
cout <<"Введите команду" <<endl;
string komanda_3;
cin >>komanda_3;
cout <<"Введите количество золотых медалей команды " <<komanda_3 <<endl;
int gold_3;
cin >>gold_3;
cout <<"Введите количество
int silver_3;
cin >>silver_3;
cout <<"Введите количество
int bronz_3;
cin >>bronz_3;
int itog3;
itog3 = gold_3*7+silver_3*6+bronz_3*5;
cout <<"ИТОГ команды " <<komanda_3 <<":" <<itog3
cout <<endl;
if (itog1>itog2 && itog1>itog3)
{
cout <<"Команда " <<komanda_1 <<" WIN!!!" <<"(1-ое место)"<<endl; //123
cout <<"Команда " <<komanda_2 <<"(2-ое место)"<<endl;
cout <<"Команда " <<komanda_3 <<"(3-ое место)"<<endl;
}
if (itog2>itog1 && itog1>itog3)
{
cout <<"Команда " <<komanda_2 <<" WIN!!!" <<"(1-ое место)"<<endl; //213
cout <<"Команда " <<komanda_1 <<"(2-ое место)"<<endl;
cout <<"Команда " <<komanda_3 <<"(3-ое место)"<<endl;
}
if (itog3>itog2 && itog2>itog1)
{
cout <<"Команда " <<komanda_3 <<" WIN!!!" <<"(1-ое место)"<<endl; //321
cout <<"Команда " <<komanda_2 <<"(2-ое место)"<<endl;
cout <<"Команда " <<komanda_1 <<"(3-ое место)"<<endl;
}
if (itog1>itog3 && itog3>itog2)
{
cout <<"Команда " <<komanda_1 <<" WIN!!!" <<"(1-ое место)"<<endl; //132
cout <<"Команда " <<komanda_3 <<"(2-ое место)"<<endl;
cout <<"Команда " <<komanda_2 <<"(3-ое место)"<<endl;
}
if (itog2>itog3 && itog3>itog1)
{
cout <<"Команда " <<komanda_2 <<" WIN!!!" <<"(1-ое место)"<<endl; //231
cout <<"Команда " <<komanda_3 <<"(2-ое место)"<<endl;
cout <<"Команда " <<komanda_1 <<"(3-ое место)"<<endl;
}
if (itog3>itog1 && itog1>itog2)
{
cout <<"Команда " <<komanda_3 <<" WIN!!!" <<"(1-ое место)"<<endl; //312
cout <<"Команда " <<komanda_1 <<"(2-ое место)"<<endl;
cout <<"Команда " <<komanda_2 <<"(3-ое место)"<<endl;
}
if (itog1==itog2 && itog2==itog3)
{
cout <<"Победила дружба"<<endl; //==
}
getch();
return 0;
}
Задача 1. Функции
В соответствии с поставленной целью было реализовано приложение (рис. 3) для нахождения площади образовавшегося кольца.
Рис. 3. Пример расчета площади по введенной стороне
Листинг:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <ctime>
#include <string>
using namespace std;
float Okor(int a)
{
float R,r,S;
R = (a*1.732)/3;
r=(a*1.732)/6;
S = 3.14*R*R;
return S;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "rus");
int a;
cout <<"Введите а" <<endl;
cin >>a;
cout <<"Ваша S = "<<Okor(a) <<endl;
getch();
return 0;
}
Задача 2. Функции
В соответствии с поставленной целью было реализовано приложение для расчета стоимости звонков, в соответствии с тарифной ставкой. В данной программе предусмотрено 2 варианта расчета: 1) пользователь сам вносит все данных (ограничение по минутам; стоимость, когда количество минут больше ограничения и когда меньше ограничения; количество проговоренных минут) (рис. 4). 2) пользователь вносит только количество проговоренных минут (рис. 5).
Рис. 4. Пример расчета суммарной суммы (пользователь вводит данный самостоятельно)
Рис. 5. Пример расчета суммарной суммы (в качестве некоторых аргументов использованы константы)
Листинг:
#include "stdafx.h"
#include <iostream>
#include <stdio.h>
#include <conio.h>
#include <math.h>
#include <ctime>
#include <string>
using namespace std;
const float PdaNo=10.0, S1NO=0.8, S2NO=1.2;
int summa = 0;
float k1,k2,k3;
int k=1;
void Simens(float P, float S1, float S2, float kolmin)
{
int summa;
float j1,j2,k;
if (P>=kolmin)
{
j1=0;
j1 = kolmin*S1;
cout <<"Стоимость = " <<j1 <<" копеек"<<endl;
if (::k==1)
{
::k1 = j1;
}
if (::k==2)
{
::k2 = j1;
}
if (::k==3)
{
::k3 = j1;
}
}
if (P<kolmin)
{
j2=0;
j2 = kolmin*S2;
cout <<"Стоимость = " <<j2 <<" копеек"<<endl;
if (::k==1)
{
::k1 = j2;
}
if (::k==2)
{
::k2 = j2;
}
if (::k==3)
{
::k3 = j2;
}
}
if (::k==3)
{
cout <<"Суммарная стоимость "<<::k1+::k2+::k3;
}
::k=::k+1;
}
int _tmain(int argc, _TCHAR* argv[])
{
setlocale (LC_ALL, "rus");
cout <<"Хотите ввести свои данные? (1-да, 0-нет)" <<endl;
int otv;
cin >>otv;
if (otv==1)
{
cout <<"Введите ограничение количества минут" <<endl;
float Pda;
cin >>Pda;
cout <<"Введите стоимость 1 минуты,если количество минут меньше ограничения" <<endl;
float S1da;
cin >>S1da;
cout <<"Введите стоимость 1 минуты,если количество минут больше ограничения" <<endl;
float S2da;
cin >>S2da;
cout <<"Введите количество проговореннных минут №1" <<endl;
float kolminda1;
cin >>kolminda1;
cout <<"Введите количество проговореннных минут №2" <<endl;
float kolminda2;
cin >>kolminda2;
cout <<"Введите количество проговореннных минут №3" <<endl;
float kolminda3;
cin >>kolminda3;
cout <<"Результат расчета (1-го разговора)..." <<endl;
Simens(Pda, S1da,S2da,kolminda1);
cout <<"Результат расчета (2-го разговора)..." <<endl;
Simens(Pda, S1da,S2da,kolminda2);
cout <<"Результат расчета (3-го разговора)..." <<endl;
Simens(Pda, S1da,S2da,kolminda3);
}
else if (otv==0)
{
cout <<"Введите количество проговореннных минут №1" <<endl;
float kolminda1NO;
cin >>kolminda1NO;
cout <<"Введите количество проговореннных минут №2" <<endl;
float kolminda2NO;
cin >>kolminda2NO;
cout <<"Введите количество проговореннных минут №3" <<endl;
float kolminda3NO;
cin >>kolminda3NO;
cout <<"Результат расчета (1-го разговора)..." <<endl;
Simens(PdaNo, S1NO,S2NO,kolminda1NO);
cout <<"Результат расчета (2-го разговора)..." <<endl;
Simens(PdaNo, S1NO,S2NO,kolminda2NO);
cout <<"Результат расчета (3-го разговора)..." <<endl;
Simens(PdaNo, S1NO,S2NO,kolminda3NO);
}
else
{
cout <<"Вы ввели не то число..." <<endl;
}
getch();
return 0;
}
Задача 1. Указатели
В соответствии с поставленной целью, в Microsoft Visual Studio было реализовано приложение (рис. 6) определяющее адреса целых чисел от 0 до 9 и строчных букв латинского алфавита. Все операторы с циклом for были заменены на операторы while. Также были определены адреса прописных букв латинского алфавита и выведены на экран (рис. 7).