programación i cristhian arrúa picart algoritmo: …es una secuencia de acciones que cumplen una...

Post on 11-Apr-2015

109 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Programación I

Cristhian Arrúa Picart

•ALGORITMO:

…es una secuencia de acciones que cumplen una tarea…

…mas especificamente

“sucesión finita de pasos que debe cumplir las siguientes especificaciones:”

1. Cada paso del algoritmo debe estar bien definido.

la definición de un paso debe ser suficientemente clara,

para que una persona pueda entenderla y realizarla.

2. Un algoritmo debe tener un principio y un fin.

Un programa es un algoritmo escrito con un objetivo:

conseguir un resultado

• DATO:

Es la información con la que opera un algoritmo para llegar a un resultado.

• PROGRAMA:

Es la implementación de un algoritmo,

en un lenguaje entendible por una computadora.

• Lenguajes Máquina

Es el “lenguaje natural” de una computadora.Consisten en cadenas de números.

Son dependientes de la máquina.

• Lenguajes EnsambladoresSon abreviaturas similares al inglés para representar los operadores elementales de la computadora.

• Lenguajes de Alto Nivel

Permiten a los programadores escribir instrucciones entendibles por el ser humano y la computadora.

Lenguajes interpretados vs. lenguajes compilados

Tras la escritura del algoritmo,

un compilador o un intérprete

transformarán el texto

en código máquina que el procesador es capaz de ejecutar

Lenguajes compilados

1. Compilar cada uno de los archivos del código fuente.

3. Enlazar los archivos objeto.

2. Ensamblarlos en archivos objeto.

Para poder generar un ejecutable se deben seguir los siguientes pasos:

Ejemplos:

C/C++

Desventajas:

• es mas difícil de manejar que los interpretados

• es sólo apto para un sistema operativo o formato de ejecutable

Lenguajes interpretadosNacen como respuesta a la dificultad de manejo de los compilados.

El programa intérprete analiza el código fuente y lo va ejecutando en tiempo real, sin compilarlo ni ensamblarlo.

son multiplataforma:

un programa en Perl, por ejemplo, no debe ser compilado dos veces (una para Unix y otra para Windows). Con que haya diferentes versiones del intérprete en cada uno de esos ordenadores, específicamente compilados para ellos, basta.

Ejemplos:

PHPPerlPythonBASICLISP

Desventajas:

• Consume muchos recursos de memoria, sobre todo RAM.

• Se depende del intérprete:

si no tienes instalado el intérprete que corresponda, no podrás ejecutar el programa

¿Cuáles son los pasos para resolver un problema de programación?

• Especificación del problema.

• Análisis y búsqueda del algoritmo idóneo.

• Prueba de análisis.

• Codificación.

• Pruebas de la codificación..

Características de los algoritmos

Carácter finito

"Un algoritmo siempre debe terminar después de un número finito de pasos".

Precisión "Cada paso de un algoritmo

debe estarprecisamente definido;

las operaciones a llevar a cabo deben ser especificadas de

manera rigurosa y no ambigua para cada caso".

Entrada

"Un algoritmo tiene cero o más entradas:

cantidades que le son dadas antes de que el algoritmo comience, o dinámicamente mientras el algoritmo corre.

Estas entradas son tomadas de conjuntos específicos de objetos".

Salida

"Un algoritmo tiene una o más salidas:

cantidades que tienen una relación específica con las entradas".

Eficacia

en el sentido de que todas las operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz y papel".

"También se espera que un algoritmo sea eficaz,

pseudocódigo

en lenguaje naturalson formas más estructuradas para

representar algoritmos

Medios de expresión de un algoritmo

Los algoritmos pueden ser expresados de muchas maneras

lenguajes de programación

diagramas de flujo

tienden a ser ambiguas y extensas

evita muchas ambigüedades del lenguaje natural

se mantienen independientes de un lenguaje de programación específico

Descripción de un algoritmo

posiblemente con ilustraciones y omitiendo detalles.

se suele hacer en tres niveles

Descripción de alto nivel

se establece el problema,se selecciona un modelo matemáticose explica el algoritmo de manera verbal,

Descripción formal

Se usa pseudocódigo para describir la secuencia de pasos que encuentran la solución

Implementación

Se muestra el algoritmo expresado en un lenguaje de programación específico

usan símbolos conectados con flechas para indicar la secuencia de instrucciones y están regidos por ISO.

Los diagramas de flujo son descripciones gráficas de algoritmos;

