SlideShare una empresa de Scribd logo
1 de 12
Fundamentos de la
programación
Integrantes:
Juan José Yanangomez Salinas.
Procedimientos
Un procedimiento es un fragmento de código cuya función es la de realizar una tarea
específica independientemente del programa en el que se encuentre. Con los
procedimientos se pueden crear algoritmos de ordenación de arrays, de modificación
de datos, cálculos paralelos a la aplicación, activación de servicios, etc. Prácticamente
cualquier cosa puede realizarse desde procedimientos independientes.
#include <stdio.h>
#include <stdlib.h>
void areatriangulo (void) {
float base, altura;
printf("Introduce base: ");
scanf("%f",&base);
printf("Introduce altura: ");
scanf("%f",&altura);
printf("El área es: %2.2f n",(base*altura)/2);
}
int main(int argc, char *argv[])
{
areatriangulo();
system("PAUSE");
return 0;
}
Funciones
Una función es una parte con nombre de un programa que puede ser involucrada o
llamada desde cualquier otra parte del programa cuando haga falta. La sintaxis de las
funciones depende de si la declaramos o las definimos.
La declaración se escribe poniendo el tipo que retorna la función seguido de su nombre
y de una lista de parámetros entre paréntesis (los parámetros deben ser de la forma
tipo-parametro, (nom_param), donde los corchetes indican que el nombre es opcional),
para terminar la declaración ponemos punto y coma (recordar que una declaración es
una sentencia).
Para definir una función se escribe el tipo que retorna, el nombre de la función y una
lista de parámetros entre paréntesis. A continuación se abre una llave, se escriben las
sentencias que se ejecutan en la función y se cierra la llave.
#include <stdio.h>
#include <stdlib.h>
float areatriangulo (void) {
float base, altura;
printf("Introduce base: ");
scanf("%f",&base);
printf("Introduce altura: ");
scanf("%f",&altura);
return (base*altura)/2;
}
int main(int argc, char *argv[])
{
float area;
area=areatriangulo();
printf("El área es: %2.2f n",area);
system("PAUSE");
return 0;
}
Variables locales
A diferencia de las anteriores, las variables definidas DENTRO de una función, son
denominadas VARIABLES LOCALES a la misma, a veces se las denomina también como
AUTOMÁTICAS, ya que son creadas y destruidas automáticamente por la llamada y el
retorno de una función, respectivamente.
Estas variables se ubican en la pila dinámica (stack) de memoria , destinándosele un
espacio en la misma cuando se las define dentro de una función, y borrándose cuando la
misma devuelve el control del programa, a quien la haya invocado.
Este método permite que, aunque se haya definido un gran número de variables en un
programa, estas no ocupen memoria simultáneamente en el tiempo, y solo vayan
incrementando el stack cuando se las necesita, para luego, una vez usadas desaparecer,
dejando al stack en su estado original.
El identificador ó nombre que se la haya dado a una variable es sólo relevante entonces,
para la función que la haya definido, pudiendo existir entonces variables que tengan el
mismo nombre, pero definidas en funciones distintas, sin que haya peligro alguno de
confusión .
La ubicación de estas variables locales, se crea en el momento de correr el programa, por lo
que no poseen una dirección prefijada, esto impide que el compilador las pueda inicializar
previamente. Recuérdese entonces que, si no se las inicializa expresamente en el momento
de su definición, su valor será indeterminado (basura).
Variables globales
Este tipo de variable será ubicada en el segmento de datos de la memoria utilizada
por el programa, y existirá todo el tiempo que esté ejecutándose este.
Este tipo de variables son automáticamente inicializadas a CERO cuando el programa
comienza a ejecutarse.
Son accesibles a todas las funciones que estén declaradas en el mismo, por lo que
cualquiera de ellas podrá actuar sobre el valor de las mismas.
#include <stdio.h>
double una_funcion(void);
double variable_global ;
main()
{
double i ;
printf(“%f”, variable_global ); /* se imprimirá 0 */
i = una_funcion() ;
printf(“%f”, i ); /* se imprimirá 1 */
printf(“%f”, variable_global ); /* se imprimirá 1 */
variable_global += 1 ;
printf(“%f”, variable_global ); /* se imprimirá 2 */
return 0 ;
}
double una_funcion(void)
{
return( variable_global += 1) ;
}
nt y; /* Global. Conocida tanto por main() como por MiFuncion() */
main ()
{
int x; /* Esta x es local a main () */
y = 100;
x = 1;
printf (“x=%d, y=%d”, x, y) /* Visualiza x=1, y=100 */
{ /* Comienza bloque */
int x; /* Esta x es local al bloque */
x = 2;
printf (“x=%d, y=%d”, x, y) /* Visualiza x=2, y=100 */
MiFuncion () /* Visualiza x=3, y=100 */
printf (“x=%d, y=%d”, x, y) /* Visualiza x=2, y=100 */
} /* Fin del bloque */
printf (“x=%d, y=%d”, x, y) /* Visualiza x=1, y=100 */
}
MiFuncion ()
{
int x; /* Local a MiFuncion() */
x = 3;
printf (“x=%d, y=%d”, x, y) /* Visualiza x=3, y=100 */
}
Observemos que la variable_global está definida afuera de las funciones del programa,
incluyendo al main(), por lo que le pertenece a TODAS ellas. En el primer printf() del
programa principal se la imprime, demostrándose que está automáticamente
inicializada a cero .
Luego es incrementada por una función() que devuelve además una copia de su valor,
el cual es asignado a i ,la que, si es impresa mostrará un valor de uno, pero también la
variable_global ha quedado modificada, como lo demuestra la ejecución de la
sentencia siguiente. Luego main() también modifica su valor , lo cual es demostrado
por el printf() siguiente.
Esto nos permite deducir que dicha variable es de uso público, sin que haga falta que
ninguna función la declare, para actuar sobre ella.
Parámetros
Todos los parámetros se pasan valor por valor, es decir, se hace una copia de los
parámetros cuando llamamos a la función.
En la llamada, antes de hacer la copia, se chequea que los parámetros actuales (los valores
o variables especificados en la llamada) son del mismo tipo que los parámetros formales (
los que declaramos en la lista de parámetros de la declaración de la función). Si los tipos
son iguales o existe una conversión implícita la llamada puede realizarse, si no son iguales
deberemos realizar conversiones explicitas.
Una función es un bloque de sentencias identificado por un nombre y puede recibir y
devolver datos. En bajo nivel, en general, las funciones operan como las subrutinas de
Assembler, es decir, al ser llamadas, se guarda en la Pila el valor actual del PC (Program
Counter), después se ejecuta todo el código de la función y finalmente se recobra el PC
para regresar de la función.

