martes, 12 de mayo de 2026

02.- Programación I - Parcial Nro.2 - Modelo Nro. 3 - Solución del Profesor

 



Solución

/* Programa parcial Nro. 2 - Modelo 3
cátedra: programación I
Profesor: Carlos Ferrer
Semestre (2023-II)
Rev. mayo 2023
*/

#include <iostream>
#include <windows.h>
#include <locale.h>
#include <conio.h>
#include <time.h>
using namespace std;

main()
{
char opcion;
int aux,i,j=0;
float numero;
string frase;
string palabras[100];

setlocale(LC_ALL,"spanish");

// Aplicamos técnica del Kbit / getch

cout <<"ingrese opción según instrucciones ";
repetir:
if (kbhit!=0)
{
opcion=getch();
if (opcion=='N' or opcion=='n')
{
goto Aleatorio1;
}
if (opcion=='$')
{
goto Aleatorio2;
}
}
Beep(250,250);
goto repetir;

//Generamos un numero aleatorio entre -33 y 35

Aleatorio1:
system ("cls");
srand(time(NULL));
aux= -33 + rand()%89;


//Validamos si el numero aleatorio es impar, lo imprimimos y nos salimos del programa

if (aux%2!=0)
{
cout <<"Numero aleatorio impar entre -33 y 35 = ";
cout <<aux<<endl<<endl;
return 0;
}
//Si el numero es par ingresamos la frase

cout <<"El numero aleatorio fue par = "<<aux<<endl<<endl;
nuevamente:
cout <<"Ingrese frase de mínimo cuatro (4) palabras = "<<endl;
getline (cin,frase);

//Validamos si la frase tiene mínimo 4 palabras

for (i=0;i<=frase.size()-1;i=i+1)
{
if(frase[i]==' ')
{
j=j+1;
}
}


if (j<3)
{
j=0;
cout <<"La frase debe ser de 4 palabras!!!";
Beep(250,250);
Sleep (1000);
system ("cls");
goto nuevamente;
}

//Separamos las palabras de la frase en un arreglo string (Palabra por palabra)
j=1;
for (i=0;i<=frase.size()-1;i=i+1)
{
if(frase[i]!=' ')
{
palabras[j]=palabras[j]+frase[i];
}
else 
{
j=j+1;
}
}


//imprimimos las palabras del arreglo en sentido inverso y nos salimos del programa

j=1;

cout <<endl<<"La frase con las letras de cada palabra invertida es:"<<endl;
while (palabras[j].size()>0)
{
for(i=palabras[j].size()-1;i>=0;i=i-1)
{
cout <<palabras[j][i];
}
j=j+1;
cout<<" ";
}
cout <<endl;
return 0;

//Creamos los 10 números aleatorios y los imprimimos en pantalla

Aleatorio2:
system ("cls");
cout <<"Numeros aleatorios :";
srand(time(NULL));
for(i=1;i<=10;i=i+1)
{
aux= -5 + rand()%41;
numero=aux;
numero=numero/10;
cout <<numero;
if (i<=9)
{
cout <<" / ";
}
Beep(500,500);
}
}

02.- Programación I - Parcial Nro.2 - Modelo Nro. 2 - Solución del Profesor


Solución

/* Programa parcial Nro. 2 - Modelo 2
cátedra: programación I
Profesor: Carlos Ferrer
Semestre (2023-II)
Rev. mayo 2023
*/

#include <iostream>
#include <windows.h>
#include <locale.h>
#include <conio.h>
#include <time.h>
using namespace std;

