0% encontró este documento útil (0 votos)
23 vistas30 páginas

Curso de Estructuras y Algoritmos

El documento presenta ejercicios sobre funciones en C, incluyendo funciones sin parámetros, con parámetros, variables globales y locales. También aborda temas como ámbito de variables y macros.

Cargado por

MLS DR
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
23 vistas30 páginas

Curso de Estructuras y Algoritmos

El documento presenta ejercicios sobre funciones en C, incluyendo funciones sin parámetros, con parámetros, variables globales y locales. También aborda temas como ámbito de variables y macros.

Cargado por

MLS DR
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

ELO320 - Estructuras de Datos y Algoritmos

Introducción a C
Funciones en C

Dr. Nicolás Gálvez R.


[email protected]

Ing. Civil Telemática - Departamento de Electrónica

1er Semestre 2024

1/30
Clase Activa
Funciones

Clase Activa: Módulo 1

Ejercicio 1.1
Cree una función, sin recibir parámetros ni retorna valores, que
salude por pantalla al usuario. Utilicela en la función main().

Aprendemos: Declaración y uso de función, función sin retorno, tipo de dato void.

2/30
Clase Activa
Funciones

Clase Activa: Módulo 1

Ejercicio 1.2
Cree una función que solicite por pantalla al usuario un número
entero y lo retorne. Utilicela en la función main(), almacenando
dicho valor en una variable y mostrándola por pantalla.

Aprendemos: Declaración y uso de función, función con retorno, diferencia printf vs return.

3/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Responda a las preguntas expuestas en los comentarios de los


siguientes códigos. Esta actividad será resuelta en clases junto al
profesor.
Aprendemos: Variables globales, variables locales, ámbito, ciclo de vida de una variable.

4/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.1
#i n c l u d e <s t d i o . h>
#i n c l u d e <math . h> // p a r a f u n c i ón power

float potencia ( float a , float b );

i n t main ( ) {
int x = 5 , y = 6;
float calculo = x ∗ potencia (y , 2.5);
// ac á s e h a c e n má s c o s a s
return 0;
}

// ¿Cuá l e s e l p r o b l e m a d e l c ó d i g o ?

5/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.2
#i n c l u d e <s t d i o . h>
#i n c l u d e <math . h> // p a r a f u n c i ón power

i n t main ( ) {
int x = 5 , y = 6;
float calculo = x ∗ potencia (y , 2.5);
// ac á s e h a c e n má s c o s a s
return 0;
}

float potencia ( float a , float b) {


r e t u r n power ( a , b ) ;
}
// ¿Cuá l e s e l p r o b l e m a d e l c ó d i g o ?

6/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.3
#i n c l u d e <s t d i o . h>
#i n c l u d e <math . h> // p a r a f u n c i ón power

float potencia ( float a , float b) {


r e t u r n power ( a , b ) ;
}

i n t main ( ) {
int x = 5 , y = 6;
int calculo = x ∗ potencia (y , 2.5);
// ac á s e h a c e n má s c o s a s
return 0;
}

// ¿Cuá l e s e l p r o b l e m a d e l c ó d i g o ?

7/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.4
#i n c l u d e <s t d i o . h>
#d e f i n e N 10

i n t main ( ) {
const i n t n = 5;
n = 1 0 ; // ¿Cómo a c t ú a e l c o m p i l a d o r ?
p r i n t f ( ” %d\n” , n∗N ) ;

return 0;

// ¿Cuá l e s e l p r o b l e m a d e l c ó d i g o ?
// ¿Qué d i f e r e n c i a a n de N?
}

8/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.5
#i n c l u d e <s t d i o . h>

i n t main ( ) {
i n t i =10;

i f ( i ==10){
int i = 5;
}

p r i n t f ( ” E l v a l o r de i e s : %d\n” , i ) ;
// ¿Qué v a l o r i m p r i m e ?

return 0;
}

9/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.6
#i n c l u d e <s t d i o . h>

void saludo (){


int i = 5;
p r i n t f ( ” Hola , numero %d” , i ) ;
}

i n t main ( ) {
int i = 10;
saludo ( ) ;
p r i n t f ( ” Hola , ¿ qu é t a l ? , numero %d\n” , i ) ;
return 0;
}
// ¿Qué i m p r i m e e s t e c ó d i g o ?

10/30
Clase Activa
Funciones

Clase Activa: Módulo 2

Ejercicio 2.7
#i n c l u d e <s t d i o . h>

i n t a =1;
i n t b =2;

i n t main ( ) {
int a = 10;
b++;
p r i n t f ( ” %d %d\n” , a , b ) ;
return 0;
}

// ¿Qué i m p r i m e e s t e c ó d i g o ?

11/30
Clase Activa
Funciones

Clase Activa: Módulo 3

Ejercicio 3.1
Cree una función que reciba como parámetro una temperatura en
grados Kelvin y retorne la temperatura en grados Celsius.


K = ◦ C + 273,15

Aprendemos: Parámetros, valor de retorno.

12/30
Clase Activa
Funciones

Clase Activa: Módulo 3

Ejercicio 3.2
Cree una función que reciba como parámetro una temperatura, su
tipo (Celsius, Fahrenheit o Kelvin), y un tipo de temperatura de
salida diferente. La función debe retornar la temperatura en la
opción de salida ingresada.

◦ 5
C= × (◦ F − 32)
9
Aprendemos: Parámetros, valor de retorno.

13/30
Clase Activa
Funciones

Clase Activa: Módulo 3

Ejercicio 3.3
Cree un programa que pregunte por pantalla un tipo de
temperatura y un valor, y luego pregunte en que otra unidad quiere
como transformarlo. (por ejemplo, inicia como Kelvin, y se entrega
Celsius o Fahrenheit). Debe usar las funciones creadas en el
Ejercicio 3.1 y 3.2. Además, puede crear más funciones.

