DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1

Departamento de Ingeniería e Investigaciones Tecnológicas - UNLAM

Materia Programación Básica 1
Guía de Ejercicios

TRABAJO PRÁCTICO NÚMERO 1............................................................................................................. 2
ALGORITMOS, DIAGRAMAS N-S Y PSEUDOCÓDIGO.................................................................................................2
TRABAJO PRÁCTICO NÚMERO 2............................................................................................................. 7
INTRODUCCIÓN A C, VARIABLES, OPERADORES, EXPRESIONES E INSTRUCCIONES..........................................................7
TRABAJO PRÁCTICO NÚMERO 3........................................................................................................... 10
ENTRADA/SALIDA............................................................................................................................................10
TRABAJO PRÁCTICO NÚMERO 4........................................................................................................... 11
ESTRUCTURAS DE CONTROL: SELECCIÓN..............................................................................................................11
ESTRUCTURAS SECUENCIALES.............................................................................................................................13
ESTRUCTURAS CONDICIONALES..........................................................................................................................13
ESTRUCTURAS CONDICIONALES MÚLTIPLES...........................................................................................................15
TRABAJO PRÁCTICO NÚMERO 5........................................................................................................... 16
ESTRUCTURAS DE CONTROL: ITERACIÓN..............................................................................................................16
TRABAJO PRÁCTICO NÚMERO 6........................................................................................................... 18
VECTORES Y MATRICES.....................................................................................................................................18
TRABAJO PRÁCTICO NÚMERO 7........................................................................................................... 22
FUNCIONES....................................................................................................................................................22
TRABAJO PRÁCTICO NÚMERO 8........................................................................................................... 25
PUNTEROS.....................................................................................................................................................25
TRABAJO PRÁCTICO NÚMERO 9........................................................................................................... 26
CADENAS DE CARACTERES.................................................................................................................................26
TRABAJO PRÁCTICO NÚMERO 10......................................................................................................... 28
INTEGRACIÓN DE TP1 A TP8.............................................................................................................................28
TRABAJO PRÁCTICO NÚMERO 11......................................................................................................... 30
Estructuras – Uniones – Arreglos de Estructuras.......................................................................................30

Act 082014 Página 1

DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1
Departamento de Ingeniería e Investigaciones Tecnológicas - UNLAM

Trabajo Práctico Número 1
Algoritmos, Diagramas N-S y Pseudocódigo

1) Observa la siguiente secuencia de instrucciones:
1. A = 5
2. B = 7
3. C = 2
4. A = A + B + C
5. B = C / 2
6. A = A / B + A ^ C
7. Imprimir(A)

Ahora responde a las siguientes cuestiones:
a. ¿Qué valor contiene A después de la cuarta instrucción?
b. ¿Qué valor contiene B después de la quinta instrucción?
c. ¿Qué valor contiene A después de la sexta instrucción?
d. ¿Qué valor imprime la última instrucción?
e. Si en lugar de Imprimir(A) hubiésemos escrito Imprimir(“A”) ¿Qué aparecería?

2) Observa la siguiente secuencia de instrucciones:

1. A = 5
2. B = 7
3. C = 1
4. D = (A == B)
5. E = (A <> B)
6. F = (MOD(B/A) >= C)

Ahora responde a las siguientes cuestiones:
a. ¿Qué valor contiene D después de la cuarta instrucción?
b. ¿Qué valor contiene E después de la quinta instrucción?
c. ¿Qué valor contiene F después de la sexta instrucción?
d. ¿Cuánto valen A, B y C después de la última instrucción?

Act 082014 Página 2

DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1
Departamento de Ingeniería e Investigaciones Tecnológicas - UNLAM

3) Observa la siguiente secuencia de instrucciones:

1. leer(A)
2. leer(B)
3. leer(C)
4. D = (A == B)
5. E = (A <> B)
6. F = (MOD(B/A) >= C)

Ahora responde a las siguientes cuestiones: Supongamos que el usuario introduce 3 en
A, 4 en B y 5 en C:
a. ¿Qué valor contiene D después de la cuarta instrucción?
b. ¿Qué valor contiene E después de la quinta instrucción?
c. ¿Qué valor contiene F después de la sexta instrucción?
d. ¿Cuánto valen A, B y C después de la última instrucción?

4) Observa la siguiente secuencia de instrucciones:

1. leer (A)
2. resultado = 1
3. mientras (A>1)
4. resultado = resultado * A
5. A = A – 1
6. fin mientras
7. imprimir(resultado)

Ahora responde a las siguientes cuestiones:
a. Si en la primera instrucción se introduce un valor 2 en A ¿Qué valor se imprime?
b. Si en la primera instrucción se introduce un valor 3 en A ¿Qué valor se imprime?
c. Si en la primera instrucción se introduce un valor 4 en A ¿Qué valor se imprime?
d. ¿Qué se está calculando?

5) Observa la siguiente secuencia de instrucciones:

1. leer (A)
2. Si (A>0)
3. Imprimir (A,’es positivo’)
4. Si no
5. Imprimir (A,’es negativo’)
6. Fin si

a. Describe, instrucción por instrucción, qué se está haciendo con este algoritmo.

Act 082014 Página 3

. 10) Modificar el anterior para que permita sumar N números.100? c. 9) Modificar el punto anterior pero para sumar 100 números leídos por teclado. NumeroA) 7. el 7% o el 16%. 8. 1. El valor de N se debe leer previamente por teclado. ¿Qué pasa si A = 5? ¿Y si A = . si-no 6. Escribe otro algoritmo para distinguir múltiplos de 3 y compáralo 6) Observa la siguiente secuencia de instrucciones: 1.. en función de la suma de los importes. 13. ¿Qué pasa si NumeroA = 10 y NumeroB = 100? d. otro. imprimir ("El mayor es:". fin-si a. Realizar después uno que haga lo mismo con los pares y. Si (NumeroA < NumeroB) 4.UNLAM b. 21. 14) Hacer un diagrama N-S que simule un reloj. b. es decir los dos primeros son 1 y el resto cada uno es la suma de los dos anteriores. 11) Hacer un diagrama N-S que permita escribir los 100 primeros números pares. Act 082014 Página 4 . 2. los primeros son: 1. 13) La sucesión de Fibonacci se define de la siguiente forma: a1=1. IVA. 12) Hacer el diagrama N-S para sumar los N primeros impares. ¿Qué pasa si NumeroA = 5 y NumeroB = . ¿Qué pasa si NumeroA = 10 y NumeroB = 10? 7) Dibujar los diagramas Nassi-Schneiderman de todos los ejercicios anteriores. NumeroB) 5. Describe qué se está haciendo con este algoritmo. Finalmente hay que realizar un descuento.100? c. 15) Hacer un diagrama N-S que calcule el total de una factura. Hacer un diagrama N-S para calcular el N-ésimo término de la sucesión. 5. a2=1 y an=an-1+an-2 para n>2.. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . en cualquier otro caso se rechazan importe e IVA y se deben introducir de nuevo. imprimir ("El mayor es:". con los múltiplos de 3. 8) Hacer el diagrama de Nassi-Schneiderman para sumar dos números leídos por teclado y escribir el resultado. leer (NumeroA) 2. partiendo de una lista de parejas importe. La lista finaliza cuando el importe sea 0. leer (NumeroB) 3. El IVA puede ser el 4%. 3.

