Docsity
Docsity

Prepara tus exámenes
Prepara tus exámenes

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity


Consigue puntos base para descargar
Consigue puntos base para descargar

Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium


Orientación Universidad
Orientación Universidad


practicas problemas tema5, Ejercicios de Informática

Asignatura: Introducción a la Programación, Profesor: , Carrera: I. T. Infor. Sistemas, Universidad: UCA

Tipo: Ejercicios

Antes del 2010

Subido el 30/08/2008

josellle
josellle 🇪🇸

4.4

(60)

148 documentos

1 / 5

Toggle sidebar

Esta página no es visible en la vista previa

¡No te pierdas las partes importantes!

bg1
Ingeniería Técnica en Informática de Gestión
Introducción a la Programación- Curso 07-08
Relación de Problemas de Prácticas.- Tema 5
Tipos de datos
1.- Realiza un programa que declare un vector de 10 enteros y a través de funciones, lo
inicialice y lo visualice por pantalla.
2.- Escribe un programa que lea diez enteros comprendidos entre 1 y 10, los almacene en
un vector y escriba por pantalla la cantidad de elementos de cada número que contiene.
Ejemplo: Dado el siguiente vector [2, 2, 2, 3, 3, 4, 4, 4, 7, 7]
La salida producida sería:
Existen 3 elementos del número 2
Existen 2 elementos del número 3
Existen 3 elementos del número 4
Existen 2 elementos del número 7
3.- Realiza un programa que escriba por pantalla el máximo de los elementos de un vector.
Para ello debes usar las funciones cuyos prototipos se describen a continuación y utilizar
aritmética de punteros para acceder a los elementos del vector.
void leer_vector(int *vector)
void maximo(int *vector, int *max)
4.- Escribe un programa que normalice los 20 números reales que están almacenados en un
vector estadisticas. Para llevar a cabo esta normalización, se debe dividir cada número por
el máximo valor del vector de forma que los valores resultantes estén comprendidos entre 0
y 1. Realiza una versión devolviendo el resultado en el mismo vector y otra que construya
un nuevo vector normalizado.
5.- Dada la siguiente definición:
int vector[4]={1, 7, 3, 4};
Indica que valor resulta de la evaluación de las siguientes expresiones:
1.- *vector + (* (vector + 1))
2.- *(vector + 3)
pf3
pf4
pf5

Vista previa parcial del texto

¡Descarga practicas problemas tema5 y más Ejercicios en PDF de Informática solo en Docsity!

Ingeniería Técnica en Informática de Gestión

Introducción a la Programación- Curso 07-

Relación de Problemas de Prácticas.- Tema 5

Tipos de datos

1.- Realiza un programa que declare un vector de 10 enteros y a través de funciones, lo inicialice y lo visualice por pantalla.

2.- Escribe un programa que lea diez enteros comprendidos entre 1 y 10, los almacene en un vector y escriba por pantalla la cantidad de elementos de cada número que contiene.

Ejemplo: Dado el siguiente vector [2, 2, 2, 3, 3, 4, 4, 4, 7, 7]

La salida producida sería:

Existen 3 elementos del número 2 Existen 2 elementos del número 3 Existen 3 elementos del número 4 Existen 2 elementos del número 7

3.- Realiza un programa que escriba por pantalla el máximo de los elementos de un vector. Para ello debes usar las funciones cuyos prototipos se describen a continuación y utilizar aritmética de punteros para acceder a los elementos del vector.

  • void leer_vector(int *vector)
  • void maximo(int *vector, int *max)

4.- Escribe un programa que normalice los 20 números reales que están almacenados en un vector estadisticas. Para llevar a cabo esta normalización, se debe dividir cada número por el máximo valor del vector de forma que los valores resultantes estén comprendidos entre 0 y 1. Realiza una versión devolviendo el resultado en el mismo vector y otra que construya un nuevo vector normalizado.

5.- Dada la siguiente definición:

int vector[4]={1, 7, 3, 4};

Indica que valor resulta de la evaluación de las siguientes expresiones:

1.- vector + ( (vector + 1)) 2.- *(vector + 3)

6.- Realiza un programa que, dado un vector con 15 números enteros distintos, identifique si los valores que el usuario introduzca a continuación, están o no contenidos en el vector indicando la posición del elemento en caso de existir. El programa finalizará cuando se introduzca un valor 0.

7.- Implementa un programa que realice el producto escalar de dos vectores.

8.- Realiza un programa que calcule la desviación típica de una serie de números reales almacenados en un vector

9.- Escribe un programa que dado un vector desordenado de n enteros, elimine los valores duplicados y obtenga el número de elementos restantes.

10.- Implementa un programa que convierta números enteros positivos menores que 10000 en base 10 a su representación en octal.

11.- Realiza un programa que dada una matriz cuadrada de números reales, calcule una segunda matriz traspuesta de la primera, escribiendo el resultado por pantalla..

12.- Realiza un programa que dadas dos matrices cuadradas de enteros, obtenga una matriz producto de las anteriores e imprima ese resultado por pantalla.

13.- Implementa una función que permita copiar todos los elementos de una matriz cuadrada de enteros en otra matriz.

14.- Realiza una función int compara(int A[N][N], int B[N][N]) que determine si dos matrices cuadradas de enteros son iguales. La función devolverá 1 si las matrices son iguales y 0 en caso contrario.

15.- Realiza una función que compruebe si una matriz es simétrica. La función devolverá 1 si la matriz es simétrica y 0 en caso contrario.

