Sitio Web de Héctor E. Medellín Anaya

Tarea #1

1. Escriba un programa que lea una velocidad en metros por segundo y la convierta en km por hora. Introduzca los siguientes valores para probar: 10 m/s, 20 m/s, 100 m/s.

2. Escriba un programa que lea una cantidad de tiempo en minutos y calcule ese tiempo en horas, en días y en semanas. Introduzca los siguientes valores para probar: 86400, 150000, 5000000.

3. Escriba un programa que lea una distancia en años luz y la despliegue en km, millas y parsecs (1 parsec = 150,000,000 km). Introduzca los siguientes valores para probar: 1 año luz, 1/365 años luz, 1 segundo luz.

Tarea #2

1. Escriba los programas de la tarea #1 utilizando funciones. Defina una función para leer un número real y funciones para hacer cada una de las conversiones.

2. Escriba una función que convierta de grados Farenheit a Kelvin. Pruebe la función escribiendo una función main que lea una temperatura en grados Farenheit y la despliegue en Kelvin.

3. Escriba una función para calcular el puntaje de un equipo de fut bol sabiendo el número de juegos ganados y empatados los cuales pasarán como parámetros.

Escoger uno de los siguientes problemas

4. Escriba una función que despliegue una línea de asteriscos (‘*’) de longitud n, donde n es el parámetro de la función. Con la función definida escriba una función main que despliegue la siguiente figura:

*

**

****

********

5. Defina una función que despliegue un letrero delimitado por asteriscos como se muestra. El letrero debe pasarse como un parámetro de tipo char *.

**********************************************************

CURSO DE PROGRAMACIÓN

**********************************************************

6. Escriba una función que regrese un 1 si un punto de coordenadas (x, y) se encuentra dentro de una elipse con semieje mayor A y semieje menor B y regrese 0 en otro caso. Considere los puntos sobre la elipse como interiores. Utilice la función para escribir una función main que despliegue todas las coordenadas con valores enteros que se encuentran en una elipse especificada por el usuario.

Tarea #3

2. Escriba una función que acepte los coeficientes de una ecuación cuadrática a, c y b, y calcule las raíces reales o complejas. La función deberá aceptar los tres coeficientes como parámetros y regresar las raíces calculadas en dos parámetros por referencia de tipo double y un valor 0 o 1 en otro parámetro por referencia de tipo entero dependiendo si las raíces son reales o son la parte real e imaginaria de las raíces complejas.

Tarea #4

1. Escriba un programa que utilice dos arreglos de 2 elementos que representen dos vectores en el plano, lea los dos elementos de cada arreglo y calcule el producto punto y el ángulo entre los dos vectores.

2. Escriba un programa que inicie un arreglo de 50 elementos con los primeros 50 números primos y los imprima en pantalla.

Tarea #5

No olvide incluir el número de elementos en las funciones que defina. En cada caso escriba una función main para probar sus funciones.

1. Escriba una función que acepte un arreglo como parámetro y regrese el elemento más grande del arreglo.

2. Escriba una función de tipo float que acepte un arreglo de tipo float como parámetro y regrese la suma de los cuadrados de los elementos del arreglo.

3.  Escriba una función que acepte un arreglo de tipo float como parámetro y haga cero todos loe elementos negativos del arreglo.

4.  Escriba una función de tipo int que acepte un arreglo de tipo int como parámetro y encuentre el elemento que más se repite.

ejemplo: si el arreglo es {1, 6, 3, 4, 5, 5, 3, 2, 2, 2, 2, 5, 6, 7, 8, 5, 5} regresará 5.

tarea #6

1. Escriba una función que intercambie las columnas de una matriz de Nx4.

2. Escriba una función que inicie un arreglo bidimensional cuadrado de NxN con 1's en la diagonal principal y 0's en las demás posiciones.

3. Escriba una función que acepte como dato un arreglo cuadrado de enteros de NxN y calcule la suma de los elementos cada columna almacenando los resultados en un vector de N componentes.