nótese que B puede ser 0 o negativo. 21) Hacer el diagrama N-S de un programa que dado un array A ordenado de N elementos. Si es mayor se cambian los extremos a I=K+1. Se decrementa N en 1. 17) Hacer un diagrama N-S para convertir un número decimal N dado por teclado a binario. 3.UNLAM dicho descuento es del 0% si es menor que 1000. Si es menor se cambian los extremos a I=1. encuentre la posición de uno B leído por teclado. Para acabar se debe imprimir el importe y el iva resultantes (total menos descuento) y la suma de ambos. 22) Hacer un diagrama N-S de un programa que adivine el número entre 1 y 1000 pensado por un humano. Se lee N y después los N números al array A. según el número pensado sea menor. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . si se da ese caso y no lo encuentra debe poner un mensaje diciendo que no está. '>' o '='. Se calcula el índice del elemento medio K=(I+J)/2. J=K-1 y se vuelve a 2. una almacenando previamente los números dados por teclado en un array y la otra calculando el máximo directamente según se leen los números del teclado. 16) Hacer el diagrama N-S para calcular el factorial de N (N!=1·2·3·. El algoritmo a emplear es el siguiente: 1. Se fijan los extremos de la porción a buscar: I=1. 2. No debe realizar más de 10 preguntas y debe detectar si el humano le engaña diciéndole cosas imposibles. mayor o igual que el dicho por el ordenador.. 4. se debe realizar de dos formas. Si es igual se escribe K y se termina. 18) Hacer un diagrama N-S para calcular AB. siendo B un entero. J=N. J=N y se vuelve a 2. Se intercambian los elementos A(J) y A(N). 6. por ejemplo es mayor que Act 082014 Página 5 . si es mayor se vuelve a 2. El programa debe ir diciendo números y el humano responderá con los símbolos '<'. El algoritmo es el siguiente: 1. Si es menor o igual se termina. 20) Hacer un diagrama N-S para ordenar N números leídos por teclado y almacenados en un array A. 5. 6. Se compara B con el elemento medio A(K). es del 5% si es mayor o igual que 1000 y menor que 10000 y es de un 10% si es mayor o igual que 10000. Pensar después que habrá que modificar para que busque también valores de B que no estén en el array A. Se busca el máximo de los elementos del 1 al N y su índice J. 19) Hacer un diagrama N-S para calcular el máximo de N números leídos por teclado. Cuando lo adivine deberá poner un mensaje especificando cuantas preguntas ha necesitado y finalizar. No se pueden emplear logaritmos.. Se compara N con 1.·N). El descuento se debe aplicar a la suma de los importes y a la suma de los IVAS. 5. 3. 4. 2.

a razón de P pesos por hora y de 1. Si en lugar de estar el número de partida entre 1 y 1000 estuviera entre 1 y 1000000. exceptuando los múltiplos de 100. ¿cuantas preguntas serían necesarias? 23) Dados dos números enteros positivos N y D. 28) Disponemos de una máquina que puede dar vueltas con 5 tipos de monedas distintas: 100. 5 y 1. Hacer un diagrama N-S que dado un año A nos diga si es o no bisiesto. pues sus divisores (excluido el 28) son: 1. el número de desaprobados (<4). el número de notables (>8) y el número de sobresalientes (10). Se debe tener en cuenta que en los años bisiestos Febrero tiene 29 días y en los no bisiestos 28. Se dice que un número N es perfecto si la suma de sus divisores (excluido el propio N) es N. 2. Las horas extras son las que exceden de 40h. un mes M y un año A. Hacer el diagrama N-S que dado el número de horas trabajadas y el valor de P calcule el salario que le corresponde. el mes M y el año A del Domingo de Resurrección calcule la fecha del Miércoles de Ceniza en ese año.UNLAM 4 y menor que 5. 7 y 14 y su suma es 1+2+4+7+14=28. El programa debe calcular y escribir el número de alumnos presentados a cada asignatura. 25) Hacer un diagrama N-S que dados un día D. se dice que D es un divisor de N si el resto de dividir N entre D es 0. el número de aprobados (>4) . 29) Realizar un diagrama N-S para leer por teclado las notas de N alumnos que están matriculados en M asignaturas. Hacer un diagrama N-S para que dados el día D.5·P pesos por cada hora extra. 25. si un alumno no está matriculado en una asignatura o no se presenta al examen se debe introducir como nota -1. que sólo son bisiestos cuando son múltiplos además de 400. 26) El Miércoles de Ceniza es 46 días antes que el Domingo de Resurrección. utilizando la estructura mientras. 24) Un año es bisiesto si es múltiplo de 4. la nota media. 27) Una empresa paga a sus 100 operarios semanalmente. Por ejemplo 28 es perfecto. Act 082014 Página 6 . DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . 4. por ejemplo el año 1900 no fue bisiesto. Se debe tener en cuenta si el año es o no bisiesto. Dibujar el diagrama Nassi-Schneiderman y realizar el correspondiente pseudocódigo. calcule cual es el día siguiente. de acuerdo con el número de horas trabajadas. 30) Elaborar una solución para calcular el valor de la suma 1 + 2 + 3 + … + 100. Hacer un diagrama N- S que dado un número N nos diga si es o no perfecto. Realizar el diagrama N-S de un programa que dados el precio del artículo y la cantidad entregada por el consumidor nos indique el vuelto a entregar empleando el menor número posible de monedas. 50. pero el año 2000 si lo será.

