Está en la página 1de 26

Pontificia Universidad Catlica Madre y Maestra Vicerrectora Acadmica Facultad Ciencias de las Ingenieras Ingeniera en Sistemas y Computacin - ISC

Introduccin a la Algoritmia
Leccin: Formatos de Programas en C

16-ene-13 Santiago, Rep. Dom.

Formatos de Programas en C
Estructura de un Programa

Formatos de Programas en C
#include #define Incluir librerias de C Definir constantes/macros

Estructura de un Programa

[declaracin de funciones] [declaracin de variables globales]


main() { declaracin de variables locales para el main; Sentencias; llamadas de funciones; } funcion_a() { declaracin de variables locales para funcin_a; Sentencias; } funcion_b() { }

Todas las sentencias deben terminar Con punto y comas (;)

Formatos de Programas en C
Estructura de un Programa

Ej.: Obtener un nmero, calcular e imprimir su cuadrado.


#include <stdio.h>
void main() { int num,cuadrado; printf(\n introduzca el numero => ); scanf(%d,&num); cuadrado = num * num; /* declarar variables */ /* imprimir letrero para pedir el numero */ /* leer numero */ /* elevarlo al cuadrado */

/* imprimir el valor al cuadrado */ printf(\n %d elevado al cuadrado es = %d \n,num,cuadrado); }

Formatos de Programas en C
Estructura de un Programa

Salida.
#include <stdio.h>
void main() { int num,cuadrado; printf(\n introduzca el numero => ); scanf(%d,&num); cuadrado = num * num; /* declarar variables */ /* imprimir letrero para pedir el numero */ /* leer numero */ /* elevarlo al cuadrado */

/* imprimir el valor al cuadrado */ printf(\n %d elevado al cuadrado es = %d \n,num,cuadrado); }

Formatos de Programas en C
Salida

printf(cadena_caracteres,v1,v2...) : Imprimir por el dispositivo de salida estndar, pantalla.


Lista de variables.

cadena_caracteres va a contener los textos que deseo imprimir, as como los respectivos formatos de las variables(v1,v2,...). El contenido de control va entre comillas dobles (contenido).
Ej. printf(La edad de %s es %d aos , nombre, edad);
Formatos de las variables. Variables.

Formatos de Programas en C
Tabla de formatos y secuencias de escape
Conversin para printf/scanf %c %d %f %s %o %x %% Se imprime/lee como Carcter Entero Punto flotante Cadena Octal Hexadecimal Carcter %

Secuencia de escape

Efecto Seal sonora retroceso Nueva pgina Nueva lnea Tabulacin horizontal

\a \b \f \n \t

Formatos de Programas en C
Entrada
scanf(formato,v1,v2...) : Leer desde el dispositivo de entrada estndar (teclado), y almacenarlo en las respectivas variables.
Lista de variables.

formato especificar el tipo de datos que sern capturados para las variables v1 y v2. El contenido del formato va entre comillas dobles (..). e.j.: scanf(%d, &edad); scanf(%c, &caracter); scanf(%s, cadena); si el tipo de datos es texto o cadena no lleva & antes del nombre de la variable. Esto ser explicado al trabajar con punteros.

Formatos de Programas en C
Estructuras de Control
Estructuras de Control. Controlan el flujo de ejecucin de un programa o funcin. Permiten combinar instrucciones o sentencias en una unidad lgica con un punto de entrada y un punto de salida. Una sentencia compuesta es un conjunto de sentencias encerradas entre llaves {}, utilizado para esquematizar un flujo secuencial. Tipos de Estructura: Secuencia. Seleccin (decisin). Repeticin (bucles, ciclos).

Formatos de Programas en C
Estructuras de Control
Estructuras de Control Simples Sentencia if para la seleccin.

if simple
no

if..else (de dos alternativas)

se cumple la condicion?

se cumple la condicin? no

si

Instrucciones

si

Instruccin (es)

Instrucciones

if (condicin/expresin) { instruccion(es) };

if (condicin/expresin) { instruccion(es) ; } else { instruccion(es) ; }

Formatos de Programas en C
Estructuras de Control
Estructuras de Control Sentencia if anidada.
if (expresion booleana) if (expresion booleana) if (expresion booleana) { instruccion(es) } else { instruccion(es) } else { instruccion(es) } else { instruccion(es) ; }

Se cumple la condicin?

si

no Se cumple la condicin? no

si

si Se cumple la condicin? no

Instrucciones

Instrucciones

Instrucciones

Instrucciones

Formatos de Programas en C
Estructuras de Control
Estructuras de Control Mltiple Sentencia switch.

Selector ?

etiqueta1 :
Instruccin (es) break;

etiqueta2 :
Instruccin (es) break;

etiqueta3 : .......
Instruccin (es) break;

default :
Instruccin (es)

Formatos de Programas en C
Estructuras de Control
#include <stdio.h> #include <stdlib.h> /* Uso de la funcion switch Leer un carcter (+ - * /) y dos nmeros enteros. Si el carcter ledo es un operador aritmtico calcular la operacin correspondiente, si es cualquier otro mostrar error. */ void main() { char c, se='s'; int a,b; do { fflush (stdin); printf("Digite Operacion: + - * / \n"); c=getchar(); printf("dame dos numeros Ej. 3,8 \n"); scanf("%d, %d",&a,&b);
switch (c) { case '+': printf("resultado %d",a+b); break; case '-': printf("resultado %d",a-b); break; case '*': printf("resultado %d",a*b); break; case '/': printf("resultado %d",a/b); break; default: printf("error"); } fflush (stdin); printf("\n Desea Continuar \n"); scanf("%c",&se); }while (toupper(se)=='S'); system("pause"); }

