lp8

6
Docente: Ing . Linda Masias LENGUAJE DE PROGRAMACIÓN I Funciones Objetivo: Crear sus propias funciones. Utilizar parámetros fijos y variables. Realizar funciones recursivas. Separar el código fuente en varios ficheros. Aspectos Teóricos Funciones Las funciones son grupos de instrucciones independientes que tienen un propósito determinado. Así, tenemos funciones que calculan la raíz cuadrada de un número, nos dan un número aleatorio o permiten contar los caracteres de una palabra. La sintaxis básica de una función es la siguiente: nombre_función (parámetrol, parámetro2 , parámetro3...parámetro_n) Las funciones pueden ser llamadas con varios parámetros o con ninguno, dependiendo de su definición. Cuando PHP encuentra en el código la llamada a una función, primero, evalúa cada argumento y los utiliza como parámetro de entrada. Después, ejecuta la función y devuelve el valor 1 Pract ica N°8 C++

Upload: alexbercondoricarrillo

Post on 09-Apr-2016

213 views

Category:

Documents


0 download

DESCRIPTION

ojaalaa que te vayasasssssssss

TRANSCRIPT

Page 1: LP8

Docente: Ing . Linda Masias

LENGUAJE DE PROGRAMACIÓN I

Funciones

Objetivo:

Crear sus propias funciones. Utilizar parámetros fijos y variables. Realizar funciones recursivas. Separar el código fuente en varios ficheros.

Aspectos Teóricos

Funciones Las funciones son grupos de instrucciones independientes que tienen un propósito determinado. Así, tenemos funciones que calculan la raíz cuadrada de un número, nos dan un número aleatorio o permiten contar los caracteres de una palabra. La sintaxis básica de una función es la siguiente: nombre_función (parámetrol, parámetro2 , parámetro3...parámetro_n)

Las funciones pueden ser llamadas con varios parámetros o con ninguno, dependiendo de su definición. Cuando PHP encuentra en el código la llamada a una función, primero, evalúa cada argumento y los utiliza como parámetro de entrada. Después, ejecuta la función y devuelve el valor solicitado o realiza alguna acción sin enviar ningún valor de salida.El siguiente ejemplo contiene un conjunto de llamadas a funciones con 0,1 ó 2 parámetros de entrada:

Recursividad

1

Practica N°8

C++

Page 2: LP8

Docente: Ing . Linda Masias

El paradigma de la programación nos lleva a los desarrolladores a inventar fórmulas que minimicen el esfuerzo en nuestros programas pecando, algunas veces, de complejidad. Las funciones recursivas son aquellas capaces de llamarse a sí mismas. Como único requisito es que haya una forma de salir en la llamada recursiva. Si volvemos al ejemplo del número factorial nos encontramos en que se puede escribir de la siguiente forma:Ejemplo: Factorial con recursividad

0! = 1 1! = 1 1! = 1 * 0! -> 1*1 2! = 2 2! = 2 * 1! -> 2*1 3! = 6 3! = 3 * 2! -> 3*2 4! = 24 4! = 4 * 3! -> 4*6 5! = 120 5! = 5 * 4! -> 5*24 N!= N!=N!*(N-1)!

1 si N = 0 (base)N ! =

N * (N – 1) ! si N > 0 (recursión)

int numero;int factorial(numero) {

if (numero == 0) {

return 1; } else {

return numero * factorial(numero-1); }

} cout<< "El factorial de "<<numero<< "es: "<<factorial(5);

Funciones para manipular cadenas de caracteres

2

Page 3: LP8

Docente: Ing . Linda Masias

Las declaraciones de las funciones para manipular cadena de caracteres, que a continuación de describen, están en el fichero string.h La sentencia:

#include <string.h>

Se requiere solamente para declaraciones de función.

strcat(cadena1, cadena2)

Esta función añade la cadena2 a la cadena1, termina la cadena resultante con el carácter nulo y devuelve un puntero a cadena1.

char *strcat(char * cadena1, const char *cadena2);

strchr(cadena, c)

Esta función devuelva un puntero a la primera ocurrencia de c en cadena o un valor NULL si el carácter no es encontrado. El carácter c puede ser una carácter nulo (“\0”).

char *strchr(const char *cadena, int c);

strcmp(cadena1, cadena2)

Esta función compara la cadena1 con la cadena2 y devuelve un valor:

<0 si la cadena1 es menor que la cadena2.

=0 si la cadena1 es igual a la cadena2.

>0 si la cadena1 es mayor que la cadena2.

int strcmp(const char *cadena1, const char * cadena2);

La comparación se hace carácter a carácter y haciendo distinción entre mayúscula y minúscula.

strcmpl(cadena1, cadena2)

Esta función es idéntica a la anterior, excepto en que no hace distinción entre mayúsculas y minúsculas.

Strcpy(cadena1, cadena2)

Char *strcpy(char *cadena1, const char * cadena2);

strcspn(cadena1, cadena2)

Esta función da como resultado la posición (subindice) del primer carácter de cadena1, que pertence al conjunto de caracteres contenidos en cadena2. Este

3

Page 4: LP8

Docente: Ing . Linda Masias

valor corresponde a la longitud de la subcadena de cadena1 formada por caracteres no pertenecientes a cadena2. Si ningún carácter de cadena1 pertenece a cadena2, el resultado es la posición del carácter de terminación (\0) de cadena1; esto es, la longitud de cadena1.

size_t strcspn(const char * cadena1, const char *cadena2);

size_t es sinónimo de entero sin signo.

Strlen (cadena)

Esta función devuelve la longitud en bytes de cadena, no incluyendo el carácter de terminación nulo.

Size_t strlen(char * cadena);

Strncat(cadena1, cadena2, n)

Esta función añade los primeros n caracteres de cadena2 a la cadena1, termina la cadena resultante con el carácter nulo y devuelve un puntero a cadena1. Si n es mayor que la longitud de cadena2, se utiliza como valor de n la longitud de cadena2.

Char * strncat(char *cadena1, const char *cadena2, size_t n);

Strncmp(cadena1,cadena2,n)

Esta función comapara los primeros n caracteres de cadena1 y de cadena2, distingueindo mayúsculas y minúsculas, y devuelve un valor:

<0 si la cadena1 es menor que la cadena2.

=0 si la cadena1 es igual a la cadena2.

>0 si la cadena1 es mayor que la cadena2.

Si n es mayor que la longitud de la cadena1, se toma como valor la longitud de la cadena1.

int strncmp(const char *cadena1, const char *cadena2,size_t n);

Ejercicios propuestos

1. Hallar la raíz de cualquier número y elevado a un índice que desee, utilizar funciones, recuerda que pow(base, exponente)= potencia

4

Page 5: LP8

Docente: Ing . Linda Masias

Ejemplo 5√10010=100002. Realizar un programa que calcule la serie de fibonaci de manera

recursiva.3. Hablar el volumen de un cubo, cilindro y prisma tomando en

cuenta funciones.

5