33) Elaborar una solución para calcular el factorial de un número N (N! = N * (N – 1) * (N – 2) * … * 3 * 2 * 1). Dibujar el diagrama Nassi- Schneiderman y realizar el correspondiente pseudocódigo. Dibujar el diagrama Nassi-Schneiderman y realizar el correspondiente pseudocódigo. 35) Elabora una solución. B. la más conveniente. 34) Elaborar una solución para leer tres números A. 32) Elaborar una solución para calcular la suma de los números impares hasta N (inclusive). Dibujar el diagrama Nassi-Schneiderman y realizar el correspondiente pseudocódigo. utilizando la estructura desde. Act 082014 Página 7 .UNLAM 31) Elaborar una solución para calcular la suma de todos los números pares entre 2 y 1000. C e indicar cuál es el valor más grande. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Suponga que los tres valores son diferentes. para determinar simultáneamente los valores máximo y mínimo de una lista de 100 números. Dibujar el diagrama Nassi-Schneiderman y realizar el correspondiente pseudocódigo. Dibujar el diagrama Nassi-Schneiderman y realizar el correspondiente pseudocódigo. utilizando la estructura repetir.

b=2: a) ((a++) – 3*b) == 5||b == 3) b) ((a++) – 3*b) == 5&&b == 3) c) ((a++) – 3*b) == 5&&!(b == 3) d) !(a++)==11) e) !(a!=10) f) !((a<12)&&(b>12)) g) !((a<12)||(b>12)) 3) Decir si los identificadores son válidos: a) wk1 b) auto c) for d) ca sa e) 8av f) av8 g) a238 h) const i) void Act 082014 Página 8 . Operadores. Variables.UNLAM Trabajo Práctico Número 2 Introducción a C. y++. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Expresiones e Instrucciones 1) Qué valor quedara almacenado en la variable z luego de las siguientes operaciones considerando que y=12. e) z=(++x)+8 2) Decir si la expresión es verdadera considerando que a=10. x=21: a) x++. z=2*y+x. d) z=(y++). b) z=y++. c) z=++x.

z=1 (todas de de tipo int): a) z=3*x+12. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . c) z++. 7) Decir si son posibles las siguientes asignaciones y el valor que quedara en la variable z considerando que x=10. y=12. Act 082014 Página 9 . x=y. z=1 de tipo int a) z=x*3 b) z=y+0. b) 3+x=z.UNLAM 4) Indique el resultado de las siguientes expresiones: a) (1+2*3) b) 10%3*3–(1+2) c) ((1+2)*3) d) (5==5) e) (x=5) 5) Decir el valor que quedara en la variable asignada considerando que x=10.6 c) y=z+10. y=12.30.0 de tipo float. y+7.30 d) y=z/2 e) y=(z*10)/2 f) y=1/2 6) Siendo ay b enteros decir que valor se obtendrá en las variables x e y tras la ejecución de las instrucciones siguientes: x=5. e) z=3. d) z=y=++x.12+y. y=x.

d) Promedio=suma/2. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Escriba que resultados obtiene. 11) Escriba un programa que compruebe la diferencia entre una variable global.UNLAM 8) Cuáles serán los valores de las siguientes expresiones con las variables m. de ser necesario realice las modificaciones necesarias. b) var2=4 c) suma=var1*var2. b) cuenta=cuenta-1. 12 y 25 respectivamente: a) m+p/q b) n+q/p c) (n+q)/p d) n+p%q e) n+q%p f) (n+q)%p g) n+p/n+p h) (n+p)/(n+p) 9) Reescribir las siguientes sentencias de asignación en forma compacta: a) ala=ala+1. Act 082014 Página 10 . p cuyos valores son 7. a) var1. 12) Explique el siguiente programa y enumere los errores que encuentra. d) c=c/20 10) Escriba un programa para ver las longitudes y valores máximos y mínimos en bytes de los tipos básicos de programación en C. una variable local y un argumento de función. n. c) suma=suma+algo. Escriba en forma concreta cual es la diferencia que encuentra entre ambas declaraciones y de un ejemplo de su aplicación que justifique su uso.

long.30) b) (“No es %c sino %c”. 5) Escribir un programa que muestre la siguiente leyenda: ESTAMOS PROBANDO LOS SALTOS DE LINEA a) En una sola línea b) En 3 líneas c) En 6 líneas d) En 2 líneas .UNLAM Trabajo Práctico Número 3 Entrada/Salida 1) Decir que se visualiza en pantalla con los siguientes parámetros de printf(): a) (“El valor de: %d”.3.1416) j) (“Que es %d”. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . te pregunte cómo te llamas (nombre y apellido) y te salude.3. uno hexadecimal y otro carácter. El programa debe tener una salida aceptable con las aclaraciones correspondientes y buena presentación.2) d) (“%f”.2f”. ‘A’) 2) Escriba un programa que te imprima un mensaje de presentación.12.’A’.32769) i) (“%lf”.2) g) (“%d”. 4) Escribir un enunciado con scanf() que permita ingresar un carácter. doublé.64.32769) h) (“%u”. un entero decimal. char. float. Act 082014 Página 11 .’b’) c) (“El valor de %c=%d”.3.2) e) (“%5.3.2f”. dejando 3 líneas en blanco entre una y otra 6) Escriba un programa que informe la cantidad de bytes que utiliza la PC para almacenar cada uno de los distintos tipos de variables: int.3. 3) Escribir un enunciado con printf() que inicia una nueva línea.2) f) (“%4.

2) Decir si hay error en el siguiente fragmento de programa. NOTA: Solo una de estas leyendas debe aparecer.UNLAM Trabajo Práctico Número 4 Estructuras de Control: Selección 1) Realizar un programa que lea dos variables: a) Enteras e imprima la de mayor valor absoluto. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . case 1: printf(“Eligió 1”). break. f) Si la primera es igual a 10 o la segunda es igual a 20 imprimir “ok”. e) Si la primera es igual a 10 y la segunda es distinta de 20 imprimir “ok”. en caso de que no ocurra esto imprimir “Variables distintas de cero”. b) Enteras e imprima la diferencia entre ambas o el literal “Iguales” so son iguales. break. d) Enteras. Si la primera es igual a cero imprimir “La primera es igual a cero”. } Act 082014 Página 12 . Si lo hubiera indicar cuál es: switch (elija) { default: printf(“No eligió 1 o 2”). Si además la segunda esta en cero imprimir “Ambas son ceros”. case 2: printf(“Eligió 2”). Si solo la segunda es cero imprimir “La segunda es igual a cero”. c) Un número y un carácter (S/N) indicando con una ‘S’ si se quiere imprimir el numero y ‘N’ si no.