Formatos de Programas en C
Estructuras de Control
/* Leer un carcter y dos nmeros enteros. Si el carcter ledo es un operador aritmtico calcular la operacin correspondiente, si es cualquier otro mostrar error. Hacer el programa utilizando la instruccin switch() */
#include <stdio.h> void main() { char c; int a,b; printf("Digite la Operacion(+ - * /) \n"); c=getchar(); fflush (stdin); printf("Digite dos numeros Ej 5 8\n"); scanf("%d %d",&a,&b); switch (c) { case '+': printf("%d + %d es = a %d",a,b,a+b); break; case '-': printf("%d + %d es = a %d",a,b,a-b); break; case '*': printf("%d + %d es = a %d",a,b,a*b); break; case '/': printf("%d + %d es = a %d",a,b,a/b); break; default: printf("error"); }

printf("\n\n"); system("PAUSE"); return 0;


}

Formatos de Programas en C
Estructuras de Control
Estructuras de Control de Repeticin Sentencia for.

for
Variable Control = Valor inicial
La condicin es ? verdadero falso

expresion de incremente/decremento Instruccin(es)

Ej. Imprimir la tabla del 2. main() { int num; printf(tabla del 2 \n); for(num=1;num<=10;num++) printf(%2d x %2d = %2d,2,num,num*2); }

for(variable=vi; <condicin>;variacin)

Formatos de Programas en C
Estructuras de Control
Estructuras de Control de Repeticin Sentencia while.

Se cumple la condicin?

Instruccin(es)
verdadero

Ej. Imprimir la tabla del 2.

falso

main() { int num; printf(tabla del 2 \n); num=1; while (num<=10) { printf(%2d x %2d = %2d,2,num,num*2); num++; } }

while <condicin> { instrucciones; }

Formatos de Programas en C
Estructuras de Control
Estructuras de Control de Repeticin Sentencia do-while.
verdadero

Instruccin(es)

Se cumple la condicin? falso

Ej. Pedir un nmero positivo


main() { int num; do{ printf(Digite un n%cmero positivo: ); scanf(%d, &num); }while (num<=0); }

do {

instrucciones; }while <condicin>;

Formatos de Programas en C
Estructuras de Control
Uso del break. Cuando se encuentra la sentencia break en un ciclo, el programa termina el ciclo y el control del programa pasa a la siguiente sentencia del ciclo. Por Ejemplo: int t; for(t=0; t<100; t++) { printf("%d ", t); if (t==10) break; }

Formatos de Programas en C
Estructuras de Control
Uso del continue. La sentencia continue funciona igual a la sentencia break, pero forzando a la siguiente iteracin, por lo que salta las instrucciones que restan para llegar a probar la condicin. Por ejemplo, el siguiente programa visualizar slo los nmeros pares: for( x=0; x<100; x++) { if (x%2) continue; printf("%d ",x); }

Formatos de Programas en C
Funciones
Funcin Es un segmento del programa que realiza determinadas tareas. Siempre regresa cero o un valor nico. Una funcin puede recibir cero o ms valores de entrada, los cuales reciben el nombre de argumentos o parmetros.

Valores Introducidos

FUNCIN

Valor Regresado

Formatos de Programas en C
Funciones
Una funcin puede ser llamada desde cualquier parte de un programa.

Cuando esto sucede, el programa se detiene y pasa el control a la funcin, la cual al completarse su ejecucin retorna a la instruccin de donde fue invocada (su punto de referencia) y el programa retoma el control.

Formatos de Programas en C
Funciones
Elementos

int maximo(int a, int b, int c) { int m; m=a; if (b > m) m=b; if (c > m) m=c; return m;

Encabezado Tipo de dato que retorna Nombre de la funcin Lista de parmetros

Cuerpo. Declaracin de variables locales. Clculos. Instruccin de retorno.

Formatos de Programas en C
Funciones
Asociacin de Parmetros

max = maximo(int val1, int val2, int val3)


int maximo(int a, int b, int c) en la funcin

en el programa

Prototipo de una Funcin Es cuando declaramos una funcin. Contiene el tipo de dato de retorno, el nombre de la funcin y la lista de parmetros encerrados entre parntesis y terminando con un punto y coma (;).

Formatos de Programas en C
Funciones
Pase de Parmetros

Por Valor: La funcin reciba una copia de los valores de los parmetros. Si se cambia el valor dentro de la funcin, este cambio slo afecta el mbito de la funcin.
Por Referencia: La funcin puede modificar los valores de los parmetros. Aqu se pasa la direccin de memoria del valor del parmetro a la funcin.

Formatos de Programas en C
Funciones
Pase de Parmetros

Por Valor:
int main() { int i = 6; func(i); return 0; }

6 void func( int i) { printf(%d,i) i++; }

Formatos de Programas en C
Funciones
#include <stdio.h> #include <math.h> void pvalor(float,float); void preferencia(float *,float *); int main() { float a,b; a = 5.0, b=1.0e2; printf("\n Valores Iniciales: \n "); printf("\n a = %.1f \t b = %.1f \n", a, b); pvalor(a, b); printf("\n Valores luego del pase por valor: \n "); printf("\n a = %.1f \t b = %.1f ",a,b); preferencia(&a, &b); printf("\n\n Valores luego del pase por referencia: \n "); printf("\n a = %.1f \t b = %.1f \n \n ",a,b); system("PAUSE"); return 0; } void pvalor(float x,float y) { x= x*x; y= y*y; } void preferencia(float *x,float *y) { *x= (*x) * (*x); *y= (*y) * (*y); }

También podría gustarte