main()
{
char opcion;
int aux,i,j=0,z=1;
float numero;
string frase;
setlocale(LC_ALL,"spanish");

//Ingresamos frase de 4 palabras

nuevamente:
cout <<"Ingrese frase de mínimo cuatro (4) palabras = "<<endl;
getline (cin,frase);

//Valido si la frase tiene 4 palabras

for (i=0;i<=frase.size()-1;i=i+1)
{
if(frase[i]==' ')
{
j=j+1;
}
}


if (j!=3)
{
j=0;
cout <<"La frase debe ser de 4 palabras!!!";
Beep(250,250);
Sleep (1000);
system ("cls");
goto nuevamente;
}

// si las letras son pares presento números aleatorios

if((frase.size()-3)%2==0)
{
goto aleatorios;
}
//Si las letras son impares aplicamos técnica del Kbit / getch

cout <<"ingrese opción según instrucciones ";
repetir:
if (kbhit!=0)
{
opcion=getch();
if (opcion=='s' or opcion=='s')
{
goto contar;
}
if (opcion=='#')
{
goto extraer;
}
}
Beep(250,250);
goto repetir;

//Imprimimos en pantalla los números aleatorios
aleatorios:
system ("cls");
cout <<"Numeros aleatorios :";
srand(time(NULL));
for(i=1;i<=15;i=i+1)
{
aux= -605 + rand()%661;
numero=aux;
numero=numero/10;
cout <<numero;
if (i<=14)
{
cout <<" / ";
}
Beep(500,1000);
}
return 0;

//Rutina que cuenta las letras de cada palabra

contar:
j=0;
for (i=0;i<=frase.size();i=i+1)
{
if (frase[i]==' ' or i==frase.size())
{
cout <<endl<<"Palabra"<<z<<"="<<j;
j=0;
z=z+1;
}
else
{
j=j+1;
}
}
return 0;

//Rutina que extrae la 3ra palabra de la frase

system("cls");
i=0;
j=0;
while (i<=frase.size())
{
if (j==2)
{
cout<<"La tercera palabra es: ";
while (frase[i]!=' ')
{
cout <<frase[i];
i=i+1;
}
cout <<endl;
return 0;
}
if (frase[i]==' ')
{
    j=j+1;
}
i=i+1;
}
}

02.- Programación I - Parcial Nro.2 - Modelo Nro. 1 - Solución del Profesor

 

Solución

/* Programa parcial Nro. 2 - Modelo 1
cátedra: programación I
Profesor: Carlos Ferrer
Semestre (2023-II)
Rev. mayo 2023
*/


#include <iostream>
#include <windows.h>
#include <locale.h>
#include <conio.h>
#include <time.h>
using namespace std;

main()
{
char opcion;
int aux,i;
float numero;
string frase;
setlocale(LC_ALL,"spanish");

//aplicamos técnica del Kbit / getch

cout <<"ingrese opción según instrucciones ";
repetir:
if (kbhit!=0)
{
opcion=getch();
if (opcion=='$')
{
goto aleatorios;
}
if (opcion=='Z' or opcion=='z')
{
goto texto;
}
}
Beep(250,250);
goto repetir;
// aplicamos la opción de los números aleatorios
aleatorios:
system ("cls");
cout <<"Números aleatorios :";
srand(time(NULL));
for(i=1;i<=15;i=i+1)
{
aux= -3 + rand()%31;
numero=aux;
numero=numero/10;
cout <<numero;
if (i<=14)
{
cout <<" / ";
}
Beep(500,250);
}
return 0;
// aplicamos la opción de la frase
texto:
system ("cls");
cout <<"Ingrese frase de mínimo cuatro (4) palabras = "<<endl;
getline (cin,frase);
        for (i=0;i<frase.size()-1;i=i+1)
        {
        if(frase[i]==' ')
        {
        frase[i]='-';
}
}
cout <<endl<<"Resultado: "<<frase<<".";
}

sábado, 25 de abril de 2026

02f.- Programación I - Maquina tragamonedas - Actividad en grupo Jueves 30 de Abril de 2026




Ustedes deberán elaborar un programa que emule una maquina tragamonedas, superior a la que presentó el profesor en el video asociado al siguiente enlace:


Maquina Tragamonedas Versión 2.1 (11 de abril de 2025)

 

En la versión del video el profesor trabajo con ($, &, %, #), esta vez el profesor les solicita que trabajen con: (♠, ♦, ♣, ♥) en la medida de lo posible. Los estudiantes deberán ubicarse en grupos de tres (3) personas preferiblemente (máximo 4). NO se revisaran trabajos ejecutados de forma individual o en parejaLa ausencia de un miembro del grupo anula la participación de todo el grupo.

Un estudiante del grupo será seleccionado por el profesor para defender el trabajo el día jueves 30 de abril de 2026, el estudiante deberá estar en la capacidad de modificar el programa en caliente y responder cualquier pregunta que le haga el profesor. La calificación de este estudiante es la calificación de todo el grupo.

El programa deberá presentarse en Dev C++ Embarcadero versión 6.3 otros editores no serán aceptado. Para que todos los estudiantes compitan bajo las mismas reglas, solo se aceptarán el uso de las siguientes bibliotecas:

  • Iostream
  • windows.h
  • locale.h
  • conio.h
  • time.h
  • math.h
El uso de otra biblioteca anula la posibilidad de revisión del programa.

Los mejores programas serán calificados con la máxima nota y serán la referencia para la calificación de los otros grupos. La nota la decidirá el profesor durante la revisión y estará basada en la calidad de los programas (Originalidad, opciones, dificultad, capacidad de apostar dinero, conteo de vidas, personalización, sonido, control de tiempo, etc..). Recuerde usted compite contra sus compañeros.

Éxito!!!!!