Escriba un programa que almacene en una matriz de 20x7 los datos de una tabla de futbol, es decir, juegos jugados, juegos ganados, juegos empatados, juegos perdidos, goles a favor, goles en contra y total de puntos. Deberá hacer una función para leer: juegos jugados, juegos ganados, juegos empatados, juegos perdidos, goles a favor, goles en contra. Otra función para calcular los puntos de cada equipo con base a la fórmula: puntos = (juegos  ganados)*3 + (juegos empatados), y una función para desplegar la tabla con las etiquetas adecuadas.

Tarea #7

1. Escriba una función que cambie las iniciales de cada palabra a mayúsculas y las demás letras a minúsculas. Por ejemplo,

"ESE oso SE aSea ASI"
"Ese Oso Se Asea Asi"

2. Escriba una función que invierta una cadena y regrese el apuntador a la cadena invertida. Por ejemplo:

"hola que tal"
"lat euq aloh"

3. Escriba una función que extraiga una cadena con las iniciales de un nombre. Por ejemplo:

"Juan Perez Lopez"
"J.P.L."

4. Escriba una función que reemplace todas las ocurrencias de una cadena cad1 dentro de una cadena cad2 por una cadena cad3. Ejemplo:

cad1 ="ese osos se ase asi"
cad2 ="se"
cad3 = "tis"
salida: cad1 = "etis osos tis atis asi"

Tarea #8

1. Escriba funciones para leer, restar, multiplicar y dividir números racionales.

2. Defina una estructura para representar números complejos y escriba funciones para sumar, restar, multiplicar, dividir, extraer la magnitud, extraer el argumento, leer e imprimir números complejos. Pruebe sus funciones evaluando la siguiente expresión.

Tarea #9

1. Escriba una función para desplegar los datos de un paciente (utilice la estructura vista en clase).

2. Escriba una función para leer los datos de un paciente (utilice la estructura vista en clase).

3. Escriba una función main que lea datos de pacientes de un hospital. Pregunte el número de datos que se leerán y después lea los datos. Luego despliegue el porcentaje de los pacientes femeninos y masculinos, el número de pacientes en cada condición de salud y el nombre y dirección de los pacientes masculinos de máxima gravedad.

Tarea #10

1. Una referencia bibligráfica puede provenir de una revista o de un libro. En el caso de provenir de un libro consta de: autores, título, edición, editorial, lugar y año de publicación; en el caso de provenir de una revista consta de: autores, título, nombre de la revista, mes y año de publicación, intervalo de páginas. Por ejemplo:

Libro:

Farin, G., Curves and Surfaces for Computer Aided Geometric Disign, Academic Press, New York, 1988.

Revista:

Crow, F. C., "The aliasing Problem in Computer Generated-Shaded Images," CACM, Nobember 1997, 799-805.

Defina una estructura con unión para representar la información de una referencia bibliográfica y escriba una función para leerla y otra para desplegarla. Despliegue utilizando el formato de los ejemplos.

2. Defina una enumeración para definir las piezas de agedrez. Note que pueden ser blancas o negras, por tanto deberá definir 12 piezas diferentes.

Tarea #11

1. Escriba un programa que utilice la funcion pos (último acetato de cadenas de caracteres) para leer un archivo e imprimir todas las líneas que contengan una cierta palabra. El nombre del archivo y la palabra deberá solicitarlas al usuario.

2. Escriba un programa que lea los datos de dos matrices cuadradas (máximo de 10x10) de números reales desde un archivo en el siguiente formato:

tamañoN

renglón1
renglón2
renglón3

renglónN

 

renglón1
renglón2
renglón3

renglónN

y calcule la suma y la resta de las dos matrices escribiendo el resultado en otro archivo.

3. Escriba un programa para una comercializadora. Almacene en un archivo los datos de los productos en estructuras con los siguientes elementos:

clave (entero)
descripcion (cadena de 30 caracteres)
existencia (entero)
precio unitario (flotante)

Escriba funciones para:

agregar un producto al archivo
listar los productos disponibles
leer la clave de un producto y el número de elementos y calcule el precio total y que actualice el campo existencia de ese producto.