Bienvenidos A nuestro foro, espero que os guste


    Algunos ejercicios para examen programacion viernes 13 de mayo (toma ya viernes y 13 xd)

    Comparte
    avatar
    Thane
    Admin

    Mensajes : 20
    Fecha de inscripción : 27/11/2009

    Algunos ejercicios para examen programacion viernes 13 de mayo (toma ya viernes y 13 xd)

    Mensaje  Thane el Jue Mayo 13, 2010 7:27 pm

    3. Desarrollar un ejercicio en pseudocódigo para llamar a una función donde se pedirá 8 valores comprendidos entre 1 y 29 y los almacenará en un vector. Retornara a la función principal devolviendo un 1 si el último número introducido en el vector
    era par y 0 en caso contrario. Ya en el programa principal llamara a otra función a la que se le pasara el vector anterior y
    dentro de esta función almacenara en otro vector en sus posiciones pares los valores del primer vector.


    inicio programa3
    entero v[8],kk
    kk=inicializar(v[])
    kk=pedir(v[])
    kk=pasar(v[])
    fin programa3

    funcion entero inicializar(salida entero v[8])
    entero i
    para i desde 0 hasta 7 hacer
    v[i]=0
    fin para
    devolver 0
    fin funcion inicializar

    funcion entero pedir(salida entero v[8])
    entero i
    para i desde 0 hasta 7 hacer
    repetir
    escribir "Escribe un numero entre 1 y 29: "
    leer v[i]
    mientras (v[i]<1)y(v[i]>29)
    fin para
    devolver 0
    fin funcion pedir

    funcion entero pasar(salida entero v[8])
    entero i,b,a[15]
    para i desde 0 hasta 7 hacer
    para b desde 0 hasta 14 incremento +2 hacer
    a[b]=v[i]
    fin para
    fin para
    para b desde 0 hasta 14 hacer
    escribir "vector",v[i]
    fin para
    devolver 0
    fin funcion pasar


    /*
    4. Desarrollar un pseudocódigo que pida 5 valores y los almacene en un vector en sus posiciones pares. Posteriormente llamara
    a una función en la que almacenará los valores de dicho vector en otro pero en sus posiciones impares.

    inicio programa4
    entero v[9],kk,a[10]
    kk=inicializar1(v[])
    kk=pedir(v[])
    kk=inicializar2(a[])
    kk=pasar(v[].a[])
    kk=mostrar(v[],a[])
    fin programa4

    inicio funcion entero inicializar1(salida entero v[9])
    entero i
    para i desde 0 hasta 8 hacer
    v[i]=0
    fin para
    devolver 0
    fin funcion inicializar1

    inicio funcion entero pedir(salida entero v[9])
    entero i
    para i desde 0 hasta 8 incremento +2 hacer
    escribir "Introduce un numero"
    Leer v[i]
    fin para
    devolver 0
    fin funcion pedir

    inicio funcion entero inicializar2(salida entero a[10])
    entero b
    para b desde 0 hasta 9 hacer
    a[b]=0
    fin para
    devolver 0
    fin funcion inicializar2

    inicio funcion entero pasar(salida entero v[9],salida entero a[10])
    entero i,b
    para i desde 0 hasta 8 incremento +2 hacer
    para b desde 1 hasta 9 incremento +2 hacer
    a[b]=v[i]
    fin para
    fin para
    devolver 0
    fin funcion pasar

    inicio funcion entero mostrar (salida entero v[9],salida entero a[10])
    entero i,b
    para i desde 0 hasta 8 hacer
    escribir v[i]
    fin para
    para b desde 0 hasta 9 hacer
    escribir a[b]
    fin para
    devolver 0
    fin funcion mostrar


    5. Desarrollar un pseudocódigo que pida 3 valores, los almacene en un vector y dentro de una función los guarde en otro vector de mayor a menor. La función devolverá el valor del medio y lo imprimirá
    por pantalla en el programa principal.

    inicio programa5
    entero v[3],a[3],kk
    kk=inicializar1(v[])
    kk=inicializar2(a[])
    kk=pedir(v[])
    kk=ordenar[v[],a[])
    mostrar(kk)
    kk=mostrar1(v[])
    kk=mostrar2(a[])
    fin programa5

    inicio funcion entero inicializar(salida entero v[3])
    entero i
    para i desde 0 hasta 2 hacer
    v[i]=0
    fin para
    devolver 0
    fin funcion inicializar1

    inicio funcion entero inicializar2(salida entero a[3])
    entero b
    para b desde 0 hasta 2 hacer
    a[b]=0
    fin para
    devolver 0
    fin funcion inicializar2

    inicio funcion entero pedir(salida entero v[3])
    entero i
    para i desde 0 hasta 2 hacer
    escribir "Por favor introduce un numero"
    leer v[i]
    fin para
    devolver 0
    fin funcion pedir

    inicio funcion entero ordenar(salida entero v[3], salida entero a[3])
    entero i,b
    para i desde 0 hasta 2 hacer
    para b desde 0 hasta 2 hacer
    si((v[0]>v[1])y(v[1]>v[2]))entonces
    a[0]=v[0]
    a[1]=v[1]
    a[2]=v[2]
    sino
    si(v[2]>v[0])entonces
    a[0]=v[2]
    a[1]=v[0]
    a[2]=v[1]
    fin si
    fin si
    si((v[1]>v[0])y(v[0]>v[2]))entonces
    a[0]=v[1]
    a[1]=v[0]
    a[2]=v[2]
    sino
    si(v[2]>[v[1])entonces
    a[0]=v[2]
    a[1]=v[1]
    a[2]=v[0]
    fin si
    fin si
    si((v[2]>v[1])y(v[1]>v[0]))entonces
    a[0]=v[2]
    a[1]=v[1]
    a[2]=v[0]
    sino
    si(v[0]>v[2])entonces
    a[0]=v[0]
    a[1]=v[2]
    a[2]=v[1]
    fin si
    fin si
    fin para
    fin para
    devolver v[1]
    fin funcion ordenar

    inicio funcion void mostrar (entero a)
    escribir a
    fin funcion mostrar

    inicio funcion mostrar1(entero v[3])
    entero i
    para i desde 0 hasta 2 hacer
    escribir v[i]
    fin para
    devolver 0
    fin funcion mostrar1

    inicio funcion mostrar2(entero a[3])
    entero b
    para b desde 0 hasta 3 hacer
    escribir a[b]
    fin para
    fin funcion mostrar2

    6. Desarrollar un pseudocódigo para leer 7 valores, introducirlos en un vector y mostrar finalmente cual es el elemento mayor que en él hay a partir del tercer elemento.

    inicio programa6
    entero v[7],kk
    kk=inicializar(v[])
    kk=pedir(v[])
    kk=mayor(v[])
    mostrar(kk)
    fin programa6

    inicio funcion entero inicializar(salida entero v[7])
    entero i
    para i desde 0 hasta 6 hacer
    v[i]=0
    fin para
    devolver 0
    fin funcion inicializar

    inicio funcion entero pedir (salida entero v[7])
    entero i
    para i desde 0 hasta 6 hacer
    escribir "Por favor, introduce un numero: "
    leer v[i]
    fin para
    fin funcion pedir

    inicio funcion entero mayor(salida entero v[7])
    entero i, mayor
    mayor = -32768
    para i desde 2 hasta 6 hacer
    si (v[i]>mayor) entonces
    mayor=v[i]
    fin si
    fin para
    devolver mayor
    fin funcion mayor

    inico funcion void mostrar(entero mayor)
    escribir "El mayor es :",mayor
    fin funcion mostrar

    11. Desarrolla un pseudocódigo para pedir 9 valores menores a la centena positivos y almacena en el vector la mitad del número
    introducido. Posteriormente haz una función que recorra el vector y muestre su contenido pero mostrando los valores originales
    introducidos.

    inicio programa11
    entero v[9],kk,m
    kk=inicializar(v[])
    kk=pedir(v[])
    m=mitad(v[])
    kk=recorrer(v[0])
    fin programa11

    inicio funcion entero inicializar(salida entero v[5])
    entero i
    para i desde 0 hasta 4 hacer
    v[i]=0
    fin para
    devolver 0
    fin funcion inicializar

    inicio funcion entero pedir(salida entero v[5])
    entero i
    para i desde 0 hasta 4 hacer
    repetir
    escribir "escribe un numero entre 0 y 99"
    leer v[i]
    mientras ((v[i]<0)y(v[i]>99)
    fin para
    devolver 0
    fin funcion pedir

    inicio funcion entero mitad(salida entero v[5])
    entero i
    para i desde 0 hasta 4 hacer
    v[i]=v[i]/2
    fin para
    devolver 0
    fin funcion mitad

    inicio funcion entero recorrer(salida entero v[5])
    entero i
    para i desde 0 hasta 4 hacer
    v[i]=V[i]*2
    escribir "v[i]”
    fin para
    devolver 0
    fin funcion recorrer

    /*
    12. Desarrolla un pseudocódigo para pedir 8 valores, introducirlos en un vector y mostrar el contenido del vector al cual los
    elementos que ocupan las posiciones pares han sido intercambiadas previamente, es decir, la posición 0 por la posición 6, la 2
    por la 4

    inicio programa12
    entero v[8],kk,m
    kk=inicializar(v[])
    kk=pedir(v[])
    m=intercambiar(v[])
    fin programa12

    inicio funcion entero inicializar(salida entero v[8])
    entero i
    para i desde 0 hasta 7 hacer
    v[i]=0
    fin para
    devolver 0
    fin funcion inicializar

    inicio funcion entero pedir(salida entero v[8])
    entero i
    para i desde 0 hasta 7 hacer
    leer v[i]
    fin para
    devolver 0
    fin funcion pedir

    inicio funcion entero intercambiar(salida entero v[8])
    entero i,a,b
    a=0
    para i desde 0 hasta 7 hacer
    a=v[6]
    v[6]=v[0]
    v[0]=a
    a=v[4]
    v[4]=v[2]
    v[2]=a
    escribir "vector"
    fin para
    devolver 0
    fin funcion intercambiar

    /*
    Desarrollar un ejercicio en pseudocodigo que pida una frase de 200 letras como maximo y escriba cuantas palabras acaban en t.

    inicio programa t
    char frase[200]
    entero kk
    kk=inicializar(&frase[])
    kk=pedir(&frase[])
    kk=contar(&frase[])
    mostrar(k)
    fin programa t

    inicio funcion ristra inicializar(salida ristra frase[200])
    entero i
    para i desde 0 hasta 199 hacer
    frase[i]='\0'
    fin para
    devolver 0
    fin funcion inicializar

    inicio funcion ristra pedir(salida ristra frase[200])
    entero i
    escribir "Por favor, introduce una frase: "
    para i desde 0 hasta 199 hacer
    leer frase[i] (gets (frase))
    fin para
    devolver 0
    fin funcion pedir

    inicio funcion ristra contar(salida frase[200])
    entero i,b
    b=0
    para i desde 0 hasta 199 hacer
    si(frase[i]='\0')entonces
    frase[i]--
    si (frase[i]=t)entonces
    b=b+1
    fin si
    fin si
    fin para
    devolver b
    fin funcion contar

    funcion void mostrar(entero t)
    escribir "El numero de t que hay en la frase es: ",t
    fin funcion mostrar
    */










    #include <stdio.h>
    #include <conio.h>
    #include <string.h>

    char inicializar(char *frase);
    char pedir(char *frase);
    int contar(char *frase);
    void mostrar(int t);

    int main()
    {
    char frase[200];
    int kk;
    kk=inicializar(&frase[0]);
    kk=pedir(&frase[0]);
    kk=contar(&frase[0]);
    mostrar(kk);
    getch();
    }

    char inicializar(char *frase)
    {
    int i;
    for(i=0;i<200;i++)
    {
    frase[i]='\0';
    }
    return 0;
    }

    char pedir(char *frase)
    {
    int i;
    printf("Por favor, introduce una frase de maximo 200 caracteres: ");
    gets(frase);
    return 0;
    }

    int contar(char *frase)
    {
    int i,b;
    b=0;
    for(i=0;i<200;i++)
    {
    if((frase[i]==' ')||(frase[i]=='\0'))
    {
    if(frase[i-1]=='t')
    {
    b=b+1;
    }
    }
    }
    return b;
    }



    void mostrar(int t)
    {
    printf("El numero de t que hay es: %d",t);
    }


    /*
    Desarrollar un pseudocodigo para pedir 2 palabras de 35 caracteres como maximo cada una. Al final mostrar cuantas "a,A" tiene la primera palabra, cuantas "i,I" tiene la segunda palabra. Mostrar tambien una
    tercera palabra que se componga de la combinacion de la palabra una y dos, intercalando sus letras.

    inicio programa ristra_jodido
    ristra palabra1[35],palabra2[35],palabra3[35]
    entero kk,a,b
    a=0
    b=0
    kk=inicializar(palabra1[],palabra2[],palabra3[])
    kk=pedir(palabra1[],palabra2[])
    kk=contar(palabra1[],palabra2[],a,b)
    kk=palabra_nueva(palabra1[],palabra2[],palabra3[])
    kk=mostrar(palabra3[],a,b)
    fin programa ristra_jodido

    funcion entero inicializar(salida ristra palabra1[35],salida ristra palabra2[35],salida ristra palabra3[35])
    entero i
    para i desde 0 hasta 34 hacer
    palabra1[i]='\0'
    palabra2[i]='\0'
    palabra3[i]='\0'
    fin para
    devolver 0
    fin funcion inicializar

    funcio entero pedir(salida ristra palabra1[35],salida ristra palabra2[35])
    escribir "Por favor, introduce la primera palabra: "
    leer palabra1
    escribir "Por favor, introduce la segunda palabra: "
    leer palabra2
    escribir "Por favor, introduce la tercera palabra: "
    leer palabra3
    devolver 0
    fin funcion pedir

    funcion entero contar(salida ristra palabra1[35],salida ristra palabra2[35],salida entero a, salida entero b)
    entero i
    para i desde 0 hasta 35 hacer
    si((palabra1[i]='a')o(palabra1[i]='A'))entonces
    b=b+1
    fin si
    si ((palabra2[i]='i')o(palabra2[i]='I')entonces
    a=a+1
    fin si
    fin para
    devolver 0
    fin funcion contar

    funcion entero palabra_nueva(ristra palabra1[35],ristra palabra2[35], salida ristra palabra3[35])
    entero i,b
    b=0
    para i desde 0 hasta 34 hacer
    palabra3[i]=palabra1[i]
    b=b+1
    palabra3[i]=palabra2[i]
    b=b+1
    fin para
    devolver 0
    fin funcion palabra_nueva

    funcion entero mostrar(entero a,entero b, ristra palabra3[35])
    entero i
    escribir "Hay %d aes en la primera palabra",a
    escribir "Hay %d ies en la segunda palabra",b
    escribir "La nueva palabra es: "
    para i desde 0 hasta 34 hacer
    repetir
    escribir palabra3[i]
    mientras(palabra3[i]!='\0'
    fin para
    devolver 0
    fin funcion mostrar

    */

    #include <stdio.h>
    #include <conio.h>
    #include <string.h>

    int inicializar(char *palabra1, char *palabra2, char *palabra3);
    int pedir(char *palabra1, char *palabra2);
    int contar(char *palabra1, char *palabra2);
    int nueva(char *palabra1, char *palabra2, char *palabra3);
    int mostrar(char *palabra3);

    int main()
    {
    char palabra1[35];
    char palabra2[35];
    char palabra3[35];
    int kk;
    kk=inicializar(&palabra1[0],&palabra2[0],&palabra3[0]);
    kk=pedir(&palabra1[0],&palabra2[0]);
    kk=contar(&palabra1[0],&palabra2[0]);
    kk=nueva(&palabra1[0], &palabra2[0],&palabra3[0]);
    kk=mostrar(&palabra3[0]);
    getch();
    }

    int inicializar(char *palabra1, char *palabra2, char *palabra3)
    {
    int i;
    for(i=0;i<34;i++)
    {
    palabra1[i]='\0';
    palabra2[i]='\0';
    palabra3[i]='\0';
    }
    return 0;
    }

    int pedir(char *palabra1, char *palabra2)
    {
    printf("Por favor, introduce la primera palabra: ");
    scanf("%s",palabra1);
    printf("Por favor, introduce la segunda palabra: ");
    scanf("%s",palabra2);
    return 0;
    }

    int contar(char *palabra1, char *palabra2)
    {
    int i,a,b;
    a=0;
    b=0;
    for(i=0;i<34;i++)
    {
    if((palabra1[i]=='a')||(palabra1[i]=='A'))
    {
    b=b+1;
    }
    if((palabra2[i]=='i')||(palabra2[i]=='I'))
    {
    a=a+1;
    }
    }
    printf("Hay %d aes en la primera palabra",b);
    printf("\nHay %d ies en la segunda palabra",a);
    return 0;
    }

    int nueva(char *palabra, char *palabrados, char *palabratres)
    {
    int i,c;
    c=0;
    for(i=0;i<35;i++)
    {
    palabratres[c]=palabra[i];
    c++;
    palabratres[c]=palabrados[i];
    c++;
    }
    return 0;
    }

    int mostrar(char *palabratres)
    {
    int i;
    printf("\nLa palabra resultante de la union de las otras dos es: ");
    for(i=0;i<35;i++)
    {
    printf("%c",palabratres[i]);
    }
    return 0;
    }


    Última edición por Thane el Jue Mayo 13, 2010 9:49 pm, editado 1 vez
    avatar
    Lewis

    Mensajes : 8
    Fecha de inscripción : 27/11/2009

    Re: Algunos ejercicios para examen programacion viernes 13 de mayo (toma ya viernes y 13 xd)

    Mensaje  Lewis el Jue Mayo 13, 2010 8:50 pm

    thane creo k se inicializab asi:

    funcion entero inicializar(salida ristra palabra1[35],salida ristra palabra2[35],salida ristra palabra3[35])
    entero i
    para i desde 0 hasta 34 hacer
    palabra1[i]=" "
    palabra2[i]=" "
    palabra3[i]=" "

    fin para
    devolver 0
    fin funcion inicializar

    YO el ultimo ejercicio lo hice asi:

    /*
    Desarrollar un pseudocodigo para pedir 2 palabras de 35 caracteres como maximo cada una.
    Al final mostrar cuantas "a,A" tiene la primera palabra, cuantas "i,I" tiene la
    segunda palabra. Mostrar tambien una tercera palabra que se componga de la combinacion
    de la palabra una y dos, intercalando sus letras.

    inicio Ej
    Ristra palabra[35],palabrados[35],palabranueva[35]
    entero b,l,p,x
    l=0
    p=0
    palabra[35]=" "
    palabrados[35]=" "
    palabranueva[35]=" "
    Leer palabra
    Leer palabrados
    para b desde 0 hasta 34 hacer
    Si ((palabra[b]='a') o (palabra[b]='A')) Entonces
    l=l+1
    fin si
    Si ((palabrados[b]='a') o (palabrados[b]='A')) Entonces
    p=p+1
    fin si
    fin para
    para b desde 0 hasta 34 hacer
    palabranueva[x]=palabra[b]
    x=x+1
    palabranueva[x]=palabrados[b]
    x=x+1
    fin para
    escribir l
    escribir p
    escribir palabranueva
    fin EJ
    */

    #include <conio.h>
    #include <stdio.h>
    #include <string.h>
    /*Variable global para los 'for' Y LOS RETURN*/
    int b,y;
    /*Declaracion de funciones*/
    char pedir(char *palabra,char *palabrados);
    char contar(char *palabra,char *palabrados);
    char mostrar(char *palabra,char *palabrados,char *palabranueva);

    /*Desarrollo primera funcion
    FUNCION PEDIR ->PEDIREMOS LAS PALABRAS*/
    char pedir(char *palabra,char *palabrados)
    {
    printf("Introduzca una palabra de 35 letras como maximo: ");
    gets(palabra);
    printf("Introduzca otra palabra de 35 letras como maximo: ");
    gets(palabrados);
    return y;
    }

    /*FUNCION CONTAR: AQUI SABREMOS CUANTAS "a" O "A" TIENE CADA PALABRA*/
    char contar(char *palabra,char *palabrados)

    {
    int l=0,p=0;
    for(b=0;b<35;b++)
    {
    if((palabra[b]=='a')||(palabra[b]=='A'))
    {
    l=l+1;
    }
    if((palabrados[b]=='a')||(palabrados[b]=='A'))
    {
    p=p+1;
    }
    }
    printf("\nLa Primer palabra tiene %d Letra (a)'",l);
    printf("\nLa Segunda palabra tiene %d Letra (a)",p);
    return y;
    }
    /*FUNCION MOSTRAR: AQUI INTERCALAREMOS LAS PALABRAS Y ASI MOSTRAR
    LA PALABRA NUEVA*/
    char mostrar(char *palabra,char *palabrados,char *palabranueva)
    {
    int x=0;
    for(b=0;b<35;b++)
    {
    palabranueva[x]=palabra[b];
    x++;
    palabranueva[x]=palabrados[b];
    x++;
    }
    printf("\n\nLa nueva palabra es: ");
    for(b=0;b<35;b++)
    {
    printf("%c",palabranueva[b]);
    }
    return y;
    }
    /*PROGRAMA PRINCIPAL: DONDE CONVOCAREMOS NNUESTRAS FUNCIONES, DECLARAREMOS
    NUESTROS VECTORES Y DEMAS VARIABLES A UTILIZAR*/
    main()
    {
    char palabra[35]=" ",palabrados[35]=" ",palabranueva[35]=" ",KK;
    KK=pedir(&palabra[0],&palabrados[0]);
    KK=contar(&palabra[0],&palabrados[0]);
    KK=mostrar(&palabra[0],&palabrados[0],&palabranueva[0]);
    getch();
    }
    /*FIN DEL PROGRAMA*/

      Fecha y hora actual: Mar Dic 12, 2017 12:29 am