Si no ocurre nada de esto no imprimir nada. 4) Escribir un programa de una calculadora de cuatro operaciones (+. Si la tercer variable no es “+” ni “-“ imprimir “Operación incorrecta”.UNLAM 3) Realizar un programa que lea tres variables: a) Enteras. Si la primera es distinta de la segunda y la tercera igual a cero imprimir “ok”. Si la tercer variable es igual a “-” y los números son distintos de cero imprimir “La resta es:” y el resultado de la suma de las dos primeras variables.Once. 8) Escribir un programa en el cual se lea el precio. Si es una ‘A’ o ‘B’ imprimir ‘A-B’.Ramos Mejía). 4. Se debe calcular el precio final según el detalle: Forma de Pago Contado 10% descuento Tarjeta de crédito sin descuento Tipo de Cliente Docente 10% de descuento Estudiantes 15% de descuento Empresas 10% de recargo Gremio 20% de descuento NOTA: Ambos descuentos son acumulables. 3. Si la primera es igual a 0 imprimir “1”. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .Avellaneda. Si es una ‘C’ o ‘D’ imprimir ‘C-D’. 9) Escribir un programa que lea un carácter.Belgrano. Act 082014 Página 13 . b) Las dos primeras enteras y la tercera carácter. 7) Escribir un programa que se seleccione un puesto de venta (valores de 1 a 5) e imprima el nombre de la ubicación del mismo (1. Si la primera es igual a cero. Si la tercer variable es igual a “+” y los números son distintos de cero imprimir “La suma es:” y el resultado de la suma de las dos primeras variables./. la forma de pago y el tipo de cliente. Si es una ‘E’ o ‘F’ imprimir ‘E-F’.*).-. 6) Escribir un programa que seleccione el mayor de cuatro números enteros. 5. Si es cualquier otra letra imprimir ‘G- Z’. c) Enteras. 5) Escriba un programa que halle el menor de dos números pedidos al usuario. la segunda igual a 1 y la tercera igual a “2” imprimir “3”.Centro. Si la primera es igual a cero y la segunda igual a 1 imprimir “2”. 2.

A continuación mostrar los resultados obtenidos 15) Calcular e informar el porcentaje de hombres y mujeres. Calcular la venta total y precio aplicado. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Mostrar el precio final (es decir el precio con descuentos). 12) Ingresar el radio de círculo. también la población total. Calcular y mostrar su promedio.UNLAM NOTA: Los caracteres pueden estar en mayúsculas o minúsculas. Act 082014 Página 14 . Ver la relación entre ambos: establecer si el primero es mayor al segundo. Calcular la longitud del mismo y su superficie. Estructuras condicionales 17) Ingresar dos números. si el segundo es mayor que el primero. 13) Ingresar tres notas de un alumno. o si el segundo es mayor que el primero. 10) Explicar que ocurre cuando se ejecuta la sentencia siguiente: if (abs(x) < mini) x = (x>0)?mini:-mini. con los siguientes descuentos: a. calcular su superficie y mostrar los resultados obtenidos. Estructuras secuenciales 11) Ingresar los dos lados de un rectángulo. Ver la relación entre ambos: ver si el primero es mayor al segundo. 14) Ingresar los datos de una población con total de hombres y mujeres. 18) Ingresar dos números. o si ambos son iguales. Informar tanto los datos ingresados como el resultado de los cálculos. Si la venta superan las 100 unidades se aplicará una tasa de descuento del 10% b. 16) Ingresar el precio y el descuento a efectuar. 19) Ingresar precio y cantidad de artículos vendidos. Si la venta superan las 1000 unidades se aplicará una tasa de descuento del 15%.

23) El mismo ejercicio anterior pero con 3 notas. con los siguientes descuentos: a. Escaleno (los tres lados no iguales) b. ingresar también los descuentos para 100 y 1000 unidades. se aplicará una tasa de descuento del 15% descuento. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Calcular la venta total y precio aplicado. b. Si la venta superan las 500 unidades se aplicará una tasa de descuento del 20% c. Isósceles (dos lados solamente iguales) c. Act 082014 Página 15 . Si las ventas están comprendidas entre 100 unidades y 500 unidades. c) Reprobó: alguna de las notas obtenidas no llega a ser 4. con lo cual no reune los requisites para llegar a la promoción. Equilátero (tres lados iguales) 22) Ingresar dos notas de un alumno y mostrar los mensajes que correspondan: a) Promocionó: si ambas notas son 7 o superior. b) Cursó: si ambas notas son 4 o más.UNLAM 20) Ingresar precio y cantidad de artículos vendidos. Si las ventas son inferiores a 100 se le informa al comprador que no se va a aplicar descuento alguno 21) Ingresar los tres lados de triangulo e informar en base a la comparación de sus lados si el mismo es: a.

do while() : 1) Leer 30 números enteros e imprimir la suma de los números positivos. b. while(). se deberá calcular e informar el total (precio*cantidad) sabiendo que la precios son: a. Art. Art. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Curso: si ambas notas son 4 o más y la cantidad de faltas tampoco llegar a ser 5. 2: 15 $ c. 4) Leer números enteros hasta que se lea el valor cero. 2: Frutería c. Imprimir el producto de los mismos. 6-viernes. 3) Escriba un programa que pida al usuario un carácter y un número de repeticiones. Reprobó: alguna de las notas es inferior a 4 o si la cantidad de asistencias super alas 4 faltas . 5: Perfumería 27) Ingresar un código de articulo y la cantidad. Art. es decir: 1-domingo. Promociono: si ambas notas son 7 o más y la cantidad de faltas es inferior a 5. 4-miercoles. 5: 30 $ Trabajo Práctico Número 5 Estructuras de Control: Iteración Realizar los siguientes ejercicios usando for(). 4: 22 $ e. Art. y mostrar el texto del mes a que correspondió. 26) Ingresar un código de rubro y mostrar el rubro al que se hace referencia: a. 3: Carnicería d. Act 082014 Página 16 . Luego imprima el carácter el número de veces especificado. Estructuras condicionales múltiples. Art. 1: 10 $ b. 5 jueves. 2-lunes. 4: Librería e. 3-martes. 2) Leer 30 números enteros e imprimir el mayor y el siguiente.UNLAM 24) Ingresar tres notas de un alumno. como así también el total de faltas que tuvo en la cursada (la cantidad de días que dura la cursada de la materia es de 14) y mostrar los mensajes que correspondan: a. 1: Verdulería b. 25) Ingresar el número del mes. 3: 18 $ d. c. y 7-sabado.

