Funciones. Programación, Algoritmos y Estructuras de Datos.

Slides:



Advertisements
Presentaciones similares
Laboratorio Lenguaje de Programación ING2101
Advertisements

PROGRAMACIÓN EN C.
Abstracción de Datos Arrays.
Instrucciones Básicas Entrada de Información
Funciones y recursividad
MANUAL EXPRESS DE C J.M.sevilla.
LOGROS DEL PERÍODO Utiliza de forma correcta las funciones para entrada y salida de datos en c++. Utiliza los elementos básicos de un programa en c++.
Repaso para la construcción del intérprete 2012
Fundamentos de la Programación Estructurada
Procedimientos y Funciones
Programación I Teoría III
Programación, Algoritmos y Estructuras de Datos
Tipos de Datos Básicos y Estructurados
FUNCIONES EN C.
INFORMATICA I Funciones CLASE 13.
1.3 Programación modular. Subprogramas.
UNIVERSIDAD NACIONAL AUTÓNOMA DE MÉXICO
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática
Unidad 3 Punteros.
Curso Práctica 3 1 Funciones CONTENIDO Consideraciones sobre funciones Estructura de un programa en C Uso de funciones Paso de parámetros Punteros.
Tema 3. Optimización de Código
Acciones y funciones Concepto
Herramientas para el acceso directo a memoria en C++
La estructura básica de los programas en java, algo a tener en cuenta y que debemos recordar siempre es el archivo debe llevar el nombre de la clase con.
Tema 7: Polimorfismo Antonio J. Sierra. Índice Introducción. Sobrecarga de métodos. Objetos como parámetros. Paso de argumentos. Devolución de objetos.
2 Acciones y funciones 2.1 Concepto
Funciones en lenguaje C
Funciones y procedimientos
FUNCIONES EN C.
CI TEORIA semana 8 Subprogramas o funciones Definición de funciones.
El lenguaje de programación C - Funciones -
Programación I Teoría VI: Recursividad

FUNCIONES Y PROCEDIMIENTOS
Programa “Coordenadas” Ing. Arturo Díaz Vargas Departamento de Sistemas División de Ciencias Básicas e Ingeniería UNIVERSIDAD AUTONOMA METROPOLITANA.
Tema 3 Entrada y Salida.
LENGUAJE “C” Programación.
Semana 5 Subprogramas..
Programación III Clase 07 Funciones.
Estructura de un programa en C
Prog. Univ. Rodríguez Rey, Pablo Funciones Programación I.
Archivos.
Introducción a la Programación. Lenguaje de Máquina.
Lenguaje C Ing. Sonia Alexandra Pinzón Nuñez
Informática Ingeniería en Electrónica y Automática Industrial
CAPITULO 1 - INTRODUCCIÓN Comenzaremos con una rápida introducción al lenguaje C. Mostraremos algunos elementos esenciales del lenguaje en programas reales,
Descomposición Modular. Funciones
Administración de Proyectos de desarrollo de Software Ciclo de vida de un proyecto Enfoque moderno Temas Componentes Directivas Declaraciones globales.
Introducción a los punteros Prof. Domingo Hernández.
Elementos básicos del lenguaje
Unidad II Introducción a la programación en C++
FUNCIONES Conceptos básicos. Retorno de una función Clases de funciones. Paso de parámetros. Funciones y arrays.
Informática Ingeniería en Electrónica y Automática Industrial
Programación en C para electrónicos
Punteros.
Recursividad (2 clases) 1. Nivelación Funciones Menú Vectores String
Elementos básicos del lenguaje
PUNTEROS Y REFERENCIAS
Funciones Definidas por el Programador
Términos algoritmo diseñar algoritmo implementar algoritmo
CARACTERÍSTICAS Es un lenguaje de programación estructurado de propósito general. Está estrechamente asociado al sistema operativo UNIX, ya que el propio.
INTRODUCCION A LA PROGRAMACION
ALGORITMOS Y ESTRUCTURAS DE DATOS Operaciones sobre cadenas de caracteres y Funciones LIA. Suei Chong Sol.

LENGUAJE “C” Programación.
Algoritmo.
Corporación Universitaria del Caribe CECAR Fundamentos de programación II.
 Las funciones son un conjunto de instrucciones que realizan una tarea específica. En general toman unos valores de entrada, llamados parámetros y proporcionan.
Paso de Parámetros a una Función Prof. Flor Narciso Departamento de Computación Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de.
MEMORIA DINÁMICA.
Transcripción de la presentación:

Funciones. Programación, Algoritmos y Estructuras de Datos. Paso de Parámetros a una Función Existen dos posibilidades para pasar parámetros a un subprograma: Por valor Por referencia. Paso por valor El parámetro formal es una copia del parámetro real. Como darnos cuenta rápido: los parámetros de entrada no son punteros. Facultad de Ingeniería – UNLP. Junio de 2009.

Funciones. Programación, Algoritmos y Estructuras de Datos. Ejemplo: void Decremento(int x) { x = x - 1; printf(“%d\n”,x); return; }   void main(void) ... n = 4; Decremento(n); → 3  } ‘n’ no cambia su valor 3 4 Facultad de Ingeniería – UNLP. Junio de 2009.