Diagrama de flujo

Los diagramas de flujo son usados para representar algoritmos pequeños

ya que abarcan mucho espacio y su construcción es laboriosa

Por su facilidad de lectura son usados como

introducción a los algoritmos,

descripción de un lenguaje y

descripción de procesos a personas ajenas a la computación.

es la descripción de un algoritmo que asemeja a un lenguaje de programación pero con algunas convenciones del lenguaje natural

Pseudocódigo

VENTAJAS con respecto a DF

poco espacio que se requiere para representar instrucciones complejas

no está regido por ningún estándar

Máquina de Turing

es un modelo matemáticodiseñado por Alan Turing

que formaliza el concepto de algoritmo

A este modelo se le refiere comúnmente como la

"descripción de más bajo nivel"

Implementación

Muchos algoritmos son ideados para implementarse en un programa

como una red neuronal,un circuito eléctrico o un aparato mecánico

los algoritmos pueden ser implementados en otros medios,

Ejemplo de algoritmo

El problema consiste en encontrar el máximo de un conjunto de números.

Descripción de alto nivel

dado un conjunto

se pide encontrar m tal que

para todo elemento x que pertenece al conjunto C.

Para encontrar el elemento máximo, se asume que el primer elemento (c0) es el máximo; luego, se recorre el conjunto y se compara cada valor con el valor del máximo número encontrado hasta ese momento. En el caso que un elemento sea mayor que el máximo, se asigna su valor al máximo.Cuando se termina de recorrer la lista, el máximo número que se ha encontrado es el máximo de todo el conjunto.

Descripción formalen pseudocódigo

Algoritmo Encontrar el máximo de un conjuntofunción max ( C ) /C es un conjunto no vacío de números

n = cant_en_C // cant_en_C es el número de elementos de C

mayor = c0 // asigno a mayor el primero del conjunto

para i = 1 hasta n hacer si ci > mayor entonces

mayor = ci

finsi finpara

devolver mayor

Introducción a los tipos de datosLos datos que utilizan los programas se pueden clasificar en base a diferentes criterios.

Uno de los más significativos es aquel que dice que todos los datos que utilizan los programas son simples o compuestos.

Un dato simple es indivisible (atómico), es decir, no se puede descomponer.

Ejemplo 1: Un año es un dato simple.

Ejemplo 2:Una fecha es un dato compuesto por tres datos simples (día, mes, año).

Año 2010

Fecha Día 30Mes 11Año 2010

Ejemplo 3:Otro ejemplo de dato simple es una letra.

Letra t Ejemplo 4:Para formar un nombre de persona se utilizan varios caracteres.

Nombre Ana (dato compuesto por tres caracteres)

Tipos de datos simples

• Entero • Real • Lógico • Carácter

también se les conoce como tipos de datos primitivos, básicos o fundamentales

Por ejemplo, en lenguaje C es posible utilizar datos de tipo entero, real y carácter, sin embargo, los datos de tipo lógico no se pueden utilizar, ya que, no existen en este lenguaje.

la mayoría de los

lenguajes de programaciónpermiten trabajar con ellos

Datos de tipo entero

Un dato de tipo entero es aquel que puede tomar por valor un número perteneciente al conjunto de los números enteros (Z), el cual está formado por los números naturales, su opuestos (números negativos) y el cero.

Z = { ..., -3, -2, -1, 0, 1, 2, 3, ... }

Ejemplo:

La edad de una persona y el año en que nació, son dos datos de tipo entero.

Edad 29Año 1976

Z  es un conjunto infinito de números enteros, y como el ordenador no puede representarlos todos, un dato de tipo entero sólo puede tomar por valor un número perteneciente a un subconjunto de Z.

Los valores máximo y mínimo de dicho subconjunto varían según las características de cada ordenador y del compilador que se utilice.

En pseudocódigo, para indicar que un dato es de tipo entero se utiliza la palabra reservada:

entero

Datos de tipo real

Un dato de tipo real es aquel que puede tomar por valor un número perteneciente al conjunto de los números reales (R), el cual está formado por los números racionales e irracionales.

Ejemplo:El peso de una persona (en kilogramos) y su altura (en centímetros), son datos que pueden considerarse de tipo real.

Peso 75,3

Altura 172,7

R es un conjunto infinito de números reales, y como el ordenador no puede representarlos todos, un dato de tipo real sólo puede tomar por valor un número perteneciente a un subconjunto de R.

