sábado, 21 de julio de 2018

Foro: Estructuras de Control Repetitivas


En la tarea cotidiana para resolver problemas nos topamos con situaciones rutinarias que frecuentemente debemos cumplir para lograr una meta, lo cual denota un comportamiento repetitivo que algoritmicamente denominamos "Estructuras Repetitivas", "Ciclos", o "Bucles", lo cual nos permiten valernos de la valoración lógica de una proposición que determina si continuamos en la iteración de la actividad o avanzamos conociendo que se dejó de cumplir la condición que obligaba la repetición.

De este modo les recomiendo los siguientes vídeos que les ofrece primeramente de manera introductoria como trabajar con la herramienta Pseint para resolver con algoritmos los diversos casos de estructuras repetitivas.
Seguidamente, se pone a su disposición par de vídeos que ilustran como es la resolución de problemas pero codificando en lenguaje C++, y reforzando los conocimientos previos referentes a estructuras de control repetitivas, que a saber son:
  1. While
  2. Do ... While
  3. For






En este Canal Tecno Hobbies puedes conocer un poco más sobre la utilidad de Pseint y profundizar en el dominio de la resolución algorítmica.




La actividad del Foro se basa en lo siguiente:
  1. Realiza un ejercicio en pseudocódigo donde se emplee la combinación de estructuras de control repetitivas y selectivas, de una breve explicación.
  2. Adicionalmente, agregue otro comentario donde colocará un ejercicio hecho en lenguaje C++(coloque su enunciado o de que se trata el ejercicio) pero con un error de sintaxis y un error lógico.
  3. Posteriormente, elija uno de estos ejercicios con errores e indique su apreciación de donde está la falla y de su explicación.

Fecha Tope de participación: Miércoles, 25/07/2018
Valor: 20%
Actividad individual.
Forma de entrega: 2 participaciones por estudiante(una con el pseudocódigo y el ejercicio con el par de errores, y la otra participación para indicar donde está el error de un ejercicio planteado por otro compañero, evite repetir alguno que ya esté aclarado).