Más contenido relacionado

La actualidad más candente

Estructura de un rograma
Estructura de un rogramaEstructura de un rograma
Estructura de un rograma
ivanjvic
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
GamePlayer35
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
Mary Guaman
 

La actualidad más candente (20)

comandos
comandoscomandos
comandos
 
Funciones en C
Funciones en CFunciones en C
Funciones en C
 
Presentacion capitulo 6
Presentacion capitulo 6Presentacion capitulo 6
Presentacion capitulo 6
 
Funciones
FuncionesFunciones
Funciones
 
Trabajo case
Trabajo caseTrabajo case
Trabajo case
 
Sistemas Operativos - Semáforos
Sistemas Operativos - SemáforosSistemas Operativos - Semáforos
Sistemas Operativos - Semáforos
 
Elementos
ElementosElementos
Elementos
 
Estructura programa c++
Estructura programa c++Estructura programa c++
Estructura programa c++
 
Estructura de un rograma
Estructura de un rogramaEstructura de un rograma
Estructura de un rograma
 
La estructura basica_para_c_
La estructura basica_para_c_La estructura basica_para_c_
La estructura basica_para_c_
 
Funciones y Subrutinas
Funciones y SubrutinasFunciones y Subrutinas
Funciones y Subrutinas
 
Tipos de-variables
Tipos de-variablesTipos de-variables
Tipos de-variables
 
Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4Administracion de-sistemas-operativos apuntes-v2-4
Administracion de-sistemas-operativos apuntes-v2-4
 