Funciones. Programación, Algoritmos y Estructuras de Datos. Paso por referencia El parámetro real y el formal son consideradas como una única variable. Maneja parámetros de entrada/salida. Se pasa como parámetro real la dirección de una variable simbolizado por &. Como darnos cuenta rápido: el parámetro de entrada por referencia a la función Es un puntero. Facultad de Ingeniería – UNLP. Junio de 2009.

Funciones. Programación, Algoritmos y Estructuras de Datos. Ejemplo: void Decremento(int *x) { *x = *x - 1; printf(“%d\n”,*x); return; } void main(void) ... int n = 4; Decremento(&n); → 3 El valor de n cambia después de llamar a la función. 3 Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. Traza de Programas Consiste en representar el valor de ciertas variables seleccionadas de nuestro Programa después de ejecutar cada instrucción. Herramienta: el depurador. Ejemplo: int a, b; /* variables globales */ void F1(int *c); int main() Traza: { 1) a = 1; 2) b = 3; 3) F1(&a); 4) printf(“ %d %d \n”,a,b); return 0; } void F1(int *c) int b; 5) b = 2; 6) *c = a + b + 2; return; Linea a b/G c / *c b/L 1 ? 2 3 &a /1 5 6 &a /5 4 Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. Como pasar arreglos a una función: Para pasar un arreglo a una función, tenemos que especificar el nombre del arreglo sin corchete alguno. Por ejemplo, si el arreglo Temperatura_por_hora ha sido declarado como: int Temperatura_por_hora [24]; El enunciado de llamada a la función Modificar_arreglo(Temperatura_por_hora,24); Pasa el arreglo y su tamaño a la función Modificar_arreglo. ¿Qué tipo de llamada a función estamos haciendo? ¿Por qué pasamos como parámetro el tamaño del arreglo? ¿Cómo seria el prototipo o declaración de la función? void Modificar_arreglo(int a [], int b); ¿Y la declaración void Modificar_arreglo(int *a, int b); sirve? Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. Veamos un ejemplo práctico en el cual pasamos a funciones arreglos completos o bien elementos puntuales del arreglo. Conclusión del ejemplo: Cuando pasamos el arreglo como parámetro, es una llamada por referencia, por lo cual la función puede modificar el arreglo local a main. Cuando pasamos tan solo un elemento del arreglo a la función, es una llamada por valor, por lo cual la función no puede modificar el valor del elemento del arreglo local a main. Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. Recursividad Una función recursiva es aquella que se llama a sí misma. Cada vez que se ejecuta la función lo hace con parámetros y variables locales nuevas, mientras que el código permanece invariable. El proceso recursivo debe tener una condición de parada. La recursividad es un método algorítmico alternativo a la iteración. Cualquier Estructura iterativa es posible sustituirla por una función recursiva y viceversa.. La recursividad permite definir ciertos algoritmos de una manera más sencilla pero con peor optimización de recursos ( memoria y tiempo de ejecución) que la versión iterada. Analicemos la implementación de una función que convierte un numero expresado en base 10 a base 2 por el método iterativo y por el método recursivo. Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. ARGUMENTOS DE LA FUNCIÓN main()   Los argumentos de la función main ( ) son pasados a través de la línea de comandos del SO. Existen dos variables predefinidas dentro del lenguaje que reciben los argumentos que se pasan al ejecutar un programa. int main ( int argc, char *argv[ ] ) Argc (argument count) Es un parámetro de tipo entero que contiene el número de argumentos que se han introducido considerando el nombre del ejecutable. Argv ( argument values) Es un arreglo de punteros a cadenas de caracteres. Contiene los argumentos que se pasan desde el SO cuando se invoca el programa. Cada argumento debe estar separado por un espacio ó una tabulación Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. Ejemplo1: /*Prueba1.c*/ #include <stdio.h> int main(int argc,char *argv[]) { if(argc!=1) printf(“cantidad de parametros pasados al main incorrecta\n”); else printf(“cantidad de parametros pasados al main correcta\n”); Getchar(); Return(0); } >prueba    argc vale 1 argv[0] apunta a la cadena ”prueba” Facultad de Ingeniería – UNLP. Junio de 2009.

Programación, Algoritmos y Estructuras de Datos. Ejemplo2: Programa que saluda al usuario cuyo nombre lo ingresa como argumento de main() por linea de comandos del SO.   /*prueba2.c*/ #include <stdio.h> main(int argc, char *argv[]) { if(argc!=2) printf("Adjunte su nombre al ejecutable.\n"); else printf("Hola %s", argv[1]); getchar(); } >prueba Pepe argv[0]=prueba argv[1]=Pepe argc = 2 >Hola Pepe Facultad de Ingeniería – UNLP. Junio de 2009.

Estos son los temas de la práctica 6. Programación, Algoritmos y Estructuras de Datos. La próxima clase empezamos a ver estructuras de datos y manejo de archivos. Estos son los temas de la práctica 6. Facultad de Ingeniería – UNLP. Junio de 2009.