31 comentarios:

  1. ejercicio 1: mostrar los múltiplos de 7 que se encuentran de 0 a 150.

    principal()
    inicio
    entero m;
    m=7;
    mientras m<150 hacer
    imprimir m;
    m=m+7;
    finmientras
    fin


    En el ejercicio 1 se declara la variable m de tipo entero, se inicializa con el valor de 7 ya que es el primer
    múltiplo de 7 entre 0 y 150; se revisa la condición del mientras (7 < 150), como la condición se cumple entra
    al ciclo y se ejecutan las dos instrucciones que están delimitadas en el bloque entre inicio-fin ({2}), así que
    imprime el 7; se le incrementa 7 a la variable m, de tal forma que m=14; revisa la condición del mientras otra
    vez (14 < 150); como la condición sigue siendo verdadera vuelve a entrar al ciclo; así sucesivamente hasta que
    el valor de m sea mayor o igual a 150, esto hará que se salga del ciclo y termine el programa.
    Si vemos la instrucción m ← m + 7, se realiza cada vez que entra al ciclo, esto hace que se cumpla la
    característica 3, para que en un momento dado m tome un valor mayor o igual a 150 y se salga del ciclo.
    El programa imprimirá 7 14 21 28 35 42 49 56 63 70 77 84 91 98 105 112 119 126 133 140 147.
    El último valor que toma m es 154, el cual es mayor a 150 y hace que no se cumpla la condición y se salga del
    ciclo “mientras”.

    ejercicio 2: Realizar los calculos para obtener el area de un triangulo.

    #include
    #include
    int main()
    {
    float altura=num1,base=num2;
    while area<50
    {
    primtf( "Introduzca base: \n" );
    scanf( "%f", &num1 );
    printf( "Introduzca altura: \n" );
    scanf( "%f", &num2 );
    printf( "el area del triangulo es:\n",num1*num2/3);
    if num1*num2/3>50
    printf( "proceso finalizado\n");
    }
    getch(); return 0;
    }

    nota: el ejercicio expuesto anteriormente posee 1 error logico y un error de sintaxis como es requerido por el pf.

    Brennery yepez C.i 25.6133.32

    ResponderBorrar
    Respuestas
    1. no se xq se borraron los #include
      #include

      Borrar
    2. Este comentario ha sido eliminado por el autor.

      Borrar
    3. El error sintantico es el primer (Primft) ya que es con "n", el error lógico es la fórmula mal planteada del área del triángulo, ya que es b*a/2 no b*a/3.
      Ya que al ocurrir el error sintáctico al momento de compilar el programa resaltara en donde se encuentra el error, mientras que el lógico es un error del programador porque es difícil que el programa identifique el error por lo que el programador tendría que modificar el código (formula) hasta que el programa funcione correctamente y pueda dar el resultado esperado.

      Borrar
  2. 1)Ejercicio:

    Calculaar el producto (multiplicación) entre un conjunto de números reales hasta que el número introducido sea cero.

    Pseudocodigo: Solución

    Principal()
    Inicio
    real num, prod
    prod <- 1
    imprimir "Dame un número real"
    leer num
    mientras (num <>0)
    Inicio
    prod <- prod*num
    imprimir "Dame otro número"
    leer num
    fin
    imprimir " El producto es: ", prod

    fin

    Explicación: en el ejercicio la condición revisa que el número que capturó el usuario sea diferente de 0 ya que si es cero el producto que tengamos se haría cero.

    Se declara dos variables reales *num* para almacenar los diferentes números que capture el usuario.
    Y el *prod* para que se vayan multiplicando estos números.

    Se inicializa la variable prod con 1 para que el primer número que capture se multiplique por la unidad esta variable se queda con ese valor y a partir de ahí continúe realizando el producto.

    Ejemplo:

    Se captura un número y se almacena en num=8
    Se revisa la condición como (8<>0)
    Y entra al ciclo prod=pro*num, es decir prod=1*8=8.
    Se lee otro número y se almacena en num, y asi sucesivamente.
    Pero si el num=0.
    Se revisa la condicion como (0<>0)
    Se sale del ciclo.
    Se pasa a la siguiente instrucción que esta despues del fin del bloque de instrucciones del ciclo "mientras" e imprimira "El producto es : 8".


    2) Ejercicio:

    Crear un programa que reciba un número entero positivo N de ó más cifras.
    Si N es impar debe mostrar el número invertido.
    Si N es par debe mostrar el número de veces que aparece el digito "d" dado por el usuario, también el número M que es igual al número N sin considerar los digitos "d".


    Programción C++: Solución


    #include
    #include
    using namespace std;

    void maim()
    {
    int num=0, n, m, d, cont=0;
    double N=0;
    do
    {
    cout << "Ingrese N: " ; cin >> n;
    } while (n<1000)

    if(n%2==0)
    {
    m=n;
    cout << endl << "Ingrese digitos: " ; cin>> d;

    while(m!=0)
    {
    if(m%10==d)
    {
    cont++;
    }
    else
    {
    N=N+(m%10)*pow(10, num++);
    }
    m*10;
    }
    cout << " Numero que aparecera el digito" << d << " : " << cont;
    cout << endl << M = << N << endl ;
    {
    else
    {
    m=n;
    while(m!=0)
    {
    N=10*N+(m% 10);
    m= m*10;
    {
    cout << "Numero Invertido" << N << endl;
    }

    system ("pause");

    }

    Nota: El ejercicio 2 presenta dos errores, uno sintantico y otro lógico.

    ResponderBorrar
    Respuestas
    1. Con respecto al error de sintaxis el main se encuentra escrito de forma incorrecta, ya que en el ejercicio esta maim con "m" y la forma correcta es main, recordemos que main es el punto de entrada para dar inicio al programa
      El error logico presente se encuentra en que para obtener el numero invertido si N es impar, la operacion en m deberia ser m= m/10 y no m*10 como lo señala el ejercicio ya que el resultado seria erroneo

      Mauriant Briceño 26673334

      Borrar
  3. Este comentario ha sido eliminado por el autor.

    ResponderBorrar
  4. ALGORITMO CONTRASEÑA;
    VAR
    ENTERO Clave, Intentos;
    INICIO
    Intentos <- 0;
    REPETIR
    Intentos <- Intentos + 1;

    ESCRIBIR("Dame la clave: ");
    LEER(Clave);
    HASTA (Clave == 277) OR (Clave == 211) OR (Clave == 146) OR (Intentos == 3)

    SI (Intentos == 3) AND (Clave <> 277) AND (Clave <> 211) AND (Clave<> 146)
    ESCRIBIR(" Clave incorrecta, demasiados intentos");
    SINO
    ESCRIBIR("Clave correcta");
    FIN SI
    FIN

    Explicación
    En este ejercicio se está utilizando la estructura de control repetitiva REPETIR HASTA , y las estructuras de control selectiva SI y SINO, en este ejercicio pide una contraseña hasta que la clave sea 277,211 o 146 , solo permite tres intentos.
    Primeramente se declaran las variables, de tipo entero, en este caso son Clave, Intentos
    Se da inicio al programa
    Como no se han ingresado ningún dato, se ejecuta el programa , Se coloca la estructura repetitiva REPETIR ya que ella me indica que el programa se repetirá hasta conseguir el valor indicado en un máximo de 3 intentos,
    El programa Pide la clave , y se ingresa por el usuario un valor.
    Si el valor suministrado en 3 intentos no es ninguno de los señalados (277, 211 o 146) el programa le indicara que la clave es incorrecta y demasiados intentos
    SINO es decir si el valor suministrado en los 3 intentos es alguno de los señalados (277,211 o 146) el programa me indicara que la clave es la correcta
    En este ejercicio se utiliza la estructura de control selectiva, if, y else, que me indican que es una estructura de control selectiva multiple, es decir que tengo varias opciones para solucionar la toma de decisiones.
    Para realizar los ejercicios en pseudocodigo deben tener Inicio y Fin
    Las estructuras repetitivas también deben finalizarse al utilizar una, es por ello que se encuentra Fin Si



    Ejercicio 2
    #include
    int main()
    {
    int contador;

    for (contador=1; contador<=10; contador--)
    printf("%d ", contador);

    return 0;



    Explicación :
    Se utiliza la estructura repetitiva FOR , se estructura de la siguiente manera (Valor inicial, condición repetición, incremento y luego sentencia)
    Así, para contar del 1 al 10, se tiene 1 como valor inicial, <=10 como condición de repetición, y el incremento sería de 1 en 1
    Se recuerda que contador++ es una forma abreviada de escribir contador = contador+1 , por esto en el ejercicio expuesto se aumenta la variable de 1 en 1

    NOTA: ESTE EJERCICIO PRESENTA UN ERROR LOGICO Y UN ERROR DE SINTAXIS EN SU ELABORACION


    Mauriant Bbriceño 26673334

    ResponderBorrar
  5. El error de sintaxis presente en este ejercicio es que le falta la "}" de cierre del programa.
    en cuanto el error lógico se presenta en el contador , debido que el ejercicio dice que se utiliza un contador de incremento el cual es "contador++" sin embargo esta colocado en programa "contador--" ocurriendo así un error lógico debido a que se obtendrán resultados los cuales no son los esperados.
    Brennery yepez

    ResponderBorrar
  6. Ejercicio #1
    Pseudocódigo parar calcular la media de los números pares e impares, sólo se ingresará diez números.
    Inicio
    Definir conta,conta1,conta2 Como Entero;
    Definir n,suma1,suma2,media1,media2 Como Real;
    conta <- 0; conta1 <- 0; conta2 <- 0;
    // conta 1 y 2 son los contadores de los números
    // positivos (conta1) y negativos (conta2)
    suma1 <- 0; suma2 <- 0;
    media1 <- 0; media2 <- 0;
    // Suma 1,2 y Media 1 y 2 también son
    // para los números positivos y negativos
    Repetir
    Leer n;
    Si (n>0) Entonces
    suma1 <- suma1+n;
    conta1 <- conta1+1;
    SiNo
    suma2 <- suma2+n;
    conta2 <- conta2+1;
    FinSi
    conta <- conta+1;
    Hasta Que conta=10
    media1 <- suma1/conta1;
    media2 <- suma2/conta2;
    Escribir 'La media de los números positivos es: ',media1;
    Escribir 'La media de los números negativos es: ',media2;
    FinAlgoritmo
    Explicación: primeramente se definen las variables conta, suma y media tanto enteras como reales, luego a cada variable se le determina su valor. Ahora se da lo que es la estructura repetitiva “repetir” que comienza con “leer n”, luego se presenta la estructura selectiva “si y sino” en donde si es n<0, de ser así se realizan las operaciones dentro de ella y el sino es todo lo contrario y también se realizan sus operaciones, también presenta un “finsi” que tiene como condición de salida conta<-conta2+1, consiguiente llega el fin de la estructura repetitiva con el “hasta que conta=10”. Una vez terminado se sacan las medias para los números positivos y negativos, y a su vez se escriben los resultados.
    Ejercicio #2
    Lenguaje c++: programación que se utiliza para que al momento de teclear un número distinto a cero nos determine si es positivo o negativo. Se utiliza la estructura while, la cual para entrar al bucle se debe cumplir la condición inicial que es que al teclear un numero este debe ser “numero!=0”, es decir distinto a cero. Una vez adentro de la estructura se trabaja con la estructura selectiva if, en donde la condición de if trata de que si el numero es mayor a 0, arrojara que es positivo, sino (else) arrojara que es negativo. Y luego se da otra vez la opción de teclear otro numero para seguir la estructura o se teclea 0 para salir del programa.
    #include

    int main()
    {
    int numero;

    printf("Teclea un número (0 para salir): ");
    scanf("%d", &numero);
    while (numero!=0)
    {
    if (numero < 0) printf("Es positivo\n");
    else printf("Es negativo\n");
    printf("Teclea otro número (0 para salir): ");
    scanf("%d", &numero);


    return 0;
    }
    EL EJERCICIO PRESENTA UN ERROR SINTÁCTICO Y UN ERROR LÓGICO

    Jesús Lugo
    25.945.352

    ResponderBorrar
    Respuestas
    1. El error sintáctico es que no se encuentra la llave de cierre de la estructura repetitiva while
      Y el error lógico se encuentra en la condición if, ya que el enunciado dice que la condición if trata de que si el número tecleado es mayor a 0 es positivo y ahí se representa de la siguiente forma (numero<0), queriendo decir que si es menor a 0 es positivo.

      Maryvic Reyes

      Borrar
  7. Pseudocódigo para calcular la suma de los primeros cien números con un ciclo mientras.
    Inicio
    Int suma,conta;
    conta <- 0; suma <- 0;
    Mientras (conta<100) Hacer
    conta <- conta+1;
    suma <- suma+conta;
    FinMientras
    Escribir 'La suma es: ',suma;
    FinAlgoritmo
    El pseudocódigo se basa en la suma de los primeros cien numero con la estructura repetitiva “mientras”. Se declaran las variables suma y conta, se denomina su valor y se da empleo a la estructura repetitiva, en donde su condición es que conta debe ser menor a 100 para poder entrar a la misma. Si es así conta será “conta+1” y la suma es “suma+conta”, y asi será progresivamente hasta que sea mayor a 100.

    Lenguaje c++: es una programación que trata de un sistema que pide clave de acceso y el mismo no te dejara entrar hasta ingresar la clave correcta. Se utiliza la estructura repetitiva do while, la cual permite entrar al bucle antes de ver si se cumple o no la condición del while. Dentro de la estructura se da la introducción de la clave numérica y siguiente la estructura selectiva if, la cual tiene como condición que si la “clave” es distinta a “valida”, nos arrojara un “no valido”, luego se sale del bucle y nos encontramos con el while y su condición que trata de (clave!=valida), lo cual si se cumple la condición se volverá a entrar al bucle hasta que se introduzca la clave correcta.
    #include
     
    int main()
    {
    int valida = 711;
    int clave;
     
    do
    {
    printf("Introduzca su clave numérica: ");
    scanf("%d", &clave);
    if (clave == valida) prinft("No válida!\n");
    }
    while (clave != valida);
    printf("Aceptada.\n");
     
    return 0;
    }
    El ejercicio tiene un error de sintaxis y un error lógico.

    Maryvic reyes
    25.925.431

    ResponderBorrar
    Respuestas
    1. El error sintáctico se encuentra después de la condición del if, donde se encuentra prinft y es erróneo porque está mal escrita, la forma correcta es printf
      El error lógico se presenta en la condición del if, ya que el ejercicio explica que la dicha condición trata de que si clave es distinta a valida, nos arrojara que es no valida, de esta forma con la clave correcta nos dice que es no valido pero al mismo tiempo será aceptada. La condición debe estar empleada de la siguiente forma (clave!=valida) para asi concordar con la condición del while

      Borrar
  8. Ejercicio en pseudocódigo: Realice un algoritmo en pseudocódigo en español que permita leer y mostrar los nombres de 10 pacientes del área de cardiológia del hospital general de Coro.

    Algoritmo que permite leer y mostrar los nombres de 10 pacientes cardiologicos.

    Declaración de Variables
    Nombre_Paciente_cardiologico: Alfabetico
    Contador: Entero
    Inicio
    Escribir (“Programa que permite leer y mostrar los nombres de 10 pacientes cardiologicos del hospital general de Coro”)
    Contador ß 0
    Mientras (Contador <= 10)
    Contador ß Contador + 1
    Escribir “Introduzca el nombre nº ”, Contador, “:”
    Leer (Nombre_paciente_cardiologico)
    Escribir “El nombre del paciente nº ”, Contador, “es:”, Nombre_paciente_cardiologico
    Fin Mientras
    Fin

    Se presenta un ejercicio simple, donde se muestran 10 nombres de unos "pacientes cardiologicos del hospital general de coro" donde se realiza la declaración de variables para poder dar inicio al programa, se hace uso de: "mientras" que es el resultado de la expresión lógica sea verdadero, se realizarán iteraciones donde se ejecutarán las acciones encerradas en el cuerpo del bucle.

    Participante: Argelia Castro Cuart

    ResponderBorrar
  9. El ejercicio a presentar contiene un error lógico y uno sintáctico: encontrar el error.

    #include
    using namespace std;
    int main()
    {
    int res, x, y, i;
    cout << "dame y" << endl;
    cin >> y;
    cout << "dame x" << endl;
    cin >> y;
    if (x == 0)
    cout << "La potencia es 1" << endl;
    else
    {
    res = y;
    for (i = 0; i <= x; i++)
    res = res * y;
    cout<<"La potencia es " << res;
    }
    sisten("pause");
    return 0;
    }


    Participante: Argelia Castro Cuart

    ResponderBorrar
    Respuestas
    1. Bueno el error de sintaxis que presenta dicho ejercicio es que al comienzo de la programación con el lenguaje C++ se ha escrito sisten en vez de system es decir existe un error por cual el programa no podrá seguir complicando si no se corrige el error efectuado, por otro lado se pudo notar que también presenta un error lógico dado al caso que cout << "dame x" << endl;
      cin >> y; la salida no tiene concordancia con la entrada por lo que deberia de ser cout << "dame x" << endl;
      cin >> x;
      jhongelis torres

      Borrar
  10. Ejercicio 1
    Un estudiante realiza cuatro exámenes durante el semestre, los cuales tienen la misma ponderación. Realice el pseudocódigo. Las variables que se van a utilizar en la solución de este problema se muestran a continuación:
    Nombre de la variable Descripción Tipo: C1, C2, C3, C4 Calificaciones obtenidas Real
    Suma de calificaciones Real
    P Promedio calculado Real
    1. Inicio

    2. Leer C1, C2, C3, C4
    3. Hacer S = C1 + C2 + C3 + C4
    4. Hacer P = S/4
    5. Escribir P
    6. Fin
    Como se utilizo el siguiente pseudocódigo para determinar las siguientes calificaciones, para ello, primeramente se parte de que para poder obtener un promedio de calificaciones es necesario conocer estas calificaciones, las cuales las tenemos que leer de alguna parte (C1, C2, C3, C4); posteriormente, se tienen que sumar para saber el total de calificaciones obtenidas (S), y con base en el número de calificaciones proporcionadas (4), poder calcular el promedio obtenido (P) y presentar dicho pseudocódigo.


    Ejercicio 2
    Desarrollar un programa que despliegue en pantalla la tabla de multiplicar de un número dado por usuario. El número a ingresar solo es permitido entre 1 a 6, sino, se muestra un mensaje de error y termina el programa, número a ingresar solo es permitido entre 1 a 6, sino, se muestra un mensaje de error y termina el programa.

    / * P r o g r a m a q u e m u e s t r a t a b l a d e
    m u l t i p l i c a r * /
    i n c l u d e < i o s t r e a m . h >
    i n c l u d e < m a t h . h >
    i n c l u d e < c o n i o . h >
    m a i n ( ) {
    / * n u m e r o p a r a v e r s u t a b l a m u l t i p l i c a r ( T M ) * /
    i n t N ;
    / * c o n t a d o r u s a d o p a r a g e n e r a r T M d e l N
    a n t e r i o r * /
    i n t i ;
    / * v a l o r d e m u l t i p l i c a r c o n t a d o r p o r N * /
    i n t m u l ;
    c o u t < < " V E R T A B L A D E M U L T I P L I C A R \ n \ n " ;
    c o u t < < " I n g r e s e u n n u m e r o e n t r e
    s o l a m e n t e ( 2 y 8 ) : \ t " ;
    c i n > > N ;
    i f ( ( N > = 1 ) & & ( N < = 6 ) ) {
    c o u t < < " \ n T a b l a d e m u l t i p l i c a r d e l " < < N ;
    f o r ( i = 1 ; i < = 1 0 ; i = i + 1 ) {
    m u l = N * i ;
    c o u t < < " \ n " < < N < < " p o r " < < i < < "
    e s " < < m u l ;
    } / / f i n f o r
    } e l s e {
    c o u t < < " \ n \ n E r r o r , n u m e r o i n c o r r e c t o . . " ;
    } / / finif
    getch ( ) ;
    } / / finmain


    Jhongelis Torres
    26.572.768

    ResponderBorrar
    Respuestas
    1. El error de sintaxis que observo es que la amiga Jhongelis Torres escribió include y debía ser: #include
      Por otra parte el error lógico seria: el número a ingresar solo es permitido entre 1 a 6, pero sucede lo contrario puesto que el número que resulto en el ejercicio fue de 2 y 8.

      Borrar
  11. Primer ejercicio Pseudocódigo:

    Este ejercicio busca contar los multiplos de 3 desde la unidad hasta un número que introducimos por teclado. 

    PROGRAMA multiplo 3 
    ENTORNO: 
       i <- 3 
       n <- 0 
       c <- 0 
    ALGORITMO: 
       Borrar_pantalla( ) 
       ESCRIBIR "N£mero: " 
       LEER n 
       MIENTRAS i <= n HACER 
          SI i = int( i / 3 ) * 3 ENTONCES 
             ESCRIBIR i 
             c <- c + 1 
          FINSI 
          i <- i + 1 
       FINMIENTRAS 
       ESCRIBIR "El n£mero de m£ltiplos de 3 son: " 
       ESCRIBIR c 
    FINPROGRAMA

    Segundo ejercicio estructuras de control repetitivas:

    El siguiente programa, realiza el cálculo de la suma de una secuencia de enteros hasta encontrar el cero, utilizando como estructura repetitiva un do-while:

    main(){
    int num, suma;
    suma=0;
    do {
    scanf(“%d\n”,&num);
    suma -= num;
    } wile (num<>0)
    printf(“suma=%d”,suma);
    }

    Nota: La información sumistrada contiene Los dos errores.

    Ana Meléndez CI 25.638.856

    ResponderBorrar
  12. el primer error el sintáctico se encuentra en que la condicion while esta mal escrita (wile), y el segundo error, en este caso el error lógico se visualiza en que como el programa trata de una suma se debió colocar "suma+=num no suma-=num"

    ResponderBorrar
  13. 1. Haga que el usuario ingrese numero hasta que adivine el numero correcto (10), una vez que adivine el numero correcto, felicitarlo.
    Inicio
    definir num como entero
    definir correcto como entero
    num:=0;
    correcto:=10;
    escribir “adivine el numeo correcto”;
    mientras nun <> correcto
    escribir “Num:”;
    leer num;
    si nun <> correcto Entonces
    escribir “incorrecto, intenta otra vez”;
    FinSi
    FinMientras
    FinProceso
    Escribir “FELICIDADES, HAZ ADIVINADO”

    El ejercicio inicia con la declaración de variables, en este caso “num y correcto”de tipo entero, posteriormente se inicializa num con el valor de 0 y correcto se inicializa con el valor de (10)
    Luego el programa nos indica que el programa se basa en que se debe adivinar el numero correcto, posterior a ello, aparece la estructura repetitiva, donde su condición indica que mientras la variable num sea distinta de la variable correcto anteriormente inicializada en (10) aparecerá la palabra” incorrecto, intenta otra vez”; es decir, una vez que el programa pide al usuario que ingrese un número, el programa evalua dicho valor y mientras este valor sea distinto de (10) el programa nos indicara que se ingrese otro valor, pues el anterior es incorrecto, y esto se repetirá hasta que el usuario coloque el numero correcto(10). Una vez que el usuario coloque el número correcto (10) el programa mostrara “FELICIDADES; HAZ GANADO” y se cierra el bucle pues se ha cumplido la sentencia.

    Ejericios 2: desarrollar un programa donde se le solicita al usuario que haga una suma de números (los números que el usuario decida)
    #include
    #include
    using namespace std;
    int números,i;
    float num,total;
    coutm<< “¿cuantos números desea sumar?:”<>números;
    i=1;
    while(i<números+1)
    {
    Coutn<<”dame el valor del numero”<<i<<”:”;
    Cin<<num;
    total=total+num;
    i--;
    }
    Count<<end1<<”el total es: ”<<total<<end1;
    Systen(“pause”);
    Return 0;

    ResponderBorrar
    Respuestas
    1. En el ejercicio planteado por la compañera se puede apreciar un error de sintaxis, donde el primer comando de salida de pantalla se encuentra mal escrito “coutm", siendo su forma correcta de transcripción “coutn", error que debe ser arrojado por el programa a la hora de ejecutar. De igual manera,continuando con el análisis del ejercicio, se puede apreciar un error de tipo lógico, al apreciarse un decremento de la variable "i" visualisandose como "i--;", ya que este es un ejercicio pautado con el propósito de realizar una suma, por lo tanto dicha solución sería replantear la formula utilizando un incremento de la variable “i" de la siguiente manera “i++;”. Pudiéndose dar una ejecución aceptable para el programa.

      Borrar
  14. Escribir Pseudocodigo que dados 2 valores de entrada imprima siempre la división del mayor entre el menor.

    Inicio

    Variables num1, num2=entero.

    Variables R=real.

    Imprimir "Introdce los números:"

    Leer num1, Leer num2.

    Si a>b entonces

    R= a/b

    Sino

    R= b/a

    Finsi
    Imprimir "La división es =", R;



    Que pida un número del 1 al 7 y diga el día de la semana correspondiente.

    #include
    #include

    int main(void)
    {
    int i;
    printf("Introduzca número del 1 al 7:");
    scanf("%d",&i);

    switch(i){
    case 1:
    printf ("Lunes\n");
    break;
    case 2:
    printf ("Martes\n");
    break;
    case 3:
    printf ("Miércoles\n");
    break;
    case 5:
    printf ("Viernes\n");
    break;
    case 4:
    printf ("Jueves\n");
    break;
    case 6:
    printf ("Sábado\n");
    break;
    case 7:
    printf ("Domingo\n");
    break;
    default:
    printf ("Opción no válida\n");
    break;
    }

    system("PAUSE");
    return 0;
    }

    ResponderBorrar
  15. para empezar el ejercicio numero 1, sera en pseudocodigo, el presente ejercicio busca crear un programa que registre los datos del usuario tomando en cuenta los valores de la edad, y el sexo, para determinar, si dicho usuario esta apto para votar en unas elecciones, tomando en cuenta el limite minimo de edad necesario para poder votar
    Ejercicio numero 1 en Pseudocodigo:

    Inicio
    Variables edad=entero, sexo=carácter.
    Repetir
    Imprimir "Introduce Tu edad:"
    Leer edad.
    Hasta que (edad >0)
    Hacer
    Imprimir "Introduce tu sexo (M/H):"
    Leer sexo
    Hasta que (sexo='H' o sexo = 'M')
    Si sexo= 'M' entonces
    Si edad > 18 entonces
    Imprimir "Eres Mujer y puedes votar"
    Sino
    Imprimir "Eres Mujer y no puedes votar"
    Sino
    Si edad >18 entonces
    Imprimir "Eres Hombre y puedes votar"
    Sino
    Imprimir "Eres Hombre y no puedes votar"
    Fin.

    En el presente ejercicio luego de iniciar se procedio a determinar las variables, la edad como un entero debido a que se trata de un numero, y el sexo como un caracter que el usuario debera elegir entre las dos opciones, se usa la condicion repetir para recalcar desde que punto se inicializara el programa y volvera a realizar el comando imprimir"Introduce Tu edad:"
    Leer edad.
    se usa el comando leer para registrar los datos que el usuario indicara en su edad, y se dan las dos opciones M/H para que el usuario elija entre las dos opciones mujer u hombre, posteriormente indicara si edad<18 no podra votar por no tener la edad necesaria indicando tambien el sexo que introdujo el usuario, si es hombre o mujer.

    Para el segundo ejercicio se llevara a cabo un programa en lenguaje c++, que busca que el usuario registre un numero, y dicho programa indique si ese numero es negativo o positivo, para ello usamos #include y #include como librerias para usar los comandos reflejados en el programa, se trata de una estructura de control que ejecuta una accion si se cumple una condicion con el comando if, y usa el comando else if para cumplir otra accion en caso de que no se cumpla la condicion planteando otra condicion a su vez, y usando unicamente el comando else, en caso de no cumplir con ambos casos,el ejercicio cuenta con un par de errores de sintaxis y de logica
    Ejercicio numero 2 en C++:

    #include
    #include
    Int main (void)
    {
    Int num1;
    Printf ("Introduzca número 1:");
    Scan ("%d", &num1);
    If (num1<0)
    {
    Printf ("Es positivo\n");
    }
    Else if (num1>0)
    {
    Printf ("Es negativo\n");
    }
    Else
    {
    Printf ("Es cero\n");
    }
    System ("PAUSE");
    Return 0;
    }

    Jose Gamero
    C.I.:25.945.530

    ResponderBorrar
  16. Elabora un algoritmo que lea N cantidad de notas, calcular el promedio. Si este es menor que 10, imprimir. “Reprobado”. Si es mayor o igual a 10, imprimir. “Aprobado”.
    En el análisis de un enunciado hay que determinar:
    A. Entradas: En este caso se mencionan N cantidad de notas (valores), que serán almacenadas en una variable que llamaremos NT.
    B. Proceso: Según el enunciado, será emplear una condición que permita determinar si la nota es mayor o igual que 10 o menor que esta cifra.
    C. Salida: La salida será un mensaje.
    Pasos
    Inicio
    CONT 0
    Leer por teclado el valor de N
    Mientras CONT

    int main()
    {
    float base, altura;

    base = 8.3;
    altura = 4.;

    printf( "El area es: %f", base * altura / 3 );

    return 0;
    }


    Su salida por pantalla es:

    El area es: 11.0


    No existen errores de sintaxis ni de ejecución, sin embargo, la salida esperada es:

    El area es: 16.6


    Por consiguiente, existe algún error lógico que hay que corregir. El error está en la expresión:

    base * altura / 3

    que, aunque no es incorrecta, no sirve para calcular el área de un triángulo. En su lugar se debe escribir:

    base * altura / 2


    Un error de sintaxis se produce al escribir, incorrectamente, alguna parte del código.

    include

    imt main()
    {
    int a, b;

    a = 4;
    b = a * 6;

    printf( "%d", b )

    retunr 0;
    }


    Existen cuatro errores de sintaxis:
    • Se ha escrito include en vez de #include.
    • Se ha escrito imt en vez de int.
    • Falta un punto y coma (;) después de la llamada a printf.
    • Se ha escrito retunr en vez de return.

    Un error de ejecución se produce cuando el ordenador no puede ejecutar alguna instrucción de forma correcta.

    #include

    int main()
    {
    int a;
    float b;

    a = 0;
    b = 6.4 / a;

    printf( "%f", b );

    return 0;
    }


    se produce un error de ejecución, ya que, al intentar evaluar la expresión:

    6.4 / a

    a vale 0, y no se puede dividir entre cero.


    Yenireth Correia

    ResponderBorrar
  17. Ejercicio 1
    Realice un algoritmo en pseudocódigo que permita obtener la suma de dos números teniendo en cuenta que el primer número tiene que ser mayor que el segundo y si el resultado de la suma es mayor o igual que 230 se dividirá entre 2

    Algoritmo que permite Calcular la suma de dos números
    Declaración de Variables
    Número_1, Número_2, Suma: Entero
    Inicio
    Escribir “Calcular la suma de dos números”
    Escribir “Introduzca los siguientes datos:”
    Escribir “Primer número: ”
    Leer(Número_1)
    Escribir “Segundo número: ”
    Leer(Número_2)

    Si (Número_1 > Número_2) Entonces
    Escribir “Se realizará la suma el primer número es mayor que el segundo”
    Suma ß Número_1 + Número_2
    Si (Suma>=230) Entonces
    Escribir “La suma es mayor a 230 se dividirá entre 2”
    Suma ß Suma / 2
    Fin Si
    Fin Si
    Escribir “El resultado es: ”, Suma
    Fin


    Leer un número entero de tres dígitos y determinar si al menos dos de sus tres dígitos son iguales.


    #include
    #include

    int main(){
    int num, dig1, dig2, dig3;

    do{
    printf("\nIngrese un numero: ");
    scanf("%d", &num);
    } while (num < 100 || num > 999);

    dig3 = num % 10;
    num = num / 10;

    dig2 = num % 10;
    num = num / 10;

    dig1 = num % 10;

    if (dig1 == dig2 && dig2 == dig3){
    printf("\nLos tres digitos son iguales\n");
    }
    else if ( (dig1 == dig2) || (dig1 == dig3) || (dig2 == dig3) ){
    printf("\nDos digitos son iguales\n");
    }
    else{
    printf("\nNingun digito es igual\n");
    }

    system("pause");
    return 0;
    }

    Adanmarys quero C.I 26197921

    ResponderBorrar
  18. 1).
    Usando "mientras" y la condición "si"
    VAR
    ENTERO Numero;
    INICIO
    ESCRIBIR("Dime un número menor de 100");
    LEER( Numero );
    MIENTRAS( Numero <= 100 ) HACER
    ESCRIBIR("Dime un número menor de 100");
    LEER( Numero );
    FIN_MIENTRAS
    ESCRIBIR("Ha introducido un número inferior a 100: ", Numero);
    SI (Numero > 100) ENTONCES
    (ESCRIBIR ("Numero invalido"))
    FIN_SI
    FIN

    Aquí se presenta un programa el cual busca que el usuario introduzca un numero menor de cien, luego de haber introducido el numero correspondiente se presenta un estado donde aparecerá la frase "Dime un numero menor de 100" mientras el programa analiza si este valor se encuentra dentro de los parámetros especificados, luego de esto aparecerá "Ha introducido un numero inferir a 100" seguidamente del numero introducido; si de ser el caso contrario donde el numero sea mayor del indicado se visualizara el texto "Numero invalido" y luego se procede a finalizar el programa con "FIN"

    2).
    Usando while:

    #include
    using namespace std;
    int main(void)
    {
    int suma, num;
    suma = 0;
    cout << "Introduzca un numero: ";
    cin >> num;
    while (num >= 0)
    {
    suma = suma + num - suma;
    cout << "Introduzca un numero: ";
    cim>> num;
    }
    cout << endl << "La suma es: " << suma << endl;
    system("pause");
    }

    Ejemplo de instrucción while en C++ que lee números enteros hasta que se lee un número negativo. Se muestra la suma de todos los números leidos excepto el número negativo, presenta un error de sintaxis y otro lógico.

    ResponderBorrar
  19. Algoritmo para calcular la suma de los primeros cien números con un ciclo para.
    Algoritmo Suma_Numeros_Para
    Definir suma,i Como Entero;
    suma <- 0;
    Para i<-1 Hasta 100 Hacer
    suma <- suma+i;
    FinPara
    Escribir 'La suma es: ',suma;
    FinAlgoritmo
    Estructura for para realizar el cálculo de la tabla de multiplicar desde la del 1 hasta la del 5, utilizando como la tercera opción del for ++ para que vaya en aumento y de uno en uno, donde primero se usa un for para determinar las tablas y otro for para la sucesión de los números. Este ejercicio presenta un error lógico y un sintáctico.

    #include

    imt main()
    {
    int tabla, numero;

    for (tabla=1; tabla<=5; tabla--)
    for (numero=1; numero<=10; numero++)
    printf("%d por %d es %d\n", tabla, numero, tabla*numero);

    return 0;
    }
    ERNERIS MARTINEZ
    26.084.118

    ResponderBorrar
  20. Algoritmo para calcular la suma de los primeros cien números con un ciclo para.
    Algoritmo Suma_Numeros_Para
    Definir suma,i Como Entero;
    suma <- 0;
    Para i<-1 Hasta 100 Hacer
    suma <- suma+i;
    FinPara
    Escribir 'La suma es: ',suma;
    FinAlgoritmo
    Estructura for para realizar el cálculo de la tabla de multiplicar desde la del 1 hasta la del 5, utilizando como la tercera opción del for ++ para que vaya en aumento y de uno en uno, donde primero se usa un for para determinar las tablas y otro for para la sucesión de los números. Este ejercicio presenta un error lógico y un sintáctico.

    #include

    imt main()
    {
    int tabla, numero;

    for (tabla=1; tabla<=5; tabla--)
    for (numero=1; numero<=10; numero++)
    printf("%d por %d es %d\n", tabla, numero, tabla*numero);

    return 0;
    }



    Erneris Martinez
    CI:26084118

    ResponderBorrar
  21. ayuda porfa.En un proceso repetitivo se registra a los asistentes a un concierto, por cada asistente se guarda: el género (Masculino, Femenino) y la ubicación de su butaca (General, Palco, Vip), se sabe que el precio de entrada es de S/.60.00, S/.80.00 y S/.100.00 de acuerdo a la ubicación de la butaca.
    Desarrollar el algoritmo que permita calcular lo siguiente:

    Ingreso de datos (
    El monto total de los ingresos según ubicación de las butacas (General, Paco, Vip).
    La cantidad de asistentes según género (Masculino, Femenino).

    ResponderBorrar