Manual
ManualManual
Manual
 
Funcionesclase1
Funcionesclase1Funcionesclase1
Funcionesclase1
 
Funciones definidas por el usuario
Funciones definidas por el usuarioFunciones definidas por el usuario
Funciones definidas por el usuario
 
funciones
 funciones  funciones
funciones
 
Estructura de un programa en c
Estructura de un programa en cEstructura de un programa en c
Estructura de un programa en c
 
Estructura de Programa en C++
Estructura de Programa en C++Estructura de Programa en C++
Estructura de Programa en C++
 
Funciones con vectores c++
Funciones con vectores c++Funciones con vectores c++
Funciones con vectores c++
 

Similar a Fundamentos de la programación

Funciones
FuncionesFunciones
Funciones
adark
 
Estructura De Control
Estructura De ControlEstructura De Control
Estructura De Control
guest799348
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
RafaeloRivas
 

Similar a Fundamentos de la programación (20)

Funciones en C
Funciones en CFunciones en C
Funciones en C
 
FUNCIONES LENGUAJE C
FUNCIONES LENGUAJE CFUNCIONES LENGUAJE C
FUNCIONES LENGUAJE C
 
Funciones
FuncionesFunciones
Funciones
 
Funciones lenguaje c modulo4
Funciones lenguaje c modulo4Funciones lenguaje c modulo4
Funciones lenguaje c modulo4
 
Presentacion
PresentacionPresentacion
Presentacion
 
FUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE CFUNCIONES EN LENGUAJE C
FUNCIONES EN LENGUAJE C
 
Tema 7
Tema 7Tema 7
Tema 7
 
Funciones
FuncionesFunciones
Funciones
 
Estructura De Control
Estructura De ControlEstructura De Control
Estructura De Control
 
Estructura del programa arduino
Estructura del programa arduinoEstructura del programa arduino
Estructura del programa arduino
 
Funciones en lenguage c
Funciones en lenguage cFunciones en lenguage c
Funciones en lenguage c
 
Funciones en Lenguaje C
Funciones en Lenguaje CFunciones en Lenguaje C
Funciones en Lenguaje C
 
vectores y matrices
vectores y matricesvectores y matrices
vectores y matrices
 
Funciones con vectores y matrices1
Funciones con vectores y matrices1Funciones con vectores y matrices1
Funciones con vectores y matrices1
 
Presen iii 26 funciones
Presen iii  26 funcionesPresen iii  26 funciones
Presen iii 26 funciones
 
Unidad III
Unidad IIIUnidad III
Unidad III
 
Metodos,variables, pasodeparametros
Metodos,variables, pasodeparametrosMetodos,variables, pasodeparametros
Metodos,variables, pasodeparametros
 
Hd
HdHd
Hd
 
Exposicion grupal
Exposicion grupalExposicion grupal
Exposicion grupal
 
8448148681
84481486818448148681
8448148681
 

Último

CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
bingoscarlet
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
bcondort
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
annavarrom
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
BRAYANJOSEPTSANJINEZ
 

Último (20)

Comite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptxComite Operativo Ciberseguridad 012020.pptx
Comite Operativo Ciberseguridad 012020.pptx
 
CLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptxCLASe número 4 fotogrametria Y PARALAJE.pptx
CLASe número 4 fotogrametria Y PARALAJE.pptx
 
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERASDOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
DOCUMENTO PLAN DE RESPUESTA A EMERGENCIAS MINERAS
 
Principales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards DemingPrincipales aportes de la carrera de William Edwards Deming
Principales aportes de la carrera de William Edwards Deming
 
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptxCARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
CARGAS VIVAS Y CARGAS MUERTASEXPOCI.pptx
 
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
COMPEDIOS ESTADISTICOS DE PERU EN EL 2023
 
Mapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptxMapas y cartas topográficas y de suelos.pptx
Mapas y cartas topográficas y de suelos.pptx
 
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdfLA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
LA APLICACIÓN DE LAS PROPIEDADES TEXTUALES A LOS TEXTOS.pdf
 
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotencialesUNIDAD 3 ELECTRODOS.pptx para biopotenciales
UNIDAD 3 ELECTRODOS.pptx para biopotenciales
 
