01 1 Programación I Ejercicios Prácticos
-
Upload
gabriel-e-duarte -
Category
Documents
-
view
224 -
download
0
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