Los valores de dicho subconjunto varían según las características de cada ordenador y del compilador que se utilice.

En pseudocódigo, para indicar que un dato es de tipo real se utiliza la palabra reservada:

real

Datos de tipo lógico

En programación, un dato de tipo lógico es aquel que puede tomar por valor sólo uno de los dos siguientes:

{ verdadero, falso }

Los valores verdadero y falso son contrapuestos, de manera que, un dato de tipo lógico siempre está asociado a que algo se cumpla o no se cumpla.

Ejemplo:

El estado de una barrera de paso de trenes es un dato que puede considerarse de tipo lógico, por ejemplo, asociando verdadero a que esté subida y falso a que esté bajada.

Estado falso (indica que la barrera está bajada)

Datos de tipo carácter

Un dato de tipo carácter es aquel que puede tomar por valor un carácter perteneciente al conjunto de los caracteres que puede representar el ordenador.

En pseudocódigo, el valor de un dato de tipo carácter se puede representar entre comillas simples (') o dobles (").

Ejemplo:

En un examen con preguntas en las que hay que seleccionar la respuesta correcta entre varias opciones dadas (a, b, c, d, e), la respuesta correcta de cada una de las preguntas es un dato de tipo carácter.

Respuesta correcta a la pregunta 3...: 'c'

Datos de tipo cadena

Un dato de tipo cadena es aquel que pueden tomar por valor una secuencia de caracteres.

Ejemplo:

El título de un libro y el nombre de su autor, son datos de tipo cadena.

Título "La Odisea" (cadena de 9 caracteres)

Autor "Homero" (cadena de 6 caracteres)

En pseudocódigo, el valor de un dato de tipo cadena se puede representar entre comillas simples (') o dobles (").

En pseudocódigo, para indicar que un dato es de tipo cadena se utiliza la palabra reservada: cadena

Clasificación de los tipos de datos simplesLos tipos de datos simples se clasifican en

• predefinidos y • definidos por el programador.

Los tipos de datos simples predefinidos (estándares) son aquellos proporcionados por los lenguajes de programación.

•Numericos

Entero

Real

•Lógico

•Carácter

Predefinidos (estándares)

Pero, el programador también puede definir sus propios tipos de datos simples (subrangos y enumerados.

Definidos por el programador (no estandares)

•Subrangos

•Enumerados

•Estructuras

Programación estructurada

Es un método disciplinado de escribir programas que sean:

claros fáciles de modificar

correctos

Estructura de un Programa en C

#include ... /* Directivas */...main () /* Cabecera de main () */{

/* Cuerpo del main */...

funcion2();

funcion1();

funcionn();...

}

fun1() /* Cabecera de fun1() */

{/* Cuerpo de fun1() */...

}

...

funn() /* Cabecera de funn() */

{/* Cuerpo de funn() */...

}

Fases para la ejecución

de un

programa C

Fase 1 DiscoEditor

Fase 2 DiscoPreprocesador

Fase 3 DiscoCompilador

Fase 4 DiscoEnlazador

Fase 5 Cargador

Fase 6 CPU

Memoria Primaria

Memoria Primaria

Variables

• Es un objeto del lenguaje cuyo valor puede cambiar.

• Antes de utilizar una variable, ésta debe ser declarada.

• Al declarar una variable se asocia un nombre, con un tipo de datos.

• Se pueden declarar en tres sitios diferentes:

• Dentro de las funciones (variables locales)

• Fuera de todas las funciones (variables globales)

• En la definición de los parámetros de las funciones (parámetros formales, que son variables locales)

La información elemental de una variable se compone de:• Un valor:

Es el valor que tiene la variable en un momento dado.

• Un tipo:

• Un nombre, o identificador:

Define un conjunto de valores y operaciones posibles.

Es la forma en que se puede referir a la información.

Tipos de Datos

• Representa el rango de valores que puede tener la variable.

• Tienen asociado un conjunto de operadores.

Pueden ser:

• Básicos.

char Representa 1 carácter y ocupa 1 octeto.

int Representa un entero y ocupa 2 octetos.

float

void

Representa los números reales y ocupa 4 octetos.

double Representa un número real en doble precisión y ocupa 8 octetos.

No representa ningún valor.

• Compuestos.Combinaciones de los básicos.

Matrices

Estructuras

Uniones

Las declaraciones de variables tienen el siguiente formato general:

<clase de almacenamiento><tipo><lista de identificadores>

Donde...Clase:

es la forma de almacenamiento.

Tipo:

es el tipo de datos.

Lista de Identificadores

Es una secuencia de nombres separadas por comas.

Ejemplos:

char car1, car2, car3;

int m, n;

float x, y;

double d;

Modificadores de tipo

• short

• long

• unsigned

• signed

Al tipo entero se le pueden asociar calificadores;

shortlong

para referirse a su tamaño:

para referirse al rango de valores que puede tomar:

unsignedsigned

Ejemplos:

short int m, n;

unsigned int contador

unsigned char caracter;

TIPO BYTES

VALOR MINIMO

VALOR MAXIMO

signed char 1 -128 127

unsigned char 1 0 255

signed short 2 -32.768 +32.767

unsigned short 2 0 +65.535

signed int 2 -32.768 +32.767

unsigned int 2 0 +65.535

signed long 4 -2.147.483.648 +2.147.483.647

Unsigned long 4 0 +4.294.967.295

VARIABLES DEL TIPO NUMERO ENTERO

Modificadores de Acceso

• const

• volatile

Se emplean para controlar el modo en que las variables se modifican en el programa.

constIndica que la variable no se podrá modificar en todo el programa.

volatileIndica al compilador que la variable puede ser modificada en forma no explícita.

Visibilidad de Variables Locales y Globales

Un programa fuente en C contiene bloques de sentencias, que pueden ser funciones o agrupaciones de instrucciones.

Los bloques pueden ser paralelos:

{

bloque1

}

{

bloque2

}

Los bloques pueden ser anidados:

{

bloque1

{

bloque2....

}

}

Variables Locales

Son las variables que se declaran dentro de un bloque.

Se crean al comienzo del bloque y se destruyen al salirse de él.

Las variables que se declaran como argumentos de las funciones tienen las mismas características que las variables locales.

{int x, y, m, n;

x = 1;

y = 2;

m = 3;

n = 4;

printf(“%d %d %d %d \n”, x, y, m, n);

}

Ejemplo:

/* Escribe 1 2 3 4 */

{

int x, y, m, n;

x = 5;

y = 6;

m = 7;

n = 8;

printf(“%d %d %d %d \n”, x, y, m, n);

} /* Escribe 5 6 7 8 */

Variables Globales

Son las variables que se declaran fuera de todos los bloques.

Se conocen a lo largo de todo el programa y se pueden utilizar desde cualquier sitio.

Si dentro de un bloque se repite la declaración de una variable definida en un bloque exterior, el acceso se referirá a la variable del bloque más interno.

{

int x;

x = 1;

{

printf(“%d”, x);

}

printf(“%d”, x);

}

/* escribe 1 */

/* escribe 1 */

{

int x;

x = 1;

printf (“%d”, x);

{

int y;

y = 2 + x;

printf(“%d”, x);

}

printf(“%d”, x);

}

/* escribe 2 */

/* escribe 1 */

/* escribe 1 */

automático (auto)estática (static)

externa (extern)

registro (register)

Clases de almacenamiento

Variables automáticasUna variable es automática si es local a una función o bloqueSu existencia está ligada a esa función o bloque.Si no se especifica una clase al declarar una variable, ésta es siempre automática.

Ejemplo:.....

{

int x,y,z;

....

}

Es equivalente a:

.....

{

auto int x,y,z;

....

}

Variables externasÉstas variables tienen almacenamiento permanente.

Se pueden emplear para pasar información entre los diferentes bloques de un programa.

Todas las funciones y bloques declarados después de una variable externa podrán acceder a ella.

Se pueden distinguir dos tipos de declaraciones:

Las que relacionan un nombre a una variable.

Y las que además de relacionarlos, reservan memoria para la variable.

Ejemplo:

Fun2()

{

....

extern int x

.....

}

int x;

main()

{

....

.....

}

La fun2() emplea la variable x, definida en otra parte del programa.

Variables EstáticasExisten desde el comienzo al final de la ejecución del programa.Pueden ser global a todo el programa, local a una unidad de compilación, o local a una función.

Todas las variables globales son estáticas y accesibles desde todos los módulos del programa , por defecto.

Una variable estática y local a una función, conserva su valor de una llamada a otra de la función.

Variables de registro

Una variable es de clase registro cuando se desea que resida en uno de los registros de la CPU.

Sólo se puede utilizar la clase registro con los tipos entero y carácter.

Ejemplo:

{

....

register int contador;

....

}

El acceso a estas variables es más rápido.

Se suelen emplear para controlar bucles.

Inicialización de Variables

Formato general:

<tipos básicos> = <expresión>

Las variables globales y estáticas se inicializan a cero si no se especifica ningún valor.

Ambas se deben inicializar con expresiones constantes.

Las variables estáticas las inicializa el compilador una sola vez, al comenzar el programa; no en cada ejecución del código.

Las variables locales y de registro tienen valores desconocidos hasta que se les asigna uno dentro del programa.

Si tienen valores iniciales, se asignan cada vez que se ejecuta el bloque donde se definen.

Estructuras de Control

Bifurcaciones y Bucles

La estructura IF

if (expresión) sentencia_verd

else sentencia_falsa

Donde expresión debe dar un valor verdadero (diferente de cero)

o falso (igual a cero)

If/else anidadosEjemplo:Escribir un programa que imprima A para calificaciones mayores o iguales a 90, B para calificaciones mayores o iguales a 80, C para calificaciones mayores o iguales a 70, D para calificaciones mayores o iguales a 60, y F para las demás calificaciones.

#include<stdio.h>#include<conio.h>

void main(){int puntaje;

clrscr();printf("Ingrese el puntaje del examen entre 0

y 100\n");scanf("%d",&puntaje);

if (puntaje>=90)printf("Su calificaci¢n fue A\n");

elseif (puntaje>=80)

printf("Su calificaci¢n fue B\n");else

if (puntaje>=70)printf("Su calificaci¢n fue

C\n");else

if (puntaje>=60)printf("Su calificaci¢n

fue D\n");else

printf("Su calificaci¢n fue F\n");

getch();}

La estructura SWITCHEjemplo:switch (orden) {

case 0: printf(“Es el caso 0\n”);

break;

case 1: printf(“Es el caso 1\n”);

break;

default: printf(“No es ninguno de los casos anteriores\n”);

}

La variable orden se evalúa y se compara sucesivamente con todas las constantes que aparecen junto a la palabra reservada case.

Cuando es igual, se ejecuta la sentencia o bloque de sentencias correspondientes.

¿Qué pasa si no aparece break?

Si aparece break, se termina la ejecución de la estructura switch.

La opción default indica la sentencia que se ejecuta por defecto.

No es necesario que esté presente.

Si no aparece la palabra break, continúa la ejecución de las siguientes sentencias de los otros case.

La estructura FOR

Se suele utilizar cuando es necesario repetir una instrucción o un bloque de instrucciones un número fijo de veces.

Ejemplo:

Escribir los 50 primeros números impares.

#include <stdio.h>

void main(){

int m;

for(m=1;m<100;m+=2)

printf(“%d\n”,m);

}

Formato general:

for (exp1; exp2; exp3) { sentencias;

}

Donde:

exp2:

es una expresión lógica, que determina el fin del bucle.

exp3:

es el incremento, que modifica la variable de control al final de cada vuelta.

es donde se le asigna un valor inicial a la variable de control del bucle.

exp1:

Se evalúa exp1

Se evalúa exp2

se ejecuta el bloque de sentencias dentro del bucle

Si es falsa

se termina de ejecutar el bucle

Si es verdadera

Se evalúa exp3

//La primera vez que entra al bucle

// generalmente altera la variable // de control

Ejemplos:

Variar la variable de control de 100 a 1en decrementos de 1.

for( i=100 ; i >= 1 ; i - -)

Variar la variable de control de 7 a 77 en pasos de 7.

for( i=7 ; i <= 7 ; i += 7)

Ejercicio1:

Escribir en pantalla todos los caracteres representables. #include<stdio.h>#include<conio.h>

void main(){

unsigned char i;

clrscr();

for(i=32;i<=255 && i>0 ;i++)printf("%3u=%c\t",i,i);

}

Escribir un programa que calcule la suma de los n primeros números naturales.

Ejercicio2:

#include<stdio.h>#include<conio.h>void main(){int n, i;int suma;clrscr();printf("Ingrese hasta que número desea

sumar\n");scanf("%d", &n);suma=0;for(i=0;i<=n;i++){

suma=suma+i;}printf("SUMA DESDE 0 HASTA %d es %d \n”

,n,suma);getch();}

Ejercicio3:

Escribir un programa que inicialice un vector a 0 y que despliegue su valor antes y después de la inicialización.

#include<stdio.h>#include<conio.h>

void main(){int i,vector[10];

clrscr();printf("Imprimo el contenido del

vector antes de inicializarlo.\n\n");

for(i= 0; i<=9; i++){printf("%d\t",vector[i]);

}printf("\n\n\n");

// Inicializo el vector a 0.for(i= 0; i<=9; i++){

vector[i]=0;}printf("Imprimo el contenido del

vector después de inicializarlo.\n\n");

for(i= 0; i<=9; i++){printf("%d\t",vector[i]);

}getch();}

La estructura WHILE

Formato general:

while (expresión) {

sentencias;

}

Donde:

Expresión:

puede ser una expresión simple que al evaluarse debe ser verdadera o falsa.

El bucle se repite mientras la condición sea verdadera.

Cuando es falsa, el programa pasa a la instrucción siguiente, después del cuerpo de la estructura

Ejemplo:

Escribir un programa que lea caracteres del teclado y que los escriba en pantalla hasta que se ingrese EOF (fin de archivo, CTRL Z).

#include<stdio.h>#include<conio.h>

void main(){char car;

clrscr();while (car!=EOF) {

// CTRL Z indican fin de // archivo

putchar(car=getchar());}}

Ejercicio:

Escribir un programa que cuente los caracteres (sin el enter) y el número de líneas introducidas por el teclado.

El bucle se ejecuta hasta que se pulsen las teclas CTRL Z

#include<stdio.h>#include<conio.h>

void main(){char car;int ncar=0; // acumulador de caracteres.

int nlineas=0; //acumulador de lineas.

clrscr();...

while ((car=getchar())!=EOF) { // CTRL Z indican fin de archivo

if (car=='\n')nlineas++;

elsencar++;

}printf("La cantidad de caracteres

ingresados fueron: %d\n", ncar);printf("La cantidad de lineas

ingresadas fueron: %d\n", nlineas);getch();}

Ejercicio:

Escribir un programa que almacene caracteres en un vector hasta que se apriete enter.

Luego desplegar el contenido del vector.

#include<stdio.h>#include<conio.h>#define TAMANIO 100void main(){

char veccar[TAMANIO];char car;int i;

clrscr();i=0;printf ("Escriba la oracion\n");

while (((car=getchar())!=EOF) && (car!='\n')) {

veccar[i]=car;i++;

}

veccar[i]='\0'; // para indicar fin //de cadena.

for (i=0;i<TAMANIO;i++)printf("%c", veccar[i]);

getch();}

La estructura DO WHILE

La estructura do while repite la ejecución del bloque hasta que se cumpla una condición determinada.

Se evalúa la expresión de control del bucle después de que el cuerpo de la estructura se ejecute.

Por lo tanto:

El conjunto de sentencias que forman el cuerpo de la estructura, se ejecutará por lo menos una vez.

Formato general:

do {

sentencias;

} while (expresión);

Ejercicio:

Escribir un programa que imprima los números del 1 al 10.

#include<stdio.h>#include<conio.h>

void main(){int cont=1;

clrscr();do {

printf("%d\t",cont);cont++;

}while (cont <=10);

getch();}

Definición y uso de Funciones

Un problema de computación se resuelve en varias partes.

Cada una de éstas partes se puede asociar a una función que resuelva su fracción correspondiente del problema.

Módulos de programa en C

En C los módulos se llaman Funciones.

Las funciones permiten al programador modularizar un programa.

Todas las variables declaradas en las definiciones de función son variables locales.

La mayor parte de las funciones tienen una lista de parámetros.

Los parámetros proporcionan la forma de comunicar información entre funciones.

Los parámetros de una función son variables locales.

Formato general:

Tipo_de_valor_de_regreso nombre_de_la_función (lista de parámetros)

{

declaraciones

enunciados

}

Si tipo_de_valor_de_regreso es void la función no devolverá ningún valor.

Si tipo_de_valor_de_regreso no es especificado la función devolverá un valor int.

A cada parámetro deberá declararse un tipo.

Si no se especifica ninguno se asume como int.

Bajo ninguna circunstancia puede ser definida una función dentro de otra función!!!

Ejercicios:Ejercicios:

Escribe una función que calcule el cuadrado de un número.

Escribe una función que calcule el cuadrado de un binomio.

Es decir calcule :

(a + b)² = a² + 2 a b + b² ;

utilizando la función anterior.

Escribe una función que dada la base (b) y el exponente(e) calcule:

b elevado a la e.

Escribe una función que dados tres números devuelva el máximo entre ellos.

top related