desarrollodeproyectoss inge. industrial
desarrollodeproyectoss  inge. industrialdesarrollodeproyectoss  inge. industrial
desarrollodeproyectoss inge. industrial
 
Tinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiologíaTinciones simples en el laboratorio de microbiología
Tinciones simples en el laboratorio de microbiología
 
Magnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principiosMagnetismo y electromagnetismo principios
Magnetismo y electromagnetismo principios
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVILClase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
Clase 7 MECÁNICA DE FLUIDOS 2 INGENIERIA CIVIL
 
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdfSesión N°2_Curso_Ingeniería_Sanitaria.pdf
Sesión N°2_Curso_Ingeniería_Sanitaria.pdf
 
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)Voladura Controlada  Sobrexcavación (como se lleva a cabo una voladura)
Voladura Controlada Sobrexcavación (como se lleva a cabo una voladura)
 
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdfReporte de simulación de flujo del agua en un volumen de control MNVA.pdf
Reporte de simulación de flujo del agua en un volumen de control MNVA.pdf
 
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptxNTP- Determinación de Cloruros  en suelos y agregados (1) (1).pptx
NTP- Determinación de Cloruros en suelos y agregados (1) (1).pptx
 
Obras paralizadas en el sector construcción
Obras paralizadas en el sector construcciónObras paralizadas en el sector construcción
Obras paralizadas en el sector construcción
 
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdfECONOMIA APLICADA SEMANA 555555555555555555.pdf
ECONOMIA APLICADA SEMANA 555555555555555555.pdf
 

