Разработка приложений

Автор: Пользователь скрыл имя, 26 Марта 2015 в 08:30, отчет по практике

Краткое описание

Написание программы, которая вычисляет значение выражения. Написание программы, которая подводит итоги Олимпийских игр. Написание программы, которая определяет адреса целых чисел от 0 до 9 и строчных букв латинского алфавита.

Файлы: 1 файл

Отчет по УП (Брюханова).docx

— 218.23 Кб (Скачать)

 

министерство образования и науки РХ

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

республики хакасия среднего профессионального образования

«ХАКАССКИЙ ПОЛИТЕХНИЧЕСКИЙ КОЛЛЕДЖ»

 

Специальность 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. Составить программу, которая вычисляет значение заданного выражения.
    2. Составить программу, которая подводит итоги Олимпийских игр.

Задачи по теме «Функции»:

    1. Составить программу для вычисления площади правильного треугольника по введенной стороне.
    2. Составить программу для суммарного расчета стоимости трех звонков.

Задачи по теме «Указатели»:

    1. Составить программу для определения адресов целых чисел от 0 до 9 и строчных букв латинского алфавита.
    2. В программе вместо операторов цикла for применить операторы while.
    3. В программу ввести указатель на тип int и применить этот указатель по аналогии с указателем *ptr2.
    4. Добавить определение адресов прописных букв латинского алфавита и вывести их дополнительным столбцом к адресам строчных букв.
    5. Составить программу для определения разности указателей с помощью зарезервированного имени.
    6. Поменять местами переменные х и у. Проанализировать результат выполнения программы.
    7. Вывести результат с помощью одной функции printf().

Задачи по теме «Файлы»:

    1. Составить программу для копирования произвольного файла.
    2. Составить программу для поиска произвольного слова в файле.

 

 

    1. Устранить ошибки.
    2. Устранить ошибки.
    3. Составить отчет по проделанной работе.
    4. Составить отчет по проделанной работе.

 

 

Реализация приложений

Задача 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 <<"Введите количество серебрянных  медалей команды " <<komanda_1 <<endl;

int silver_1;

cin >>silver_1;

cout <<"Введите количество бронзовых  медалей команды " <<komanda_1 <<endl;

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 <<"///////////////////////////////////////////////" <<endl;

cout <<"Введите команду" <<endl;

string komanda_2;

cin >>komanda_2;

cout <<"Введите количество золотых медалей команды " <<komanda_2 <<endl;

int gold_2;

cin >>gold_2;

cout <<"Введите количество серебрянных  медалей команды " <<komanda_2 <<endl;

int silver_2;

cin >>silver_2;

cout <<"Введите количество бронзовых  медалей команды " <<komanda_2 <<endl;

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 <<"///////////////////////////////////////////////" <<endl;

cout <<"Введите команду" <<endl;

string komanda_3;

cin >>komanda_3;

cout <<"Введите количество золотых медалей команды " <<komanda_3 <<endl;

int gold_3;

cin >>gold_3;

cout <<"Введите количество серебрянных  медалей команды " <<komanda_3 <<endl;

int silver_3;

cin >>silver_3;

cout <<"Введите количество бронзовых  медалей команды " <<komanda_3 <<endl;

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).

Информация о работе Разработка приложений