◦ 9
F = × (◦ K − 273,15) + 32
5
Aprendemos: Modularización, Uso de funciones, construcción basada en funciones.

14/30
Clase Activa
Funciones

Clase Activa: Módulo Desafı́o

Ejercicio Desafı́o
Cree una función que reciba como parámetro un dı́a de la semana
y retorne un número que represente a dicho dı́a.

Aprendemos: Modularización, Uso de funciones, construcción basada en funciones.

15/30
Clase Activa
Funciones

Clase Activa: Módulo Desafı́o

Ejercicio Desafı́o
Cree una función que reciba como parámetro un número y retorne
el nombre del dı́a de la semana al que éste representa.

Aprendemos: Modularización, Uso de funciones, construcción basada en funciones.

16/30
Clase Activa
Funciones

Clase Activa: Módulo 4

Ejercicio Desafı́o
Cree un programa que pregunte un dı́a de la semana y luego una
cantidad X de dı́as. El programa debe retornar el dı́a de la semana
que será en X dı́as. Debe utilizar las dos funciones diseñadas
anteriormente.
Aprendemos: Modularización, Uso de funciones, construcción basada en funciones.

17/30
Clase Activa
Funciones

Información de Vital
Importancia para la Clase
Activa1.

1
Depende exclusivamente de uds. leerla y comprenderla.
18/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Funciones en C

Encapsula código.
Permite reutilizar código.
Se pueden compilar por separado.
Retorna siempre un tipo de dato especı́fico.

19/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Funciones en C

Se puede separar interfaz (prototipo) de implementación.


Interfaz (prototipo): Sólo define existencia y formato de
función. Suficiente para ser invocada.
C
// t i p o r e t o r n o f u n c i o n ( p a r a m e t r o s con o s i n nombre ) ;
float potencia ( float a , float b );
// . . . .

calculo = x ∗ potencia (y , 2.5);

20/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Funciones en C

Implementación: Define implementación de código de


función.
C
/∗ t i p o r e t o r n o f u n c i o n ( p a r a m e t r o s con nombre ) {
∗ Implementacion . . .
}∗/

float potencia ( float a , float b) {


r e t u r n power ( a , b ) ;
}

21/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Funciones en C

Si se utiliza solamente la implementación, está tiene que estar


definida antes de la función que la utiliza.
Si se utiliza el prototipo, es éste el que debe estar defindo
antes de la función que la usa.
Prototipo + Implementación: libertad de ubicación de la
implementación → diferentes archivos.

22/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Funciones en Python
Python sólo permite implementación, sin prototipos.
Python
def nombre funcion ( parametros ) :
#. . . Implementacion
r e t u r n <e x p r e s i o n >

23/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Macro

Una macro es un valor o conjuntos de instrucciones constantes que


se definen a nivel de preprocesamiento. No es una variable y no
puede ser modificada.
C
#i n c l u d e <s t d i o . h>
#d e f i n e MACRO 10

i n t main ( ) {
int a = 5;
p r i n t f ( ” %” s \n” , a ∗MACRO) ;
}

24/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Constante

Una variable constante es aquella que se declara con el keyword


const, e implica que ésta no puede ser modificada. Tiene todo el
resto de las propiedades de una variable común.
C
#i n c l u d e <s t d i o . h>

i n t main ( ) {
const i n t a = 5;
a = 1 0 ; // ¿Cómo a c t ú a e l c o m p i l a d o r ?
p r i n t f ( ” %d\n” , a ) ;
}

25/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Ámbito (Scope)
Las funciones (includa main) definen el alcance de las variables,
llamado ámbito, vale decir, el segmento en el cual existen y
pueden ser usadas → entre { y }.
C
#i n c l u d e <s t d i o . h>

v o i d s a l u d o ( ) { // v a r i s i r v e s ó l o d e n t r o de f u n c i ón s a l u d o .
int i = 5;
p r i n t f ( ” H o l a alumno numero %d” , i ) ;
}

i n t main ( ) { // v a r a s i r v e s ó l o d e n t r o de f u n c i ón main .


int a = 10;
saludo ( ) ;
p r i n t f ( ” %d\n” , a ) ;
return 0;
}

26/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Variable local

Una variable local, es aquella que está definida dentro de un


ámbito determinado, vale decir, entre llaves { y }.

Esto aplica para todo elemento que contenga llaves, incluida


funciones y estructuras de control.

27/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Variable local

C
#i n c l u d e <s t d i o . h>

i n t main ( ) { // v a r a s i r v e s ó l o d e n t r o de f u n c i ón main .


int a = 10;

i f ( a==10){
int b = 1;
p r i n t f ( ” %d %d\n” , a , b ) ;
}
// ¿Qué p a s a con l a v a r i a b l e b ?
p r i n t f ( ” %d %d\n” , a , b ) ;

return 0;
}

28/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Variable Global

Una variable global, es aquella que está definida fuera de


cualquier ámbito.

Puede ser llamada, modificada y utilizada desde cualquier ámbito,


siempre y cuando no exista una variable local con el mismo
nombre.

29/30
Macros y Constantes
Clase Activa
Ámbito
Funciones
Var. Global y Var. Local

Variable Global

C
#i n c l u d e <s t d i o . h>

i n t a =1; // g l o b a l
i n t b =2; // g l o b a l

i n t main ( ) {
i n t a = 1 0 ; // l o c a l
b++;
p r i n t f ( ” %d %d\n” , a , b ) ; // ¿Qué i m p r i m e ?
return 0;
}

En python, no se pueden modificar variables globales dentro de una


función.

30/30

También podría gustarte