6) Leer caracteres hasta ingresar el carácter ‘?’. 13) Se solicita al alumno que realice la creación de un programa que pida por teclado el ingreso 30 números. 11) Dado buscar todos los números perfectos. Determinar cuál fue el menor de los ingresos efectuados y su número de orden de ingreso. no se deben usar la biblioteca de funciones matemáticas para realizar esta operación. Act 082014 Página 17 . es decir aquellos números que la suma de sus divisores sean igual ha dicho número. Ejemplo de salida: Si se ingresa: “Frase ingresada de ejemplo” La salida debe ser: Cantidad de a: 3 Cantidad de e: 5 Cantidad de i: 1 Cantidad de o: 1 Cantidad de u: 0 8) Sabiendo que el carácter especial ‘\t’ representa el tabulador.2 y 3 que sumados dan el número 6. 7) Leer caracteres hasta ingresar el carácter ‘?’. Imprimir cuantas vocales fueron ingresadas de cada vocal. realizar un programa que cuando lea ‘\t’ imprima ‘\t’. por lo tanto es perfecto. Determinar e informar cuál de los datos numéricos ingresados fue el mayor y el promedio de los números almacenados. Imprimir cuantas vocales fueron ingresadas. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .UNLAM 5) Mostrar un menú de opciones para realizar la calculadora de cuatro operaciones. Por ejemplo: 6. 9) Escriba un programa que imprima una tabla con las cuatro primeras potencias de los números 1 a 10. Mostrar por pantalla todos los datos solicitados. generar un programa que calcule el factorial de dicho número e informe por pantalla el resultado obtenido. 12) Realizar el ingreso de 20 números enteros positivos. 10) Dado un número que esté comprendido entre 1 y 69. Además se pide determinar la sumatoria total de los números y promedio de los mismos. tiene como divisores los números 1.

los siguientes valores: a. Hallar la sumatoria total del grupo. con el número de orden de ingreso (la posición en que fue ingresado). b. con el número de orden de ingreso (la posición en que fue ingresado). a que articulo correspondió y en qué orden fue ingresado (la posición en que fue ingresado). 16) Ingresar un grupo de articulo con ventas. La suma total que ingreso Act 082014 Página 18 . b. calcular: a. El mínimo del grupo. el promedio y la sumatoria de los valores absolutos (o sea desestimar si el número es positivo o negativo). que va a finalizar cuando el dato ingresado por teclado corresponda al número 9999. d. c. finalizando con el ingreso del artículo 8989.UNLAM 14) Ingresar una serie de números. c. La menor venta a que articulo correspondió y en qué orden fue ingresado (la posición en que fue ingresado). Calcular excluyendo el número de finalización. 15) Realizar la carga de una serie de números que terminan con el ingreso del número 8888. d. El promedio de ventas por artículo. Calcular excluyendo el número de finalización de la serie. La mayor venta. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . El máximo del grupo. Hallar el valor promedio del grupo.

Realizar los cambios necesarios para que funcione c. se desea que el programa permita invertir y mostrar los elementos de la mitad de los elementos.2.5. tanto la mitad inferior del vector como así también la superior. Act 082014 Página 19 . Si el tamaño es par. 4) Leer un vector de números enteros de 100 elementos e imprimirlos en orden inverso al ingresado.4} 7) Leer un vector de números enteros de 100 elementos y sumar las posiciones pares. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .2. 5) Dado el siguiente pseudocódigo.1.6. se pide: a.UNLAM Trabajo Práctico Número 6 Vectores y Matrices 1) Hallar el máximo elemento de un vector de 30 elementos enteros positivos e indicar su posición en el vector. 2) El mismo enunciado del punto anterior pero con 30 números enteros positivos de los que no conocemos su cota inferior. Decir que hace esta rutina d. que por error fue escrito en forma incorrecta.5. Analizar el algoritmo para encontrar los errores b.6} vector_invertido[]={3. Codificar en lenguaje C para obtener el programa correcto 1 Inicio 2 encontrado = 0 3 indice = 1 4 mientras (encontrado == 0) y (indice < ultimo) hacer 5 si (Vector[indice] == elemento_buscado) entonces 6 encontrado = 1 7 sino 8 incrementar indice 9 fin_mientras 10 si (encontrado != 1) entonces 11 Escribir “Elemento encontrado en posición” encontrado 12 sino 13 Escribir “Elemento no encontrado” 14 Fin 6) Dado el vector vector1 de tamaño n.4.3. Ejemplo: vector1[]={1. 3) Leer un vector de 10 elementos. Esto debe aplicarse a cualquier tamaño con cantidad elementos pares. ordenarlo de mayor a menor e imprimirlo.

cuyas matrices identificaremos como R y S mostrar los elementos comunes de R en S 14) Información Se tienen 50 fichas. Generar dos nuevos array del mismo tamaño: a. almacenar los mismos en un array unidimensional. El primero mostrará el 45% del valor inicial cargado b. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Se desea listar las recaudaciones y los Km. 15) Una empresa de ómnibus registra una ficha por cada uno de los viajes de sus 30 unidades la siguiente información: . 11) Confeccionar un programa que calcule la sumatoria de los elementos que se encuentran en las posiciones par y que además encuentre de ellos cuál es el mayor elemento. 10) Dada una matriz cuadrada invertir su diagonal principal e informar. basta con tomar como índices del vector los números de legajo. Si el elemento ya ha sido ingresado en dicha posición deberá quedar el mayor. de 3x3 y de 4x4. Las fichas están desordenadas. Mostrar los resultados obtenidos. 9) Se tiene un arreglo de enteros: a. b.Recaudación . Se ingresa el índice y el puntaje correspondiente al elemento. Promedio de notas. El segundo se mostrará en forma ordenada ascendente 13) Después de haber realizado la carga de dos matrices de diferentes tamaños. 12) Realizar la carga por teclado de 10 elementos cuyo tipo de dato es entero largo. Si pertenece al arreglo cuantas veces está en él.Km recorridos No se conoce la cantidad de viajes realizados.UNLAM 8) Se tiene un vector de 100 elementos enteros representando el puntaje de 1 a 10 con todos sus elementos en cero.Numero de Ómnibus (de 1 a 30) . Act 082014 Página 20 . Legajo (de 1 a 50) . recorridos totales de cada unidad. cada una de ellas con la siguiente información referida a alumnos de un colegio: . Se quiere emitir un listado ordenado por legajo en forma ascendente. tanto para matrices de 2x2. Determinar si un entero X pertenece o no a un arreglo. En este ejercicio no hace falta efectuar un ordenamiento.