16.- Dada una matriz A de enteros de dimensión nxn que satisface la siguiente propiedad: ∀ i : 1≤ inj : 1≤ jn a (^) i , ja (^) i,j+1 , implementa un programa que determine si existen dos elementos ubicados en la diagonal principal (cada uno de ellos en una posición distinta) cuyo producto sea igual a algún otro elemento que ocupe una posición distinta a las de la diagonal principal. Es decir debe determinar si se cumple: ∃ i , j , k , l 1 ≤ i , j , k , ln ij kl tal que a (^) k,k * a (^) l,l = a (^) i,j.

17.- Un cuadrado latino de orden N es una matriz cuadrada que en su primera fila contiene los N primeros números naturales y en cada una de las siguientes N-1 filas contiene la rotación de la fila anterior un lugar a la derecha. Realiza un programa que reciba como parámetro la dimensión del cuadrado y genere la matriz correspondiente a su cuadrado latino

30.- Se desea almacenar la información relativa a 20 personas. De cada persona se almacena su nombre, apellidos, dni, edad. Implementa la estructura necesaria para almacenar dicha información y realiza las funciones necesarias para la inicialización de la estructura. El programa deberá además recibir por teclado el dni de una persona e imprimir su edad utilizando una función cuyo prototipo sea: int busca(personas x[], char *dni)

31.- Se dispone de la información relativa a 100 estaciones meteorológicas diferentes repartidas por una determinada área geográfica. Conocemos el nombre de las estaciones y la cantidad de lluvia en litros/m^2 que recogieron durante el año pasado en cada uno de los 12 meses. Implementa la estructura adecuada para almacenar dicha información. Realiza las funciones necesarias para determinar en qué punto llovió más y en cual menos y la cantidad media de agua recogida en las estaciones meteorológicas durante cada mes.

32.- Se desea almacenar la información relativa a las ventas semanales de los 25 vendedores de una compañía. De cada vendedor se almacena su nombre, apellidos y dni. Realiza un programa que inicialice la estructura y calcule las ventas totales de cada vendedor, las ventas totales de la compañía, y el nombre (e importe) de los dos vendedores que más han facturado.

33.- Se desea realizar un programa en C que implemente un diccionario Inglés/Español. El programa debe leer palabras en Inglés y traducirlas a Español hasta que el usuario introduzca la palabra “Fin”. Diseña la estructura de datos adecuada para almacenar las parejas de palabras Inglés-Español introducidas por el usuario. Inicializa dicha estructura y realiza el proceso de traducción descrito. El número de parejas de palabras es variable, pero limitado a un máximo de 100, siendo la longitud de cada palabra de un máximo de 40 caracteres.

Ejemplo: Si se introducen las siguientes parejas de palabras: book libro green verde mouse ratón door puerta Cuando el usuario introduzca la palabra green la respuesta será verde.

34.- Un instituto desea almacenar los datos de los N alumnos de un curso. De cada alumno se almacenarán nombre, apellidos, dni, edad y las calificaciones que ha obtenido en cada uno de los tres trimestres de cada una de las 7 asignaturas del curso; junto con las calificaciones deberá almacenarse también el nombre de la asignatura. Diseña la estructura necesaria para almacenar dicha información e implementa las siguientes funciones:

  • void nota_global (alumno * al) Recibe como parámetro exclusivamente los datos de un alumno y debe escribir por pantalla la nota global para cada asignatura.
  • void mayor_nota (char *asig, alumno *clase) Recibe como parámetro los datos de todos los alumnos y el nombre de una asignatura y deberá escribir por pantalla el nombre y apellidos del alumno que más nota haya obtenido en la asignatura especificada por asig durante el primer trimestre.

35.- Una empresa desea realizar un programa para controlar la permanencia de sus trabajadores en el lugar de trabajo. Para ello debe almacenar la hora de llegada y salida de cada trabajador en horas, minutos y segundos de cada uno de los cinco días laborables de la semana. Además se desea almacenar nombre, apellidos, dni, y salario por hora de cada trabajador. Elige la estructura adecuada para almacenar esta información y realiza las funciones básicas de inicialización e inserción de información. Suponiendo que cada trabajador debe contar con una permanencia de 35 horas semanales, se considerarán el resto como horas extra. El programa debe obtener el nombre, apellidos y el salario total de cada uno de los trabajadores considerando un incremento de un 10% del salario por hora para las horas extra. Así como, los nombres y apellidos de todos aquellos trabajadores que contabilicen una permanencia semanal menor a la exigida por la empresa.

36.- Se desea almacenar la siguiente información de los empleados de una empresa: nombre y apellidos, edad, DNI, ventas realizadas en cada uno de los días de la semana. Diseña la estructura necesaria para almacenar esa información teniendo en cuenta que las ventas diarias de un empleado pueden ser de hasta 100.000 pesetas. Se debe crear un menú para manejar esta estructura implementando las siguientes funciones y respetando sus prototipos:

  • void dia_mas_ventas (empleado * emp, int * dia); Recibe la información de un empleado y devuelve en día el día de la semana en el que ese empleado ha tenido más ventas.
  • char * menor_empleado (empleado emp[]); Recibe la información de todos los empleados de la empresa y devuelve el nombre del empleado más joven de la empresa (si hay más de uno con la misma edad devolverá el primero que encuentre).
  • int total_ventas (empleado emp); Recibe un empleado y devuelve el total de las ventas semanales de ese empleado
  • int mismo_nombre (empleado * emp); Recibe la información de todos los empleados de la empresa y devuelve 1 si hay dos empleados con el mismo nombre y 0 en caso contrario.