Funciones y paso de parámetros

Documentos relacionados
Tema ADQUISICIÓN Y TRATAMIENTO DE DATOS. Departamento de Ciencias de la Computación e IA. Subprogramas en C

INTRODUCCIÓN AL LENGUAJE DE PROGRAMACIÓN C

Introducción a la Programación

Lenguaje C, tercer bloque: Funciones

Estructuración del programa en partes más pequeñas y sencillas

Codificación en C. Como pasar de Pseudocódigo a C (con pequeños trucos de C++)

Funciones Definición de función

PROGRAMACION ESTRUCTURADA: Tema 1. El lenguaje de programación C

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Programación en C. Algoritmo y Estructura de Datos. Ing. M. Laura López. Programación en C

Paso de Parámetros a una Función

INTRODUCCIÓN A LA POO EN C++

Se guardan en archivos con extencion c y los cabezales con extension h

Introducción a la Programación en C Funciones

Introducción al lenguaje C

Punteros. Índice. 1. Qué es un puntero y por que son importantes.

Programación I Funciones

UNIVERSIDAD NACIONAL DE SALTA Sede Regional Orán AÑO: 2013 Carreras: TIG - TUP

TEMA 8: ESTRUCTURAS DE DATOS COMPLEJAS 1 VECTORES ESTÁTICOS 2 2 CADENAS O VECTORES DE CARACTERES 6 3 PASO DE CADENAS Y ARRAYS A FUNCIONES 8

FUNCIONES. Identificador valido. Tipo-Funcion Identificador_de_la_funcion (Tipo par1,tipo par2 )

LENGUAJE. Tema 5 Estructuras de datos