. Semanalmente se registra para cada una de las revistas la siguiente información: . Se pide emitir un listado con el siguiente formato ordenado de mayor o menor por la ganancia o perdida. De manera que cada elemento de ambos corresponda al legajo de una persona y el valor de las horas trabajadas. No se conoce la cantidad de registros. Emitir un listado con el siguiente formato ordenado en forma ascendente por legajo: Legajo Sueldo Xxxx xxxxx 17) Se pide cargar 3 vectores de 100. Se pide determinar los elementos intersección de dichos conjuntos. . Nro. 20) En un deposito donde se almacenan 25 materiales distintos de construcción se registra cada vez que se ingresa o sale un material la siguiente información: .GAS: Gastos de edición.MOP: Monto cobrado por publicidad.de Ejemplares Monto Cobrado Gastos de Ganancias Revista Vendidos por Publicidad Edición o Perdidas Xxxx xxxxx xxxxx Xxxxx xxxxx Indicar cuál fue la revista que cobro mayor monto por publicidad y cuál fue su monto.Cantidad de horas trabajadas NOTA: Las fichas no están ordenadas y puede haber varias por cada legajo.NR: Número de revista (de 1 a 8). Se pide ingresar otro vector de 20 elementos que tiene la siguiente información: . DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Act 082014 Página 21 . 19) Una empresa periodística edita 8 revistas. Nro.Legajo . Uno es de tipo entero (representa los números de legajo) y el otro de tipo real (representa el salario/hora).COD: Código de entrada o salida (1 para entrada. . 2 para salida). 18) Generar 2 matrices booleanas de 4x4.UNLAM 16) Se tiene dos vectores de 20 elementos cada uno.CEV: Cantidad de ejemplares vendidos. . Generar otra matriz con el producto booleano de ambas.NM: Número de material (de 1 a 25). 50 y 20 elementos enteros que representan 3 conjuntos. de Unidades Unidades Cantidad en Existencia Material Ingresadas Salidas Xxxx xxxxx xxxxx Xxxxx Indicar cuál fue la revista que cobro mayor monto por publicidad y cuál fue su monto. Se pide emitir un listado con el siguiente formato ordenado de mayor o menor por cantidad en existencia. .CAN: Cantidad de unidades.

los 120 registros corresponden a los 30 días de un mes para cada una de las 4 fábricas. Construye un programa que pida una palabra por teclado e imprima por pantalla si es o no palíndroma. etc. 23) Una empresa constructora tiene 30 edificios en construcción.Carga de los datos 2. Como ejemplo: sedes. c. .PRO: Producción. seres. Cuantas obras recibieron más de 300 unidades del material 1. por ejemplo: reconocer si es palíndroma. sometemos. 25) Escribir un programa que ordene una matriz de 4x4 de números enteros. decir cuál fue la fabrica con mayor rendimiento en el mes. Nota2 y Nota3 en cero. c) Listar las producciones y los días en que la fabrica 4 produjo menos de 100 toneladas. La cantidad total de material 3 que se utiliza en las obras. Se desea saber: a) Sabiendo que el rendimiento es el cociente entre la producción y la potencia consumida. .DIA: Día (de 1 a 30). arenera.UNLAM 21) Un grupo industrial tiene para la fabricación de un producto cuatro plantas. Como las fábricas trabajan ininterrumpidamente. Cuando envía un material a una obra registra: el número de obra (1 a 30). Para ello envía a cada obra 3 materiales distintos. 24) Calcular el elemento máximo y mínimo de una matriz guardando además los índices de los mismos. Se pide: a. Ingresar 120 registros con la siguiente información: . Listar todos los datos de los alumnos cuyas 3 notas sean superiores a 4. sopapos. reconocer. el tipo de material (1 a 3) y la cantidad. Listar las cantidades de cada material que recibió cada obra. Ingresar Notas: Dada la matricula se colocaran las 3 notas. 26) Sumar los elementos de cada una de las filas de una matriz y almacenar las sumas en un vector. . 22) Escribir un programa que muestre y realice el siguiente menú de opciones: 1.Ingresar Notas 3. los mismos para todas las obras. 27) ) Una palabra es palíndroma si se puede leer igual de izquierda a derecha que de derecha a izquierda.Listar Materias Aprobadas 4.Fin Cargar Datos: Los datos a cargar son Matricula. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Especialidad (de 1 a 100) y Nota1. Act 082014 Página 22 . b.POT: Potencia Consumida.NR: Número de fábrica (de 1 a 4). Emitir un mensaje de error si no se encontró la matricula. b) Cual fue el día en el que la fabrica 2 produjo menos.

e. b. Que ordene el vector. c. Cargar variables 2. 12) Confeccionar una opción MENU que tenga no menos de 4 opciones a elección del alumno. Operaciones 3. Act 082014 Página 23 . Considerar que 180 GRADOS = PI (3. Se deben escribir también las funciones convocadas en cada MENU (a elección del alumno también). Esta función será convocada en main() y enviara como argumento un carácter. La función para opción elegida convocara otra función. usando una función que seleccione el mayor de dos números. Que lea un vector de enteros de 10 elementos. Salir 11) Escribir una función que seleccione una opción del menú anterior. d. 6) Escribir una función que retorne 0 si su argumento es par y 1 si es impar. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Que seleccione el mayor elemento. Que copie un vector en otro. 4) Imprimir la posición de dos variables del mismo nombre en dos funciones distintas (main() y ver()). 10) Escribir una función que muestre el siguiente menú de opciones: 1. 3) Escribir un programa que seleccione el mayor de 10 números enteros positivos. 9) Escribir una función que calcula la inversa de 1. 8) Escribir una función a la que pasándole un valor en grados lo transforme en radianes. Qué ocurre? 5) Realizar 5 funciones e invocarlas: a. Que imprima el vector. 2) Escribir una función que calcule el área de un círculo. 7) Escribir una función que calcule el cubo de un número dado.UNLAM Trabajo Práctico Número 7 Funciones Realizar los siguientes ejercicios y confeccionar el programa completo que convoquen las funciones respectivas y emitir los resultados: 1) Escribir una función que calcule el cuadrado de un numero entero (se supone que el resultado no supera los límites de la parte positiva de un entero).1416).

