Está en la página 1de 4

SEGUNDA PRACTICA MB545

Alumna: Mariana Llanos Aquije


Código: 20200010D
1) Escribir un programa que realice una búsqueda dentro de un vector ordenado, este programa
debe detenerse cuando el valor es hallado, cuando se llegue al final o cuando el valor buscado
es superado.

#include<iostream>
#include<math.h>
using namespace std;

int main(){
int a[10], menor = 100, pos, aux, n, pos1;
srand(time(NULL));
for (int i = 0; i < 10; i++) {
a[i] = rand() % 15 + 1;
}
for (int j = 0; j < 10; j++) {
for (int i = j; i < 10; i++) {
if (a[i] <= menor) {
menor = a[i];
pos = i;
}
}
aux = a[j];
a[j] = menor;
a[pos] = aux;
menor = 100;
}
for (int i = 0; i < 10; i++) {
cout << a[i] << " ";
}
cout << endl << "Ingrese el valor a buscar: ";
cin >> n;

for (int i = 0; i < 10; i++) {


if (n <= a[i]) {
if (n == a[i]) {
pos1 = i+1;
cout << "Valor encontrado en la posicion: " <<
pos1;
break;
}
else {
cout << "Valor superado, no encontrado.";
break;
}
}
else {
if (i == 9) {
cout << "Valor no encontrado.";
}
}
}
}
2) Escribir el código necesario para rotar un vector en sentido antihorario o sea al revés de lo
hecho en el problema 9.

#include <iostream>
#define pi 3.14159265358979

double VectorX;
double VectorY;
double VectorAngle;
double Rotacion;
double NewVectorX;
double NewVectorY;
double NewVectorAngle;
double prueba;

int main()
{
std::cout << "Coordenada X: ";
std::cin >> VectorX;
std::cin.ignore();
std::cout << "Coordenada Y: ";
std::cin >> VectorY;
std::cout << std::endl;

VectorAngle = atan(VectorY / VectorX);

std::cout << "Angulo: " << VectorAngle * (180.00000 / pi);

std::cout << std::endl;

std::cin.ignore();

std::cout << "Rotar Antihorario (Grados): ";


std::cin >> Rotacion;

Rotacion = Rotacion * (pi / 180.00000);

std::cout << std::endl;

NewVectorX = (VectorX * cos(Rotacion)) - (VectorY * sin(Rotacion));


NewVectorY = (VectorX * sin(Rotacion)) + (VectorY * cos(Rotacion));

NewVectorAngle = atan(NewVectorY / NewVectorX) * (180.00000 / pi);

std::cout << "Nueva coordenada X: " << NewVectorX << std::endl;


std::cout << "Nueva coordenada Y: " << NewVectorY << std::endl;
std::cout << "Nuevo angulo: " << NewVectorAngle << std::endl;
}
3. Se desea escribir un programa que procese la planilla de “n” trabajadores, considerar el
registro dado.
struct empleado
{ int codemp; // Código del empleado
char nomemp [40]; // Nombre del empleado
float sb ; // Sueldo Bruto
int diasf; // Días faltos
int horase ; // Horas extras
float descuentos ; // Descuentos
float sn; // Sueldo Neto }
Para hallar los descuentos y el sueldo neto de cada trabajador debe
considerar lo siguiente:

• 13% de descuento del sueldo bruto por seguro social.


• Descuento por cada día falto.
• 50% de bonificación por cada hora extra.

#include<iostream>
#include<math.h>
#include<stdlib.h>
#include<cstring>
using namespace std;
struct empleado
{
int codemp; // Código del empleado
char nomemp[40]; // Nombre del empleado
float sb; // Sueldo Bruto
int diasf; // Días faltos
int horase; // Horas extras
float descuentos; // Descuentos
float sn; // Sueldo Neto }
}e1[10];
int main() {
int n;
float DS, DF, DD = 0.1, B; // DS, descuento por seguro social; DF,
descuento por dias faltos; DD descuento unitario por dias faltos B,
bonificacion por hora extra
cout << "Ingrese la cantidad de trabajadores: "; cin >> n;

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


{
fflush(stdin);
cout << "Ingrese el codigo del empleado: "; cin >> e1[i].codemp;
fflush(stdin);
cout << "Ingrese el sueldo bruto del empleado: "; cin >> e1[i].sb;
fflush(stdin);
cout << "Ingrese los dias faltos del empleado: "; cin >> e1[i].diasf;
fflush(stdin);
cout << "Ingrese las horas extras del empleado: "; cin >> e1[i].horase;
fflush(stdin);
DS = 0.13 * e1[i].sb;
if (e1[i].diasf % 2 == 0) {
DF = e1[i].sb * DD * ((pow(1 - DD, e1[i].diasf)) / (DD - 2.0));
}
else {
DF = e1[i].sb * DD * ((-pow(1 - DD, e1[i].diasf)) / (DD - 2.0));
}

B=0.5* e1[i].sb* ((pow(1.5, e1[i].horase)) / (0.5));


e1[i].descuentos = - (DS + DF);
fflush(stdin);
e1[i].sn = e1[i].sb + e1[i].descuentos+B;
}
for (int i = 0; i < n; i++)
{
cout << "Codigo del empleado: " << e1[i].codemp;
cout << "\nSueldo bruto: " << e1[i].sb;
cout << "\nDias faltos: " << e1[i].diasf;
cout << "\nHoras extras: " << e1[i].horase;
cout << "\nDescuento: " << e1[i].descuentos;
cout << "\nSueldo neto: " << e1[i].sn;
}
}

También podría gustarte