Fundamentos de la programación

  • 2. Procedimientos Un procedimiento es un fragmento de código cuya función es la de realizar una tarea específica independientemente del programa en el que se encuentre. Con los procedimientos se pueden crear algoritmos de ordenación de arrays, de modificación de datos, cálculos paralelos a la aplicación, activación de servicios, etc. Prácticamente cualquier cosa puede realizarse desde procedimientos independientes.
  • 3. #include <stdio.h> #include <stdlib.h> void areatriangulo (void) { float base, altura; printf("Introduce base: "); scanf("%f",&base); printf("Introduce altura: "); scanf("%f",&altura); printf("El área es: %2.2f n",(base*altura)/2); } int main(int argc, char *argv[]) { areatriangulo(); system("PAUSE"); return 0; }
  • 4. Funciones Una función es una parte con nombre de un programa que puede ser involucrada o llamada desde cualquier otra parte del programa cuando haga falta. La sintaxis de las funciones depende de si la declaramos o las definimos. La declaración se escribe poniendo el tipo que retorna la función seguido de su nombre y de una lista de parámetros entre paréntesis (los parámetros deben ser de la forma tipo-parametro, (nom_param), donde los corchetes indican que el nombre es opcional), para terminar la declaración ponemos punto y coma (recordar que una declaración es una sentencia). Para definir una función se escribe el tipo que retorna, el nombre de la función y una lista de parámetros entre paréntesis. A continuación se abre una llave, se escriben las sentencias que se ejecutan en la función y se cierra la llave.
  • 5. #include <stdio.h> #include <stdlib.h> float areatriangulo (void) { float base, altura; printf("Introduce base: "); scanf("%f",&base); printf("Introduce altura: "); scanf("%f",&altura); return (base*altura)/2; } int main(int argc, char *argv[]) { float area; area=areatriangulo(); printf("El área es: %2.2f n",area); system("PAUSE"); return 0; }
  • 6. Variables locales A diferencia de las anteriores, las variables definidas DENTRO de una función, son denominadas VARIABLES LOCALES a la misma, a veces se las denomina también como AUTOMÁTICAS, ya que son creadas y destruidas automáticamente por la llamada y el retorno de una función, respectivamente. Estas variables se ubican en la pila dinámica (stack) de memoria , destinándosele un espacio en la misma cuando se las define dentro de una función, y borrándose cuando la misma devuelve el control del programa, a quien la haya invocado. Este método permite que, aunque se haya definido un gran número de variables en un programa, estas no ocupen memoria simultáneamente en el tiempo, y solo vayan incrementando el stack cuando se las necesita, para luego, una vez usadas desaparecer, dejando al stack en su estado original.
  • 7. El identificador ó nombre que se la haya dado a una variable es sólo relevante entonces, para la función que la haya definido, pudiendo existir entonces variables que tengan el mismo nombre, pero definidas en funciones distintas, sin que haya peligro alguno de confusión . La ubicación de estas variables locales, se crea en el momento de correr el programa, por lo que no poseen una dirección prefijada, esto impide que el compilador las pueda inicializar previamente. Recuérdese entonces que, si no se las inicializa expresamente en el momento de su definición, su valor será indeterminado (basura).
  • 8. Variables globales Este tipo de variable será ubicada en el segmento de datos de la memoria utilizada por el programa, y existirá todo el tiempo que esté ejecutándose este. Este tipo de variables son automáticamente inicializadas a CERO cuando el programa comienza a ejecutarse. Son accesibles a todas las funciones que estén declaradas en el mismo, por lo que cualquiera de ellas podrá actuar sobre el valor de las mismas.
  • 9. #include <stdio.h> double una_funcion(void); double variable_global ; main() { double i ; printf(“%f”, variable_global ); /* se imprimirá 0 */ i = una_funcion() ; printf(“%f”, i ); /* se imprimirá 1 */ printf(“%f”, variable_global ); /* se imprimirá 1 */ variable_global += 1 ; printf(“%f”, variable_global ); /* se imprimirá 2 */ return 0 ; } double una_funcion(void) { return( variable_global += 1) ; }
  • 10. nt y; /* Global. Conocida tanto por main() como por MiFuncion() */ main () { int x; /* Esta x es local a main () */ y = 100; x = 1; printf (“x=%d, y=%d”, x, y) /* Visualiza x=1, y=100 */ { /* Comienza bloque */ int x; /* Esta x es local al bloque */ x = 2; printf (“x=%d, y=%d”, x, y) /* Visualiza x=2, y=100 */ MiFuncion () /* Visualiza x=3, y=100 */ printf (“x=%d, y=%d”, x, y) /* Visualiza x=2, y=100 */ } /* Fin del bloque */ printf (“x=%d, y=%d”, x, y) /* Visualiza x=1, y=100 */ } MiFuncion () { int x; /* Local a MiFuncion() */ x = 3; printf (“x=%d, y=%d”, x, y) /* Visualiza x=3, y=100 */ }
  • 11. Observemos que la variable_global está definida afuera de las funciones del programa, incluyendo al main(), por lo que le pertenece a TODAS ellas. En el primer printf() del programa principal se la imprime, demostrándose que está automáticamente inicializada a cero . Luego es incrementada por una función() que devuelve además una copia de su valor, el cual es asignado a i ,la que, si es impresa mostrará un valor de uno, pero también la variable_global ha quedado modificada, como lo demuestra la ejecución de la sentencia siguiente. Luego main() también modifica su valor , lo cual es demostrado por el printf() siguiente. Esto nos permite deducir que dicha variable es de uso público, sin que haga falta que ninguna función la declare, para actuar sobre ella.
  • 12. Parámetros Todos los parámetros se pasan valor por valor, es decir, se hace una copia de los parámetros cuando llamamos a la función. En la llamada, antes de hacer la copia, se chequea que los parámetros actuales (los valores o variables especificados en la llamada) son del mismo tipo que los parámetros formales ( los que declaramos en la lista de parámetros de la declaración de la función). Si los tipos son iguales o existe una conversión implícita la llamada puede realizarse, si no son iguales deberemos realizar conversiones explicitas. Una función es un bloque de sentencias identificado por un nombre y puede recibir y devolver datos. En bajo nivel, en general, las funciones operan como las subrutinas de Assembler, es decir, al ser llamadas, se guarda en la Pila el valor actual del PC (Program Counter), después se ejecuta todo el código de la función y finalmente se recobra el PC para regresar de la función.