14) Escribir una función a la que se le pasan tres parámetros: dos de tipo float representando los números de una operación y el restante de tipo char que será la operación (+. 17) Escribir una función que determine el mínimo entre 2 valores. 18) Escribir una función recursiva que devuelva el menor valor de una lista de valores ingresados.n ingresan en el bloque principal del programa y la función debe devolver el resultado al punto de llamada. La función retornará un valor verdadero (un 1) si el punto pertenece a la recta o falso (un 0) en caso contrario. escribir una función a la que se le pasen como parámetros los términos A. La función deberá leer del teclado un valor comprendido entre ambas cotas.*.C y dentro de la misma se lea de teclado el valor de un punto (x. donde x es un doublé y n un int.y).-. 21) Escribir una función recursiva tal que un entero positivo devuelva verdadero si el número es una potencia de 2./). el primero es la cota inferior y el segundo la superior. 20) Escribir una función recursiva que calcule el factorial de un número entero. 1 si es positivo y 0 si es cero. 23) Escribir una función recursiva que calcule la suma de los n primeros números naturales. 22) Escribir una función recursiva que invierta los dígitos de un entero dado (por ejemplo 1234 se transforma en 4321). DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .B. 15) Sabiendo que Ay+Bx+C=0 es la ecuación general de la recta. La función debe calcular la potencia enésima de x. 19) Diseñar una función recursiva que permita multiplicar dos números enteros. 16) Escribir una función que indique el signo de un número. Los datos x. La función retornara el resultado de la operación.UNLAM 13) Escribir una función donde se pasan dos parámetros de tipo float.n). En el caso que sean los 2 valores iguales devuelve el único valor. La función devolverá -1 si el número es negativo. La función recibe como argumentos los 2 valores y devuelve el menor. 24) Escribir un programa que llame a una función potencia (x. NOTA: La función debe gestionar correctamente potencias negativas. Act 082014 Página 24 . la potencia 0 y la base 0.

c.UNLAM 25) Construir una función que ingrese un carácter cualquiera por teclado y retorne al programa un valor que indique si es o no una vocal. b. Escriba una función que valide los valores recibidos como argumento y devuelva un código que indique el resultado de dicha validación. a. Escriba el main() correspondiente que ingrese los datos correspondientes y convoque a las funciones de los puntos precedentes. 27) Utilizando recursión indirecta escribir dos funciones para indicar si el número es par o impar. Act 082014 Página 25 . DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . Escriba una función que reciba como argumentos los 3 valores y devuelva el tiempo en segundos. La función debe contemplar tanto las mayúsculas o las minúsculas. minutos y segundos. 26) Ingresar por teclado 3 datos enteros: horas.

d) int m[3][12]. b) *k = 75. c) p = 75. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . 8) Calcular el mayor valor de un vector utilizando el pasaje del vector a una función. int i. e) 2 o más de las respuestas van a cambiar a la variable “i” al valor de 75. para con ellos realizar la suma por referencia e informar. h) char *y(int z). 5) Usando punteros leer e imprimir un vector de 10 elementos enteros. operador de indirección. del que se desea saber su tamaño.UNLAM Trabajo Práctico Número 8 Punteros 1) Indique qué declara cada una de las siguientes expresiones: a) int *var1. e) int (*b)[12]. como se usa (si existe más de una forma mostrarlas). pero con punteros. d) *p= 75. 6) Simular la función strlen(). 7) Considerando las siguientes sentencias: int *p. b) int var2. sobre un vector de números enteros. realizar la declaración de dos punteros. i) char (*x)(int z). p = &i. 3) Ingresar dos variables del tipo numéricas. Act 082014 Página 26 . g) char *z[10]. a) k = 75. f) int *c[12]. i = 42.Cuál de los siguientes sentencias cambiaría la variable “i” al valor de 75. 4) Escribir un ejemplo de un puntero que apunte a una variable y modelar en forma gráfica todo lo necesario para mostrar el tema de uso de operador de dirección. k = i. 2) Escriba un puntero a una función que tome como parámetro un entero y regrese una variable de tipo float. c) int **var3. int k. donde se almacena.

12) Explicar en forma clara y concreta que relación existe entre los punteros y el nombre de los vectores. 14) Escriba dos funciones contarImpares(int*. 13) Escriba parte de un programa que imprima una cadena de caracteres en orden inverso. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .3.UNLAM 9) Escribir un programa que invoque a una función que intercambie valores de dos variables utilizando pasaje de parámetros por referencia.5. Así hasta alcanzar el numero ingresado. int) que reciba un arreglo de enteros y su tamaño y retorne el número de impares y pares que fueron encontrados en el arreglo. itoa y reverse utilizando punteros. Para la resolución de este ejercicio se debe usar punteros int s[10] = {1.9}. Act 082014 Página 27 .7. int * iptr. en la segunda dos asteriscos y en la tercera 3. 11) Escriba las funciones atoi. int) y contarPares(int*. 10) Ingresar un numero e imprimir asteriscos hasta el número ingresado. dar un ejemplo para mostrar esta relación. ejemplo si ingreso un 3: en la primera línea pongo un asterisco.

10) Escribir un programa que divida un número de teléfono de línea de Buenos Aires (tratado como cadena) en característica y número. el carácter y su valor ASCII. 12) Escriba un programa que lea una línea de texto y cuente el número total de palabras. Informar la cantidad de elementos del nuevo arreglo. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . El programa deberá indicar si la primera cadena es menor. igual o mayor que se la segunda. 11) Escribir un programa que lea una serie de cadenas e imprima solo aquellas que comienzan con la letra ‘B’. 2) Escribir una línea de código que declare un array tipo char y lo inicialice con la constante de cadena “Estudiando cadenas”. su dirección. El array debe tener un tamaño que permite guardar la cadena sin que sobre ningún elemento. 6) Escribir un programa que utilice una función para leer una línea de caracteres y de como resultado la línea leída y su longitud. 8) Leer una cadena y convertir todos sus caracteres a mayúsculas. 7) Ingrese su nombre y apellido en un array de caracteres. Las palabras están separadas por espacios en blanco. 5) Leer una cadena de caracteres y luego escribir por cada carácter. 9) Escribir un programa que compare dos cadenas introducidas por el usuario. seguidamente con un puntero proceda a imprimir una letra debajo de otra dejando un salto de línea cuando termine cada uno de los nombres que lo componen.UNLAM Trabajo Práctico Número 9 Cadenas de Caracteres 1) Escribir una línea de código que declare una cadena y la inicialice con el carácter $ en sus tres primeros caracteres. Act 082014 Página 28 . 3) Dado un arreglo de 100 caracteres informar y en qué posición aparece la letra ‘a’. 4) Dado un arreglo de 100 caracteres generar otro eliminando los caracteres repetidos.

