Funciones en lenguage c

1,023 views

Published on

las funciones nos ayudan a clasificar

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,023
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
25
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Funciones en lenguage c

  1. 1. UNIVERSIDAD TÉCNICA DE AMBATOFACULTAD DE CIENCIAS HUMANAS Y DE LA EDUCACIÓN CARRERA: Licenciatura EN INFORMÁTICA Alumna: Lorena sánchez Ing: WILMA GAVILANES MATERIA : Programacion II
  2. 2. FUNCIONES EN LENGUAGE C¿Qué es una función?Una función es un conjunto de declaraciones, definiciones, expresiones y sentenciasbajo el mismo nombre que realizan una tarea específica.En las funciones juegan un papel muy importe las variables, ya que como se ha dichoestas pueden ser locales o globales.Variables Globales: Estas se crean durante toda la ejecución del programa, y songlobales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquierfunción. Se definen antes del main().Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayansido declaradas.¿Para qué se utilizan las funciones?Las funciones son utilizadas para descomponer grandes problemas en tareas simples ypara implementar operaciones que son comúnmente utilizadas durante un programa yde esta manera reducir la cantidad de código.¿Para qué sirve una función?Sirven para facilitar la resolución de problemas mediante la aplicación del paradigma“Dividir y Conquistar”.¿Cómo declaro una función?Cuando declaramos las librerías que vamos a usar en el programa, inmediatamente sedeclara la función, junto con sus parámetros con que va a trabajar.Ejemplo:(…etc)int suma(int a, int b);
  3. 3. En que se basa las funciones.La filosofía en la que se base el diseño de C es el empleo de funciones. Por esta razón,unprograma en C contiene al menos una función, la función main. Esta función es particulardado que la ejecución del programa se inicia con las instrucciones contenidas en su interior.Una vez iniciada la ejecución del programa, desde la función main se puede llamar a otrasfunciones y, posiblemente, desde estas funciones a otras. Otra particularidad de la funciónmain es que se llama directamente desde el sistema operativo y no desde ninguna otra función.De esta manera, un programa en C sólo puede contener una función main.Propósito de las funciones. Con el propósito de permitir un manejo eficiente de los datos, las funciones en C no se pueden anidar. En otras palabras, una función no se puede declarar dentro de otra función, por lo que todas las funciones son globales o externas, lo que hace que puedan llamarse desde cualquier parte de un programa. Se puede acceder (llamar) a una determinada función desde cualquier parte de un programa. Cuando se llama a una función, se ejecutan las instrucciones que constituyen dicha función. Una vez que se ejecutan las instrucciones de la función, se devuelve el control del programa a la siguiente instrucción (si existe) inmediatamente después de la que provocó la llamada a la función. Cuando se accede a una función desde un determinado punto del programa, se le puede pasar información mediante unos identificadores especiales conocidos como argumentos (también denominados parámetros). Una vez que la función procesa esta información, devuelve un valor mediante la instrucción return.¿Cómo la llamo a una función?En el programa principal, solo escribes el nombre, más los parámetros de dichafunción.Esto le indica al compilador de C++ que es una función y que se está invocando.Ejemplo:suma(a, b)
  4. 4. Partes de la definición de una funciónLa definición de una función consta de dos partes; El encabezado El cuerpo En el encabezado de la función, al igual que en el prototipo de la misma, se tienen queespecificar los parámetros de la función, si los utiliza y el tipo de datos que devuelve.El cuerpo se compone de las instrucciones necesarias para realizar la tarea para lacual se crea la función.La sintaxis de la definición de una función es la siguiente:tipo_de_retorno nombre_de_la_función(lista_de_parámetros){sentencias;}En las funciones juegan un papel muy importe las variables, ya que como se ha dichoestas pueden ser locales o globales.Variables Globales: Estas se crean durante toda la ejecución del programa, y songlobales, ya que pueden ser llamadas, leídas, modificadas, etc; desde cualquierfunción. Se definen antes del main().Variables Locales: Estas, pueden ser utilizadas únicamente en la función que hayansido declaradas.VectoresUn vector, también llamado array(arreglo) unidimensional, es una estructura de datosque permite agrupar elementos del mismo tipo y almacenarlos en un solo bloque dememoria juntos, uno despues de otro. A este grupo de elementos se les identifica porun mismo nombre y la posición en la que se encuentran. La primera posición del arrayes la posición 0.
  5. 5. Podríamos agrupar en un array una serie de elementos de tipo enteros, flotantes,caracteres, objetos, etc. Crear un vector en c++ es sencillo, seguimos la siguientesintaxix: Tipo nombre[tamanyo];Los vectores son una forma de almacenar datos que permiten contener una serie devalores del mismo tipo, cada uno de los valores contenidos tiene una posiciónasociada que se usará para accederlos. Está posición o índice será siempre un númeroentero positivo.En C la cantidad de elementos que podrá contener un vector es fijo, y en principio sedefine cuando se declara el vector. Los vectores se pueden declarar de la siguienteforma: tipo_elemento nombre[largo];Esto declara la variable nombre como un vector de tipo_elementos que podrá contenerlargo cantidad de elementos, y cada uno de estos elemento podrá contener un valor detipo tipo_elemento.Por ejemplo: double valores[128];En este ejemplo declaramos un vector de 128 elementos del tipo double, los índices delos elementos irían entre 0 (para el primer elemento y 127 para el último).De la misma forma que con las otras declaraciones de variables que hemos visto se lepuede asignar un valor iniciar a los elementos.O también se pueden declarar: tipo_elemento nombre[largo]={valor_0, valor_1, valor_2};En caso estamos asignadole valores a los primeros 3 elementos del vector nombre.Notar que largo debe ser mayor o igual a la cantidad de valores que le estamosasignando al vector, en el caso de ser la misma cantidad no aporta información, por loque el lenguaje nos permite escribir: tipo_elemento nombre[]={valor_0, valor_1, valor_2};Que declarará nombre como el vector de largo 3.Para acceder a un elemento accederemos a través de su posición. Es decir: tipo_elemento elemento; ...
  6. 6. elemento = nombre[2];Asumiendo que tenemos el vector anterior definido estaríamos guardando valor_2 enelemento.MatricesUna matriz es un vector de vectores o un también llamado array bidimensional. La manera dedeclarar una matriz es c++ es similar a un vector:1 int matriz[fils][cols];int es el tipo de dato, matriz es el nombre del todo el conjunto de datos y debo de especificar elnúmero de filas y columnas. Las matrices también pueden ser de distintos tipos de datos comochar, float, double,etc.Las matrices en c++ se almacenan al igual que los vectores en posiciones consecutivas dememoria. Usualmente uno se hace la idea que una matriz es como un tablero. Perointernamente el manejo es como su definicion lo indica, un vector de vectores, es decir, losvectores estan uno detras del otro juntos.La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2subindices que van en los corchetes. Si Coloco int matriz [2][3]=10; //estoy asignando alcuarto elemento de la tercera fila el valor 10. No olvidar que tanto filas como columnas seenumeran a partir de 0.Las matrices en c++ se almacenan al igual que los vectores en posiciones consecutivas dememoria. Usualmente uno se hace la idea que una matriz es como un tablero. Perointernamente el manejo es como su definición lo indica, un vector de vectores un tambiénllamado array bidimensional., es decir, los vectores estan uno detras del otro juntos.La forma de acceder a los elementos de la matriz es utilizando su nombre e indicando los 2subindices que van en los corchetes. Si Coloco int matriz[2][3]=10; //estoy asignando alcuarto elemento de la tercera fila el valor 10. No olvidar que tanto filas como columnas seenumeran a partir de 0.Una matriz bidimensional se podría representar gráficamente como una tabla con filasy columnas. La matriz tridimensional se utiliza, por ejemplo, para trabajos gráficoscon objetos 3D. En el ejemplo puedes ver como se rellena y visualiza una matrizbidimensional.Se necesitan dos bucles para cada una de las operaciones. Un bucle controla las filasy otro las columnas.
  7. 7. Al definir la función, no hemos puesto ningún número entre los corchetes. Estosignifica que estamos permitiendo que un array de cualquier tamaño pueda ser pasadoa la función.Primero pasamos taco a la función, que en realidad es la direccion del array taco.Ahora bien, el segundo array, nacho, tiene sólo dos elementos. Cuando la función tratede acceder al tercer elemento del array, que realmente no existe. Ya que los arrays sonmuchas variables almacenadas una detrás de otra en la memoria del ordenador,tratará y accederá a la variable almacenada despueés del segundo elemento del array,que no existe.Además, el programa compilará y correrá sin mensajes de error.Ejemplo de matrices y funcionesDiseñe un programa que me permita ingresar N números enteros en una matriz cuadrática,y obtener su producto algebraico.AnálisisDeclaración de las librerías; declaración de variables, las variables se declarara comovariables de tipo entero.Realizamos el borde.Un ciclo repetitivo do while para repetir cuantas veces dese el programa.Ingresamos un límite.Necesitaremos dos ciclos for para realizar el ingreso uno para posicionar las filas y otro paraposicionar las columnas.Utilizamos scanf para el ingreso de las variables y ya el ingreso de la las dos matrices.Recorremos la matriz, realizamos el proceso para obtener el producto algebraico dondedebemos multiplicar la primera matriz por la segunda y el resultado la imprimiremos en otramatriz.Para la impresión de la matriz se utilizara dos ciclos for uno para posicionar las filas otropara posicionar las columnas , usamos posicionamientos de filas printf nuestra variabledonde esta almacena la multiplicación.Codificación#include<stdio.h>#include<conio.h>
  8. 8. int l,c,c1,c2,f,f1,f2,k,i,j,op,a;int matriz1[10][10],matriz2[10][10],matriz3[10][10];void borde()for(i=1;i<=80;i++) { gotoxy(i,1);printf("ñ"); gotoxy(i,24);printf("ñ"); } for(i=1;i<=23;i++) { gotoxy(1,i);printf("Ü"); gotoxy(80,i);printf("Ü"); }}void ingreso(){for(i=1;i<=l;i++){ for(j=1;j<=l;j++) { gotoxy(c,f);scanf("%d",&matriz1[i][j]); c=c+5; }c=5;f=f+1;}for(i=1;i<=l;i++){ for(j=1;j<=l;j++) { gotoxy(c1,f1);scanf("%d",&matriz2[i][j]); c1=c1+5; }c1=25;f1=f1+1;}}void producto(){for(i=0;i<=l;i++){for(j=0;j<=l;j++){matriz3[i][j]=0;for(k=0;k<=l;k++){matriz3[i][j]=matriz3[i][j]+matriz1[i][k]*matriz2[k][j];}}}for(i=1;i<=l;i++){for(k=1;k<=l;k++)
  9. 9. {gotoxy(c2,f2);printf("%d",matriz3[i][k]);c2=c2+4;}c2=42;f2=f2+1;}}void main(){do{clrscr();borde();c=5;c1=25;c2=42;f=10;f1=10;f2=10;textcolor(3);gotoxy(10,3);cprintf("PRODUCTO ALGEBRAICO DE UNA MATRIZ");gotoxy(10,5);printf("INGRESE UN LIMITE ");scanf("%d",&l);textcolor(12);gotoxy(5,7);cprintf("MATRIZ1");gotoxy(25,7);cprintf("MATRIZ2");gotoxy(38,7);cprintf("MATRIZ RESULTANTE");ingreso();producto();textcolor(3);gotoxy(8,18);cprintf("Ralizado por LORENA SANCHEZ");gotoxy(8,22);printf("seleccione 1 para continuar y 0 para salir ");scanf("%d",&op);}while(op==1);getch();}Prueba de escritorio

×