01 1 Programación I Ejercicios Prácticos

download 01 1 Programación I Ejercicios Prácticos

of 19

Transcript of 01 1 Programación I Ejercicios Prácticos

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    1/19

    Apuntes de Programación I

    Pasos a tener en cuenta para ser un buen programador

    Interpretar y analizar el problema.• Imaginar como se hace manualmente.

    • Desarrollar el mejor algoritmo.

    • Probar el algoritmo, utilizando pruebas de escritorio.

    • Optimizar el algoritmo, viendo si se puede resolver de otra forma.

    Un buen programador es aquel que se actualiza constantemente,

    tratando de optimizar su razonamiento.

    Definición de algoritmo: Es una secuencia de pasos finitos y elementales que serealiza con el objeto de llegar a una solucin. Para e!presar los circuitos se utilizar" dosm#todos$

    Diagrama de flujo

    Pseudocódigo

    El diagrama de flujo: %e utiliza para que sea m"s f"cil la interpretacin de cmo

    interact&a un ciclo, un contador etc. Para ello se utiliza los siguientes elementos.

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    2/19

    'ay que tener en cuenta, algunas restricciones.

    El Pseudocódigo: Es una metodolog(a de programacin, y tiene por objetivo e!presar elcircuito de un programa, est" constituido por un conjuntos de palabras.

    Palabras utilizadas

    )omenzar, terminar, mientas, para, hacer, si, leer, grabar, etc.

    Ejemplo : )ambiar la l"mpara.

    En Diagrama de flujo ser(a$

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    3/19

    En Pseudocdigo ser(a$

    *a l"mpara no funciona

    %i la l"mpara est" enchufada hacer

    %i el foco est" quemado+raer foco

      )ambiar foco

      %i no

    *lamar al electricista  %i no

    Enchufar l"mpara

      %i el foco est" quemado+raer foco

      )ambiar foco  %i no*lamar al electricista

      in %i

      in %i

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    4/19

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    5/19

    )electi*a: %e ejecutar" comandos, siempre y cuando se cumpla una

    condicin.

     

    )electi*a Doble +alternati*a%e ejecuta dos o m"s instrucciones, dependiendo de la condicin si es verdadera o falsa.

    )elección -ltiple

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    6/19

    )elección mltiples casos

    Iterati*as

    /ucles -ientras

    /ucles 0epetir Es equi*alente escribir

    /ucle Para  Es Equi*alente escribir

    /ucle Para 1ada Es Equi*alente escribir

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    7/19

    Definición 1ontador: Incrementa un valor constante a una direccin de memoria, seutiliza para contar la cantidad de empleados, mercader(as etc.

    Ejercicio % 2.

    Ingresar datos a la variable / y /2, hasta que las dos variables tenga valor cero, sumar losdatos ingresados e informar el mismo.

    Ejercicio % 3.

    )ontar de 2 hasta 23, mostrar en pantalla la variable que utiliza para sumar.Ejercicio % 4.

    )ontar de dos en dos hasta 73, mostrar valores sumados, y al finalizar dividir por dos la

    variable contador, mostrar resultado.Ejercicio % 5.

    'acer un pseudocdigo que imprima los n&meros del 233 al 3, en orden

    Decreciente.Ejercicio % 6.

    'acer un pseudocdigo que imprima los n&meros impares hasta el 233 y queImprima cuantos impares hay.Ejercicio % 7.

    Introducir un n&mero por teclado. 8ue nos diga si es positivo o negativo.

    Ejercicio % .

    Introducir un n&mero por teclado. 8ue nos diga si es par o impar.Ejercicio % &.

    'acer un pseudocdigo que imprima los n&meros del 2 al 233. 8ue calcule la

    suma de los n&meros pares, y por otro, los impares.Ejercicio % '.

    'acer un pseudocdigo que imprima el mayor y el menor de una serie de

    cinco n&meros, que se introduce por teclado.Ejercicio % (.

    'acer un pseudocdigo que cuente las veces que aparece una determinada

    letra en una frase que se introduce por teclado.

    Definición de Acumulador: Incrementa valores variables a una direccin de memoria.

    %e utiliza para sumar sueldos, stoc9 etc.

    Definición Arc8i*o: es el lugar que se utiliza para almacenar informacin, siempre se

     parte de una estructura, indicando el tama:o de cada campo, nombre y tipo de datos.

    Arc8i*o -aestro: %e utiliza cuando los datos a almacenar, se deben alterar a largo plazo,

    ejemplo 5ombre y /pellido, Domicilio etc.Arc8i*o de %o*edad: %e utiliza cuando los datos a almacenar se alteran, a corto plazo,

    ejemplo fecha factura, n&mero de comprobante, importe de venta etc.

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    8/19

    !ipos de accesos: %e puede ingresar a los datos del archivo en forma directa, secuencial,

    o inde!ada.

    Ejercicios con tipo de accesos secuencial.

    Ejercicio % 2.

    Dado el siguiente archivo$

    Edad  Sex

    oEstado

    CivilNombre yApellido

    alores en campos$

    )e9o$ 2 ; varn, 6 ; mujer.Estado 1i*il$ 2 ; soltero, 6 ; casado.

    Informar$a. )antidad de alumnos.

     b. )antidad de varones.

    c. )antidad de mujeres solteras.

    Ejercicio % 3. : +eniendo en cuenta los datos del problema anterior, informar$

    a. )antidad de mujeres entre 63 y 43 a:os.

     b. )antidad de mujeres casadas entre 43 y enerar el siguiente informe$

    Informe de operaciones con mercadería

     

    Cód. Art. Desc. Art. Entrada Salida Diferencia

     

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    9/19

    TOTALES  

    Ejercicio % 5: Dado un archivo de empleados con los siguientes campos$

    Cód.Empl.

    Nombre yApellido

    Categorí a

    S.Bsico

    Sexo

    Est.Civil

    alores en campos$

    1ategora$ 2 ; ?ec"nico, 6 ; /dministrativo.)e9o$ 2 ; ?asculino, 6 ; emenino.

    Estado 1i*il$ 2 ; %oltero, 6 ; )asado.

    %e desea obtener$

    a. +otal de empleados.

     b. +otal de empleados con categor(a de @?ec"nicoA

    c. +otal de empleados con categor(a de @/dministrativaA

    d. +otal de empleados casados.

    e. +otal de sueldo a pagar por la empresa.

    Ejercicio % 6: Dado un archivo maestro$

    Cód.Empl.

    Nombre yApellido

    S.Bsico

    Categorí a

    alores en campos$1ategora$ 2 ; ?ec"nico, 6 ; )onductor.

    %e desea obtener informe seg&n dise:o$

    Padrón de Empleados

    1ód. Empl. %ombre ; Apellido ). /$sico #bser*aciones

    !otal

    Promedio sueldo: BBBBBBBBBBBBB 

    Promedio sueldo mec$nico: BBBBBBBBBBBBBB 

    %#!A: *a columna @ObservacionesA deber" contener C?ec"nico si el

    valor de @)ategor(aA es igual a 2 y, contendr" C)onductor si el valor de

    @)ategor(aA es 6

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    10/19

    Ejercicio % &7: Dado el siguiente archivo$

    Cód.Empl.

    Nombre yApellido

    Categorí a

      !ec"a#ng.

    !ec"a deBa$a

    S.Bsico

    Obtener informe seg&n dise:o$

    Informe de empleados dados de baja

     

    Cód. Empl. Nombre y Apellido Sueldo Básico

     

    TOTAL  

    TOTAL ENE!AL  

    D"#E!ENC"A  

    %#!A: Imprimir t(tulo cada 3 renglones.

    Ejercicio % &: Dado un archivo de art(culos, con los siguientes campos$

    Cód.

    Art.

    Desc.

    Art.

    Precio

    Unit.

    Entra

    da

    Salid

    a

    %e pide$a. +(tulo @Informe de /rt(culosA cada 3 renglones.

     b. Imprimir por cada rengln el cdigo del art(culo, nombre del

    art(culo, la entrada, la salida y el total Fdiferencia entre entrada

    y salidaG.

    c. Imprimir totales de entradas y salidas.

    Ejercicio % &&: -tilizando el archivo del ejercicio anterior, se pide$

    Planilla de Compras

    1ód. Art. Descripción Entrada )alida Diferencia

    !#!A

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    11/19

    %#!A:  )uando la diferencia sea menor a =, imprimir en la planilla.

    Imprimir t(tulo cada 3 renglones.

    Ejercicio % &': Dado un archivo de lectores de diarios /, H y ), se desea saber$

    g. )antidad de personas que leen los tres diarios.

    h. )antidad de personas que no leen ning&n diario.

    i. )antidad de personas que leen el diario /.

     j. )antidad de personas que no leen el diario / pero s( alg&n otro.

    Ejercicio % &(: Dado un archivo de personas que votaron. *as respuestas pueden ser 

    %I, 5O o %E /H%+-O.

    %e desea saber$9. +otal de personas que votaron.

    l. +otal de personas que dijeron %I.

    m. +otal de personas que dijeron 5O.

    n. +otal de personas que se abstuvieron.

    Ingreso de datos con consistencia

    Consistencia de datos$ Es el proceso de anali%ar el dato& antes de 'rabar en el dispositi(o de almacenamiento.Si car'amos basura& la información )ue brindamos es basura.

    Ejercicio % &2:

    )arga de datos de personas F/lta de personasG

    %e ingresa la edad, en caso de que sea cero, termina el programa. )aso contrariose ingresa el se!o F2;?asculino, 6;emeninoG verificando luego si el valor 

    ingresado es correcto. %i se ingres un valor incorrecto, imprimir en pantalla

    @Prest" atencinA.

    %e ingresa el estado civil$ 2;%oltero, 6;)asado. 5uevamente, si se ingresa unvalor incorrecto, imprimir @Prest" /tencin.A

    /l terminar el ingreso de datos, se pregunta por >/H/ F2G o 5O >/H/ 

    F6G. Imprimir el mensaje de error correspondiente si se ha ingresado un valor 

    incorrecto.

    Ejercicio % &3: )onfeccionar la siguiente pantalla de carga$

    Carga de clientes

     

    Cód. Cli.$ xxx

    Nombre y Apellido$ xxx

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    12/19

    Tipo *+,Debe& -,aber/$ xxx

    "mporte$ xxx

    Sucursal *+& -& 0/$ xxx

     

    ,rabar C,Cancelar  

    Ejercicio % &4: )arga de datos de bancos F/lta de bancosG

    %e ingresa la clave Fcdigo de bancoG. %i la clave es cero, se sale de programa. %i

    la clave no es cero, se accede al archivo de Hancos y se verifica que la misma

    e!ista. En caso de que e!ista la clave, se emite un mensaje @5o se puede dar dealta, clave ya e!iste. %lo puede modificar o borrar.A

    En el caso de que la clave no e!ista, se procede a cargar y guardar la

    informacin necesaria en el archivo

    ?odificacin de registros

    Es casi el mismo proceso que el anterior, basta que se verifique en el archivomaestro la e!istencia de un banco mediante su cdigo. En caso de que e!ista, setransfiere el contenido de las variables de archivos a las variables de programa y

    se procede a modificar los datos.

    En el caso de que no e!ista la clave en el archivo, se imprime el mensaje @5o se puede modificar porque no e!iste.A

    Haja de registros?ismo proceso que el de modificacin, con la salvedad de que si se encuentra el

     banco, se marca ese registro de manera tal que aparezca como borrado FHaja

    lgicaG.

    -A%E=# DE "A0I#) A01>I"#)

    Es importante determinar el tipo de acceso al arc8i*o, para que el sistema sea

    eficiente. A8ora cuando e9iste gran cantidad de información almacenada, el mejor

    m?todo a utilizar, es el acceso directo inde9ado, debido a que es el mas r$pido.

    Ejercicio % &5: Dados dos archivo

    %aestro de ClientesCód.

    ClienteNombre yApellido

    NovedadesCód.Cli.

    Nro.!act&ra

    !ec"a

    #mporte

    Cód.Artíc&lo

    %#!A: En el archivo maestro, hay un registro por cliente. En el archivo

    de novedad, puede haber varios registros por cliente.%e desea obtener el siguiente informe$

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    13/19

    1ód. 1liente: !!! %ombre del 1liente: yyy

     nforme de Movimientos por

    Cliente

    @ec8a %ro. @actura Importe

    !#!A<

    %#!A: @!!!A indica el ingreso por teclado, el cdigo del cliente. @yyyA

    muestra el nombre y apellido, una vez terminada la b&squeda en el archivomaestro de clientes, con cdigo @!!!A, que se utilizo como clave.

    Ejercicio % &6: -tilizando los archivos del ejercicio anterior y, agregando elsiguiente archivo maestro de /rt(culos$

    Cód.

    Artic&lo

    Desc.

    Artíc&lo

    %e desea obtener el siguiente informe$

    Informe por Artículos

    1ód. Artculo: !!! Desc. Artculo: yyy

    1ód. 1li. %ombre ; Apellido %ro. De @actura @ec8a Importe

    !#!A<

    %#!A: @!!!A ser" donde se ingresen datos, @yyyA donde se imprime losdatos.

    )istema: Un sistema es un conjunto de programas relacionados, con el objeti*o

    de obtener información, con los datos ingresados.

    Ejercicio % '7: Dados los siguientes archivos$

    %aestro de BancosCód.Bco.

    Desc.Banco

    %aestro de C&entasCód.Bco.

    Cód.Cta.

    Desc.Cta.

    NovedadesCód.Cta.

    A'o

    %es

    Dí a

    N(Comp.

    )ipoComp.

    Detalle

    !.*to.

    #mporte

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    14/19

    alores en campos$!ipo 1omprobante$ 2 ; )heque, 6 ; Holeta de depsito, 4 ; 5ota

    de d#bito, < ; 5ota de )r#dito.

    a. ealizar los siguientes programas de carga $

    Programa

    Alta de Banco

    Cód. Bco.$ Xxx

    Desc. Banco$ Xxx

    ,rabar C,Cancelar    

    Programa &

    Alta de Cuenta

    Cód. Bco.$ Xxx Desc. Bco.$ YYYY

    Cód. Cta.$ Xxx

    Desc. Cta.$ Xxxxxxxxxxxxxxx

    ,rabar C,Cancelar    Programa '

    Carga de Movimientos Bancarios

     

    Cód. Cta. Xxx Desc. Cta.$ Yyy  Cód.Bco. Yyyy Desc. Bco.$ Yyy  

    #ec1a N2 Comp. Tipo Comp. Detalle #. 3to. "mporte

     

    ,rabar    C,Cancelar

    %#!A: )ampos @!!!A representa el ingreso de datos, @yyyA muestra losdatos, una vez hecha la b&squeda en el archivo maestro de cuentas.

    Ejercicio % ': +eniendo en cuenta la estructura de archivos utilizadas en el ejercicio 5. 43, generar el siguiente informe.

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    15/19

    Libro Banco

     

    Cód. Cta. Xxx Desc. Cta.$ YyyCód.Bco. Yyyy Desc. Bco.$ Yyy

    #ec1a Detalle N2 Comp. Tipo Debe aber Saldo #. 3to.

     

    TOTALES  

    Vectores Matrices-no de los grandes desaf(os de la programacin, fue mantener varios datos en la

    memoria en un mismo momento. +eniendo en cuenta este desaf(o, nace la t#cnica dealmacenamiento denominada vectores y matrices.

    "ector: es un conjunto de direcciones de memoria, bajo un mismo nombre de

    variable, puede estar formado por varias filas y una columna, o varias columnas y unasola fila. %e utiliza en el caso de mantener en memoria, por ejemplo tablas de

     provincias.

    -atrices: es un conjunto de direcciones de memoria, bajo un mismo nombre devariable, puede estar formado por varias filas y varias columnas. %e utiliza en el caso

    de mantener en memoria, por ejemplo un archivo formado con varios campos Fcod.

    Empleado, nombre y apellido, sueldo b"sicoG.

    esumiendo, se puede decir que un vector es una matriz.

    Ejercicio % '&:

    2. Ingresar n&meros en un vector de 23 elementos.

    6. )on los datos ingresados del ejercicio anterior, sumar los valores y determinar la

     posicin del n&mero mayor.

    4. )argar una matriz de

    enerar una matriz de = filas y columnas, sumar los valores de las filas y los

    valores de las columnas.

    =. +eniendo en cuenta el (tem

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    16/19

    %aestro de BancosCód.Bco.

    Desc.Banco

      Obtener el siguiente informe, ordenado alfab#ticamente.

    Padrón de Bancos !rdenado Alfab"ticamente

    1ód. /co. Desc. /anco

    !otal 1antidad

    Ejercicios de integración de contenidos

    El objeti*o de estos ejercicios es integrar todos los conocimientos adquiridos ;plasmar en problemas reales de una empresa.

    Ejercicio %. '':

    Dados los archivos$

    %aestro deBancos

    Cód.Bco.

    Desc.Bco.

    %aestro de C&entasCód.Bco.

    Cód.Cta.

    Desc.Cta.

    NovedadesCód.Bco.

    Cód.Cta.

    A'o

    %es

    Dí a

    N(Comp.

    )ipo

    !.*to.

    #mporte

    %e desea el siguiente informe$

    Informe de c#e$ues emitidos por a%o 

    Cód. Cta. Xxx Desc. Cta.$ Yyy

    Cód. Bco. Yyy Desc. Bco.$ Yyy

    A4o$ Xxx

    D5a 6 7es + - 0 8 +- TOTALES

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    17/19

    +  

    8  

    0+  

    TOTALES  

     5ota$ -tilizar matrices para resolver el problema, debido a que es el m#todo mas

    eficiente.

    Ejercicio %. '(:

    +eniendo en cuenta los archivos del problema anterior, generar el siguiente informe$

    Informe por banco& cuenta día

     

    7es$ xxx A4o$ xxx  

    Bancos

    Cuenta +

    Cuenta8

    Cuentan TOTALES

    + 8 0+ + 8 0+ + 8 0+Banco 1

    Banco …

    Banco m

    TOTALES  

     5ota$ -tilizar matrices de tres dimensiones

    El m?todo de Puntero

    Este m?todo fue desarrollado para generar ndices, en arc8i*os planos. Es mu;utilizado en programación de dispositi*os mó*iles +celulares, debido a que el

    almacenamiento se realiza sin un gestor de almacenamiento, tiene como beneficio,

    eliminar la lectura secuencial ; acelerar la bsqueda del dato.

    Ejercicio %. '2:

    Dados los siguientes archivos$

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    18/19

    %aestro de BancosCód.Bco.

    Desc.Bco.

    Pos.#ni.

    Pos.!in.

    %aestro de C&entasCód.Bco.

    Cód.Cta.

    Desc.Cta.

    NovedadesCód.Bco.

    Cód.Cta.

    A'o

    %es

    Dí a

    #mporte

    +eg. Sgte. porBco.

    Para resolver este problema utilizar puntero y matrices.

    >eneral el siguiente informe$

    Informe por banco cuentas

     Cód.Bco.$ Xxx Desc. Bco.$ yyy  

    Cód. Cta. Desc. Cta. + - 8 +- TOTALES 

    TOTALES  

    Ejercicio %. '3:

    Dados los siguientes archivos$

    NovedadesCód.S&c.

    Cód.*end.

    N(Comp.

    !ec"a

    #mporte

    Cantidad

    %aestro de *endedoresCód.*end.

    Nombre yApellido

  • 8/18/2019 01 1 Programación I Ejercicios Prácticos

    19/19

    >enerar el siguiente informe$

    Informe por vendedor 

     

    Cód. 3end. Nombre y Apellido

    Sucursal

    TOTAL+ - 0 9 :

     

    TOTAL