for(i = 0; i <= 45; i+=5) { x = (i*3.1416)/180; printf( seno(%d) = %f\n,i,seno(x));

Examen de Fundamentos de la Programación (Modelo 1)

REPRESENTACIÓN DE DATOS

Programación I Teoría II.

Objetivo El alumno conocerá y aplicará los conceptos de arreglo y estructura en la realización de programas que resuelvan problemas de tipo numérico.

TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.

Punteros. Programación en C 1

1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos

Modularización en lenguaje C. Funciones

Tema 1. Programación modular. Programación Avanzada Ingeniería Técnica en Informática de Gestión Jorge Badenas

Tipos de Arreglos. Notación Algoritmica de los Arreglos multidimensionales tipo_dato nombre[dim 1. , dim 2. ,..., dim n

EQUIVALENCIAS EN C DE CONSTRUCCIONES SECUENICIALES EN PSEUDOCÓDIGO

UNIVERSIDAD BANCARIA DE MEXICO CONSTANCIA UNIDAD Y TRABAJO Guadalupe Godínez Maldonado Prof. Juan Carlos Martínez

En este artículo vamos a conocer los tipos de datos que podemos manejar programando en C.

Introducción al lenguaje C

EXAMEN PROGRAMACION I FEBRERO 2007

LENGUAJE. Tema 1 - Introducción

Uso Pseudocódigo Diagrama de flujo Codificación

Lenguaje C. República Bolivariana de Venezuela Fundación Misión Sucre Aldea Fray Pedro de Agreda Introducción a la Programación III

Operadores aritméticos

PROGRAMACION ESTRUCTURADA: Tema 3. Funciones

Informática I (2014-2) Taller Lenguaje C Prof. Sebastián Isaza Departamento de Ingeniería Electrónica Facultad de Ingeniería Universidad de Antioquia

PUNTEROS (Apuntadores)

Un puntero no es más que una variable estática cuyo contenido es una dirección de memoria.

Bloque 4. La descomposición funcional y el diseño descendente

CAPITULO 4: ENTRADA Y SALIDA DE DATOS.

Es un lenguaje estructurado, tiene una abundante cantidad de operadores y tipos de datos.

Estructuras de Datos Declaraciones Tipos de Datos

Dobles: Es el caso de la instrucción if-else (punto 1.2).

Escuela Politécnica Superior de Elche

Tema 6: Memoria dinámica

Programación. Test Autoevaluación Tema 3

#include <stdio.h> /* Factorial de un número - versión 1- */

Introducción a Lenguaje C. Jornadas de Octubre 2009 Grupo de Usuarios de Linux Universidad Carlos III Tania Pérez

Examen Teórico (1/3 de la nota final)

Cuales son los tipos de instrucciones que se utilizan en la programación?

Algoritmos y Programación I

8- LEX-Expresiones regulares

UTN FRBA Algoritmos y Estructura de Datos Examen Final 18/07/2014. Apellido y nombre: Legajo: Cursó con Prof:

Capitulo 2. Programación Modular

Punteros. Definición Un puntero es un dato que contiene una dirección de memoria.

El operador contenido ( ) permite acceder al contenido de

EJEMPLOS DE ESTRUCTURAS EN C

Caracteres y Cadenas Conversión de Datos Funciones y procedimientos Archivos cabecera. Fundamentos de programación

Descripción de un Programa

PUNTEROS DOBLES EN C XIII CUIEET MASPALOMAS. Sidonio Pérez Matilla EUITI de Eibar UPV

Variables. Una variable no es más que un nombre simbólico que identifica una dirección de memoria: vs.

Programación Estructurada

Tema 18: Memoria dinámica y su uso en C

Fundamentos de Programación 2017-I

Reglas básicas de la programación en lenguaje C

Tema 13: Apuntadores en C

Dpto. de Lenguajes y Ciencias de la Computación Universidad de Málaga. TEMA 8: Funciones. Fundamentos de Informática (Ingeniería Técnica Industrial)

Estructuras. //identificador del cliente

Expresiones Aritméticas

Declaración. Introducción. Definición o implementación. Llamada. Un programa en C consta de una o más funciones.

Tema 05: Elementos de un programa en C

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

ALGORITMOS Y PROGRAMACIÓN I Unidad 3

EJEMPLOS DE PROGRAMACIÓN DE FUNCIONES EN C: Página 1 de 5

Programación En Lenguaje C

Estructuras de Repetición (Repita para)

Informática Ingeniería en Electrónica y Automática Industrial

Informática II Vectores y Matrices

GL-PCS2201-L05M FUNCIONES Y LA ESTRUCTURA DEL PROGRAMA EN LENGUAJE C

PROGRAMACIÓN ORIENTADA A OBJETOS. Java se parece mucho a C pero sin todo lo que nos traía problemas.

Algoritmo, Estructuras y Programación I Ing. Marglorie Colina

PROGRAMACION MODULAR FUNCIONES

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

PROGRAMACIÓN ORIENTADA A OBJETOS

Apuntadores (Punteros)

LENGUAJE. Tema 3 Elementos de un programa II

Introducción al lenguaje C

PROGRAMACIÓN ORIENTADA A OBJETOS. Java se parece mucho a C pero sin todo lo que nos traía problemas.

TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS

PROGRAMACIÓN ORIENTADA A OBJETOS

El lenguaje C. #define MAX LINEA 1000 /* maximo tamanio de linea de entrada */

Asignatura: Estructuras de Datos. Año Escolar: Grado y Sección: 6to INF A-B Docente: Ing. Yesika Medina

Elementos de un programa en C

Transcripción:

Unidad Didáctica 24 Funciones y paso de parámetros Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.0

Índice Consideraciones sobre funciones Estructura de una función Estructura de un programa en C Paso de parámetros: C vs. Java Parámetros de entrada Parámetros de entrada/salida Ejemplo Ejercicio

Consideraciones sobre funciones Todo programa C está construido en base a funciones. Las funciones permiten estructurar la codificación de los programas reduciendo su complejidad y como consecuencia, mejorando la eficiencia de su desarrollo. Las funciones permiten la reutilización de código. La subdivisión de un programa en varias funciones dependerá, en general, del número de tareas independientes y/o del número de veces que se repita o pueda repetirse una tarea.

Estructura de un programa en C Estructura general de un programa con funciones definiciones y declaraciones void main(void) { declaración de variables instrucciones tipo1 nombre_función1 (tipo11, tipo12,...); tipo1 nombre_función1 (tipo11 arg11, tipo12 arg12,...){... tipon nombre_funciónn (tipon1 argn1, tipon2 argn2,...) { declaración de variables instrucciones tipo2 nombre_función2 (tipo21, tipo22,...); declaración de variables... instrucciones tipon nombre_funciónn (tipon1, tipon2,...); Una única función main Las llamadas a funciones son igual que en Java

Estructura de una función Funciones C Tr nombre (T1 e1,..., Tn en) { Tr r; declaración de variables instrucciones return r; Estructura igual que en Java. Pero las declaraciones de variables siempre al inicio de la función

Funciones Llamada a una función En una asignación: variable = nombre_función (lista de parámetros); Dentro de una expresión: E (x, nombre_función (lista de parámetros))

Paso de parámetros: C vs. Java El paso de parámetros en C es como en Java: se copia el valor de los parámetros reales en los parámetros formales y se ejecuta el cuerpo del método invocado. Parámetros de entrada: es el caso de parámetros de tipos básicos (int, char, ) y struct. Parámetros de entrada salida o salida: son los de tipo puntero. Cuando el parámetro es de tipo puntero a un tipo T entonces el valor apuntado por el parámetro es de entrada salida.

Parámetros de entrada double mediaaritmética (int a, int b, int c) { a = a + b + c; return (a / 3.0);

Parámetros de entrada salida Parámetros de entrada salida. A este tipo de paso de parámetros se le suele denominar paso de parámetros por referencia. void intercambio (int *p1, int *p2) { int tmp; tmp = *p1; *p1 = *p2; *p2 = tmp; int a = 7,b = 8; intercambio(&a,&b);

Parámetros de entrada salida La función de lectura scanf es un caso particular de paso de parámetros por referencia. Igualmente ocurre con sscanf y fscanf. #include <stdio.h> float media_aritmética (int, int, int); void main (void) { int x = 0, y = 0, z = 0; float media = 0.0; printf ( \n Teclee tres números: ); scanf ( %d%d%d, &x, &y,&z); media = media_aritmetica (x, y, z); printf( %d,media);

Ejemplo Llamada a la función C int a, b, f, anyo, ndias; En una asignación: f = factorial (5); f = factorial (a) / factorial (a-b); Dentro de una expresión: if (esbisiesto(anyo)) ndias = 366;

Ejercicios Realice una función que dado un array de enteros y la longitud del mismo, permita mediante parámetros de entrada/salida el cálculo a la vez de la suma, el máximo, el mínimo y la media de los valores de un array de enteros dado. El prototipo de la función es: void calculasummaxminmed(constvector, int, IntP, IntP, IntP, IntP, DoubleP) donde #define DIM 20 typedef int Vector[DIM ]; typedef int* IntP; typedef double* DoubleP;

Ejercicios Realice la función con prototipo void leerdatos(int atam, IntP alength, Vector a){ donde atam es el tamaño máximo del array, alength es el número real de valores que tiene el array y a es el array a inicializar. Realice un programa donde se utilice la función anterior para leer los valores del array desde la entrada estándar.