You are on page 1of 13

1

UNIVERSIDAD NACIONAL DE CHIMBORAZO

FACULTAD DE INGENIERÌA

ESCUELA DE SISTEMAS Y COMPUTACÌON

Tercer Semestre-A

TEMA: ejercicios

AUTOR:

Leónidas Aguaiza

RIOBAMBA-ECUADOR.

2018

Periodo académico
2

Abril 2018 – agosto 2018

Resolución de ejercicios
1. Ejercicio

1.1. Encuentra los errores en la declaración de punteros.

Análisis pregunta 1.- en la siguiente declaración de punteros existen 3 errores el primero


1.- int (&y). No se puede dar esa declaración debido a que (&) es utilizado para dar un
direccionamiento de referencia para guardar un valor en una variable.
2.- char * c=’C’ >>>en la declaración de un puntero se debe guardar un dirección de
memoria a la cual está apuntando y no un valor.
3.- void *r=x >>>> este es un puntero a void es un puntero y genérico y en este se debe
guardar una dirección de memoria no un valor. La manera correcta de hacerlo sería void*
r=&x;

Manera correcta
3

1.2. Dada la siguiente declaración escribir una función que tenga como argumento

un puntero al tipo de dato y muestre por pantalla los campos.


4

Análisis.- se tiene una estructura en la cual tenemos un puntero de tipo carácter y una
variable de tipo entero se declaró un puntero entero para poder imprimir mediante el
puntero el código que se ingresó y declarar una variable de tipo carácter para imprimir con
el puntero que se tiene dentro de la estructura.
1.3. ¿Qué diferencia se puede encontrar entre un puntero a constante y una

constante puntero?

Un puntero a una constante, de forma que el valor al que el puntero apunta no


pueda ser cambiado, pero el puntero en sí puede cambiar para apuntar a otra
variable o constante.
Un puntero constante que no puede ser cambiado. El carácter al que apunta sin
embargo sí puede modificarse
1.4. Un array unidimensional se puede indexar con la aritmética de punteros. ¿Qué

tipo de puntero habrá que definir para indexar un array bidimensional?

Se tendría que declarar un puntero normal (int b [10]), el puntero seria (int *¨ptr=NULL),
entonces para poder indexar que se puede utilizar la aritmética de punteros para poder
acceder al array y poder hacer uso de la misma y recorrer cada una de las posiciones del
array.

1.5. Dada la siguiente función:

El código ingresado contiene errores en la sintaxis no se puede igual un puntero que está
apuntando a una dirección con un valor que contiene una variable.
Manera correcta
5

1.6. Que diferencias se pueden encontrar entre estas dos declaraciones

En la primera declaración se la está haciendo de la manera normal y se está declarando en


un arreglo bidimensional.
En la segunda se esta haciendo uso de un puntero hacia un arreglo unidimensional.
¿Se podría hacer estas asignaciones?

En la primera no se puede debido a que las dos declaraciones son arreglos.


Dadas las siguientes declaraciones de estructuras escribe somo acceder al campo x de la
variable t.
6

Que problema abría en la siguiente sentencia.


Gets (t. mes);
La variable declarada mes esta siendo especificada como variable tipo puntero y esta
apuntando a una dirección y no se podría leer con el gets.

1.7. El prototipo de la función es void escribe_mat (int ** t, int nf, int nc, ); . La

función tiene como propósito mostrar por pantalla la matriz. El primer

argumento se corresponde como una matriz entera el segundo y el tercero el


7

numero de filas y columnas de la matriz. Escribe la implementación de la

función utilizando punteros.


8
9

1.8. Escribe un programa en el que se lean 20 líneas de texto, cada línea con un

máximo de 80 caracteres. Mostrar por la pantalla el numero de vocales que

tiene cada línea.


10

1.9. Escribir un programa que encuentres una matriz de números simétrica. Para

ello una función entera con entrada la matriz determinara si esta simétrica en

otra función se generara la matriz con números aleatorios de 1 a 19.

Utilizar la aritmética de punteros en la primera función, en la segunda indexación.


11

1.10. En una competición de natación se presentan 16 nadadores. Cada

nadador se caracteriza por su nombre, edad, prueba en la que participa y el

tiempo (minutos segundos ), de la prueba. Escribir un programa que realice la

entrada de los datos y calcule la desviación estándar respecto al tiempo. Para

la entrada de datos definir una funcion que lea del dispositivo estándar el

nombre, edad, prueba y tiempo.


12
13

1.11. Se requiere evaluar las funciones f(x), g(x) y z(x) para todos los valores

de x en el intervalo 0< = x<3.5 con incremento de 0.2. escribir un programa

que evalué dichas funciones, utilizar un array de punteros a función.

Las funciones son las siguientes:


F(x)= 3*e*-2x
G(x)=-x*sin(x)+1.5
Z(x)= x^3-2x+1

1.12. Se requiere sumar enteros largos, con un numero de dígitos que supera

el máximo de entero largo. Los enteros largos tienen un máximo de 40 dígitos

para solventar el problema se utilizan cadenas de caracteres para guardad

entero y realizar la suma. Escribir un programa que lea enteros largos y realice

la suma.