Coleccion Ejercicios 1

4
 Colección de ejercicios (1) Para todos los ejercicios realice un programa utilizando el Lenguaje de Programación C, que permita dar solución a cada requerimiento planteado. El estudiante deberá construir el código utilizando el prototipo de la función en el caso en que se especifique. NO!" No deberá cambiar ni el nombre que se le #a dado a cada función ni el conjunto de parámetros que la definen. 1. INTRODUCCIÓN Los ejercicios de esta sección corresponden a ejercicios  que el estudiante debe ser capaz de realizar en las primeras semanas de iniciación del curso $programas iniciales%. Para esto el estudiante debe conocer" los operadores básicos en el Lenguaje, estructuras de control anidadas & la utilización de funciones. '% (ados dos n)me ros en ter os, de ter mi ne" a. *cuál es el má+imo int maximo (int x, int y);  b. *cuál es el m-nimo int minimo (int x, int y); % /e des ea cal cular el re sultado fi nal de una bas e x ele 0ada a un ciert a pot encia y. Escriba un programa que muestre por pantalla el resultado. void  potencia (int x, int y); 1% (ete rmine las ra -ces real es de una ecuaci ón cuadr át ic a. Los coef ic ie nt es de la ecuación serán le-dos por pantalla. void raicesCuadra( float a, float b, float c); 2% Calcular la media aritm3tica de las notas pertenecientes a n materias de un curso. E+isten m cursos. Para cada curso deberá indicar la media obtenida. void leerNotasCurso(float notas[]);  float Media_Materias_Curso(float notas[]); 4% Escri ba un progr ama que det ermi ne si un n)mero enter o le-do por t eclado , es" a. par" int esPar (int x);  b. primo" int esPrimo(int x); 5% (ado un n)mero $le ido por tec lado% , que repres enta los s egundos q ue #a in0er tido una persona en #acer un e+ámen, determinar cuantas #oras, minutos & segundos #a in0ertido. 6mprima el resultado por pantalla.  void tiempo(int seg); 7% (ado un n)mero entero le-do por pant alla, muestre cad a uno de los d-gitos del n)mero en orden in0erso. Ej" /i el n)mero es 12, se debe mostrar 2, , 1. void Digit (int num);

Transcript of Coleccion Ejercicios 1

7/21/2019 Coleccion Ejercicios 1

http://slidepdf.com/reader/full/coleccion-ejercicios-1 1/4

Colección de ejercicios (1)

Para todos los ejercicios realice un programa utilizando el Lenguaje de Programación C,

que permita dar solución a cada requerimiento planteado. El estudiante deberá construir el

código utilizando el prototipo de la función en el caso en que se especifique. NO!" No

deberá cambiar ni el nombre que se le #a dado a cada función ni el conjunto de parámetrosque la definen.

1. INTRODUCCIÓN

Los ejercicios de esta sección corresponden a ejercicios que el estudiante debe ser capaz de

realizar en las primeras semanas de iniciación del curso $programas iniciales%.Para esto el estudiante debe conocer" los operadores básicos en el Lenguaje, estructuras de

control anidadas & la utilización de funciones.

'% (ados dos n)meros enteros, determine"

a. *cuál es el má+imo int maximo (int x, int y); b. *cuál es el m-nimo int minimo (int x, int y);

% /e desea calcular el resultado final de una base x  ele0ada a un cierta potencia y.Escriba un programa que muestre por pantalla el resultado.

void  potencia (int x, int y);

1% (etermine las ra-ces reales de una ecuación cuadrática. Los coeficientes de la

ecuación serán le-dos por pantalla.void raicesCuadra( float a, float b, float c);

2% Calcular la media aritm3tica de las notas pertenecientes a n materias de un curso.E+isten m cursos. Para cada curso deberá indicar la media obtenida.

void leerNotasCurso(float notas[]);

  float Media_Materias_Curso(float notas[]);

4% Escriba un programa que determine si un n)mero entero le-do por teclado, es"a. par" int esPar (int x); b. primo" int esPrimo(int x);

5% (ado un n)mero $leido por teclado%, que representa los segundos que #a in0ertidouna persona en #acer un e+ámen, determinar cuantas #oras, minutos & segundos #a

in0ertido. 6mprima el resultado por pantalla.  void tiempo(int seg);

7% (ado un n)mero entero le-do por pantalla, muestre cada uno de los d-gitos deln)mero en orden in0erso. Ej" /i el n)mero es 12, se debe mostrar 2, , 1.void Digit (int num);

7/21/2019 Coleccion Ejercicios 1

http://slidepdf.com/reader/full/coleccion-ejercicios-1 2/4

*8u3 modificaciones tendr-a que #acer en la función para que pudiese obtener los

digitos del n)mero en otra base distinta al decimal9% 6mplementar una función, que de0uel0a el d-gito N:3simo de un n)mero num,

teniendo en cuenta que el d-gito de posición ; es el d-gito mas a la derec#a del

n)mero $el menos significati0o en 0alor posicional%. La función de0ol0erá :' si el

n)mero no tiene el digito que se pide.int digitPos(int pos, int num);

2. VECTORE

En esta sección se presentan los ejercicios de 0ectores separados en dos bloques" 0ectores

$n)meros% o cadenas $caracteres%.

Para esto el estudiante debe conocer" declaración & tipos de 0ectores, manejo de 0ectoresmediante una 0ariable -ndice de tipo entera, paso de 0ectores a funciones, lectura de