Conocer el número de caracteres de una cadena. Act 082014 Página 29 .UNLAM 13) Confeccionar un programa que cargue vocales hasta que ingrese un punto. Buscar un carácter en una cadena f.h>. Comparar cadenas e. Invertir cadenas NOTA: En todos los casos imprimir los resultados en pantalla. Realice una versión con arrays y otra con punteros. Pasar de mayúsculas a minúsculas y viceversa g. 17) Escribir una versión de la función strcat(s. decir cuáles son los valores de las siguientes expresiones: a) cadena[0] b) *cadena c) cadena[9] d) cadena[33] e) *cadena+8 f) cadena 15) Ingresar una lista de 30 nombres y luego imprimir.t). 16) Utilizando funciones definidas en <string. Esta función devuelve 1 si la cadena t aparece al final de la cadena s y 0 en caso contrario. a partir de cadenas ingresadas por el usuario: a. Concatenar cadenas c. Copiar cadenas d. b. Utilizar matrices de cadenas. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . 14) Usando la siguiente declaración: char *cadena=”Una cadena”. Esta función concatena la cadena t al final de la cadena s y 0 en caso contrario. El programa deberá contar las vocales (por medio de punteros) e informar cuantas encontró. Realice una versión con arrays y otra con punteros. 18) Escribir una versión de la función strend(s.t).

Mostrar las direcciones de los elementos del array. 9. Contar la cantidad de palabras del texto.50 8. 50.50 8. Indicar cuál es la longitud de la palabra más larga. 6) Generar un array de 20 enteros.00 6.16 Cafri. Pablo 6. 5) Desarrollar un programa en el que se pueda juagar al ahorcado. 10. Que el mismo contemple la posibilidad de al iniciar decir cuántos errores puede comenter el participante antes de que pierda el juego. 4) Construir un programa con el juego del tatetí. Se requiere emitir un listado que contenga la información de cada alumno y su promedio en el curso.’ Y que está compuesto por palabras separadas por espacios en blanco. confeccionar un programa que realice lo siguiente: a. 8) Escriba un programa que dándole el importe exacto de una cantidad te indica el mínimo número de monedas que podrías tener.00 5.00 6. 11. 200 y 500.00 6. Act 082014 Página 30 . Ejemplo del listado: Apellido y Nombre Notas Promedio Arex. Las monedas son de 1.00 7.00 5. 12 del TP 6 utilizando funciones y punteros.00 5. Que jueguen dos participantes y que informe quién gano y quien perdió. La versión que se pide es con punteros. 10. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . 7) Escriba un programa que muestre la tabla ASCII. Según corresponda se crearan funciones de ingreso de datos. de visualización de información solicitado y de emisión de listados.00 7.00 5. e. d. 5.UNLAM Trabajo Práctico Número 10 Integración de TP1 a TP8 1) Dado un arreglo de caracteres de 1000 elementos que contiene un texto terminado en ‘. Indicar cuál es la primera y última palabra. 2) Se dispone de los nombres y apellidos de los alumnos de un curso y de las notas de 6 evaluaciones tomados a cada uno. 3) Reescribir los ejercicios 8. Utilizar una función para el cálculo de promedio. Realice las validaciones necesarias. Haga lo mismo para array de elementos de tipo double y de caracteres. b. Indicar cuantas veces se repite cada palabra.00 8. c. 25.50 El ejercicio debe resolverse mediante arrays bidimensionales uno para los nombres (array de caracteres) y otro para las notas (numérico de 7 columnas) donde debe incluirse el promedio. 100. Indicar la longitud de cada palabra. Maria 5.

El programa deberá comprobar que los números introducidos son correctos. seguida cada palabra del número de letras que compone cada palabra. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .UNLAM 9) Escribir un programa que lea una frase y a continuación visualice cada palabra de la frase una debajo de otra. Crear un programa que permita introducir un cuadrado por teclado y determine si este cuadrado es mágico o no. están entre el 1 y el 9. 10) Escribir un programa que lea una frase y sustituya todas las secuencias de dos o más blancos por un solo blanco y visualice la frase por pantalla. Se solicita tanto la solución con punteros como la que no requiera de los mismos. La frase será cargada por teclado. es decir. sus columnas y sus diagonales son idénticas. Act 082014 Página 31 . 11) Un cuadrado mágico 3 x 3 es una matriz 3 x 3 formada por números del 1 al 9 donde la suma de sus filas.

b) Escribir 2 funciones: suma y resta. 4) Arrays de Estructuras a) Definir una unión de tipo “nume” que contiene: . Tener en cuenta que el usuario puede ingresar el mes en cualquiera de sus formas: por numero de orden.entero .caracter .un entero. abreviado o nombre completo.Numero de orden del mes .UNLAM Trabajo Práctico Número 11 Estructuras – Uniones – Arreglos de Estructuras 1) Escriba un programa que imprima una lista de amigos guardados en una agenda (tipo estructura). 5) Arrays de Estructuras a) Definir una estructura cuyos miembros contengan: .Abreviaturas del mas (3 letras) Es importante que los tipos de cada miembro sean elegidos de forma conveniente.Nombre del mes . b) Inicializar un array de 12 estructuras del tipo definido en el punto anterior. un float. un double b) Definir luego una estructura con 4 miembros del tipo que se indica a continuación: . c) Generar un array de registros con las estructuras válidas. Act 082014 Página 32 .Cantidad de días del mes .Las funciones deben recibir argumentos y devolver resultados. que permitan efectuar dichas operaciones sobre números complejos.No utilizar variables globales. 2) Estructuras a) Declarar una estructura “complejo” con 2 miembros: parte_real y parte_imaginaria. c) Escribir una función en la que dado un mes cualquiera devuelva la cantidad de días transcurridos en el año hasta llegar a ese mes. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas . c) Escribir el programa que utilice esas funciones siguiendo las siguientes pautas: . d) Escribir por lo menos 6 sentencias de acceso a todos los miembros de las estructuras declaradas. 3) Estructuras de Estructuras a) Definir una estructura “operario” que contiene: legajo. . La función debe recibir argumentos y devolver un código que indique si la validación fue satisfactoria o no. Los 2 últimos miembros deben ser a su vez estructuras.unión tipo nume .float c) Declarar 2 variables de estructuras del tipo indicado en b) llamadas “uno” y “dos”. b) Ingresar 50 estructuras tipo “operario” por teclado y validar mediante una función la fecha de ingreso. fecha de ingreso y hora de entrada.

cupa est nil discere velle» “Pregunta sin reparos lo que quieras saber: más que ignorar.) Act 082014 Página 33 . es malo no querer aprender” Marco Porcio Catón (234-149 a. DESARROLLADOR DE APLICACIONES WEB – Programación Básica 1 Departamento de Ingeniería e Investigaciones Tecnológicas .C. quae nescieris. te velle doceri: scire aliquid laus est.UNLAM « Non pudeat.