cadenas & tratamiento de cadenas.

2.1. Ejercicios de Vec!ores de En!eros.

" #$sicos%

'% <ealizad un programa que lea una serie de n)meros enteros con 0alorescomprendidos entre ; & ';;;, #asta que nos introduzcan un n)mero entero que no

est3 comprendido entre esos 0alores. El programa debe escribir despu3s, los 0alores

entre ; & ';;; que el usuario #ab-a introducido. =tilizad un 0ector.

Ejemplo de funcionamiento"

Dame la serie con valores entre 0 !000(valor fuera de rango para parar de leer)

0"0

###

!000

$!%alores entre 0 !000 son&

0"0

###!000

% <ealizad un programa que lea una serie de n)meros enteros con 0alores

comprendidos entre ; & ';;; & entre :';;; & :', #asta que nos introduzcan un

n)mero entero que no est3 comprendido entre esos 0alores. El programa debeescribir despu3s, los 0alores entre :';;; & ';;; que el usuario #ab-a introducido.

=tilizad un 0ector más grande.

1% Lo mismo que el Problema pero indicando además, cuantas 0eces el usuario dijocada 0alor $frecuencia%.

7/21/2019 Coleccion Ejercicios 1

http://slidepdf.com/reader/full/coleccion-ejercicios-1 3/4

2% Leer n n)meros enteros por teclado, adicionalmente leer dos n)meros. (eterminar si

los dos n)meros forman parte de la secuencia de n)meros inicial le-das. Lasecuencia de n)meros finaliza en :'.

4% Conocida una secuencia de n)meros enteros positi0os finalizada en :' $fin de

secuencia%, desarrolle un programa que determine"

a. *Cuántos de esos n)meros son pares b. *Cuál es el 0alor del n)mero má+imo

c. *Cuál es el 0alor del n)mero m-nimo

" &'nciones%

> Los 0ectores serán declarados con una longitud má+ima nmx*+ $elementos%.

> Las funciones siguientes pueden, por lo genenral, utilizar dic#os 0ectores parcialmente,debiendo pasar como parámetro una longitud n'm,nmx.

> Nótese que el inter3s por el cual algunos enteros se pasan por referencia $con punteros%

es el de modificar su 0alor puesto que el 0ector se modifica $longitud, elementos, etc.%.

5% Leer m elementos de un 0ector por teclado. (eberá considerar que no podrá superar 

el má+imo de elementos de 0ector $num%.

void leer (int vect[], int num);

7% Leer elementos de un 0ector #asta encontrar el n)mero entero a $secuencias con

marca%. (eberá retornar el n)mero de elementos que #a le-do sin contar el entero a.

 No podemos leer más de nmax enteros.int leerMarca(int vect[]);

9% (ado un elemento & dado un 0ector de enteros, realice una función que de0uel0a el

n)mero de apariciones del elemento en el 0ector.int veces(int valor, int vect[], int num);

?% 6n0ertir los elementos del 0ector sin utilizar otro 0ector. Por ejemplo, el 0ector 

formado por los enteros" ' 1, debe quedar 1 '.

void invertirOrden(int vect[], int num);

';% @uscar el elemento má+imo de un 0ector. !demás se desea saber la posición que

3ste elemento ocupa en el 0ector. En caso de que e+ista más de un má+imo,

quedarse con el )ltimo encontrado. *8u3 modificaciones tendr-a que #acer paraquedarse con el primero.

int buscar (int *pos, int vect[], int num);

''% 6nsertar un elemento considerando que el 0ector está ordenado ascendentemente.

$6nserción en orden%. LO AE <E/=ELO EN CL!/E 6O:7.doc

int insertarOrden(int elem, int vec[]t, int *num, int *pos);

'% 6nsertar elementos en un 0ector desordenado. LO AE <E/=ELO EN CL!/E 6O:

7.doc

7/21/2019 Coleccion Ejercicios 1

http://slidepdf.com/reader/full/coleccion-ejercicios-1 4/4

int insertarDesorden(int elem, int vect[], int *num);

'1% Eliminar un elemento dado del 0ector. $@uscar, luego eliminar%.

void eliminar (int* elem, int vect[], int *num);

'2% *8u3 modificaciones tendr-a que #acer en los ejercicios 9, ?, ';, '', ' & '1

suponiendo que los 0ectores acaban con la marca del n)mero entero a $p.ej." aB:'%,

en 0ez de conocer el n)mero e+acto de elementos que contienen $num%.

-. /TRICE

'4% (eclare una matriz de n)mero reales de tamao (6D+(6D $(6D constante con0alor 4%. Escribir las siguientes funciones"

a. unción raspuesta" (ada una matriz de0ol0er su traspuesta.

0oid !rs0'es!$float matFG, float matrasFG%H b. unción /imetrica" (ada una matriz indica si la matriz es sim3trica $'% o si

no lo es $;%.int sime!ric$float matFG%H

c. uncion /uma" (adas dos matrices, calcular la suma de 3stas.0oid s'm!$float mat'FG,float matFG, resFG%H

d. uncion <esta" (adas dos matrices, calcular la resta de 3stas. Piensa esta

respuesta utilizando el procedimiento de suma de matrices, definidoanteriormente.

e. unción Dultiplica" (adas dos matrices, de0uel0e el producto de ellas.

0oid m'l!i!$float mat'FG,float matFG, resFG%H