57
Lenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa de computador es una secuencia de estas instrucciones

Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Embed Size (px)

Citation preview

Page 1: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Lenguajes de programación

Un computador solo entiende lenguaje binario

Un procesador tiene un conjunto finito de operaciones binarias

Un programa de computador es una secuencia de estas instrucciones

Page 2: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Etapas en la construcción de un programa

¿Problema? Resolución

Codificación y

Edición

Prueba Compilación

Sin

errores

¡A usar el

programa!

Con errores

Sin errores

Errores de sintaxis

Archivo fuente

Archivo objeto

Archivo

ejecutable

Page 3: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Lenguajes de programación

compilador

Código fuente

if(x>0)

Y=10;

Código Objeto 0011001

Sintaxis

gramática

Código Ejecutable 0011001

linker

Page 4: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Lenguajes de programación

• Proceso de creación de un programa

– Generación de código fuente

– Compilación • Se analiza la sintaxis del programa

• Se analiza la gramática del programa

• Se genera código objeto

– Enlace • Se combina el código objeto con bibliotecas del sistema

• Se genera programa ejecutable

– Ejecución

Page 5: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Lenguajes de programación

Código fuente

Código objeto

Código ejecutable

bibliotecas

Compilación

Ejecución

Enlace

Page 6: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Estructura general de un programa C

Todo programa C

Está formado por un conjunto de funciones

En particular, una función que no puede faltar es la función main (programa principal).

Llama a otras funciones:

Definidas por nosotros en el programa

Predefinidas, en bibliotecas.

Page 7: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Programa en C

Declaraciones previas (opcional)

instrucciones

Inicio

Fin

Page 8: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Las funciones en C 1. Funciones pre-definidas agrupadas en

bibliotecas – Ejemplos:

• #include <string.h >

• Incluye funciones de Manejo de strings

• #include <stdio.h >

• Incluye funciones de I/O

• #include <math.h >

• Incluye funciones matematicas • …

2. Funciones definidas por el usuario

Page 9: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

IWI-131 - Tema 2

Declaraciones previas

Código fuente

Código objeto bibliotecas

Compilación

Enlace

Cabeceras de bibliotecas

Pre procesamiento

Código fuente procesado

Page 10: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Definición de una función en C

Page 11: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Funcion main

#include<stdio.h>

int main(){

int a, b, c = 0;

printf(“Digite el primer numero: ”);

scanf(“%d”,&a);

printf(“Digite el segundo numero: ”);

scanf(“%d”,&b);

c = a + b;

printf(“El resultado de la suma es: %d\n”,c);

return 0;

}

Librerías (uso de directivas del preprocesador)

Declaración de variables (las variables son locales en este caso).

Instrucciones (Expresiones aritméticas y lógicas, condicionales (IF), ciclos (while, do… while, for).

Programa principal

ANATOMIA DE UN PROGRAMA EN C

Page 12: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Primer programa en C

/* Mi primer programa C */

#include <stdio.h>

#include <stdlib.h>

int main()

{

printf(“Hola mundo!\n”);

system("pause");

return 0;

}

Page 13: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Definición de una función en C

Valor retornado en el cuerpo de la función

• Se usa sentencia return para devolver valor del tipo de retorno de la función.

• Puede no devolver nada (la función retorna tipo void).

– return;

– Sin sentencia return, retorna cuando encuentra }

Page 14: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Definición de una función en C

Tipo del Valor de Retorno • Cuando la función no retorna nada se coloca void

void imprimeNumerosDesdeHasta(int x, int y){

for (int i = x; i <= y; i++)

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

}

• Si retorna valor se coloca return

int potencia(int n, int m){

int i, p;

p = 1;

for (i = 1; i <= m; i++) p = p * n;

return p;

}

Page 15: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Definición de una función en C Lista de parámetros formales

(opcionales)

• Si la función no tiene parámetros formales se coloca void

int flip(void){

/* genera un número ramdom */

int valor;

return valor;

}

Page 16: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

/* Función que eleva la base n a la

potencia m (m >= 0)*/

int potencia(int n, int m)

{

int i, p;

p = 1;

for (i = 0; i < m; i++)

p = p * n;

return p;

}

Page 17: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Instrucciones

• Las instrucciones se escriben en el cuerpo del programa.

• Pueden ser

– Declaraciones de variables

– Asignaciones

– Estructuras de control

– Llamadas a funciones

• Por lo general, terminan con un punto y coma (“;”)

Page 18: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Primer programa C

/* Mi primer programa C */

#include <stdio.h>

#include <stdlib.h>

Int main()

{

printf(“Hola mundo!\n”);

system("pause");

}

Page 19: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Principales Secuencias de Escape en C Secuencia de

escape Descripción

\a Carácter de alarma (campana del sistema).

\n New line (Nueva línea). Posiciona el cursor de la pantalla al comienzo

de la próxima línea.

\r Carriage return (Retroceso de carro). Posiciona el cursor al comienzo

de la línea corriente sin avanzar a la próxima.

\t Tabulador horizontal. Mueve el cursor hasta la próxima marca de

tabulación.

\\ Backslash. Usado para imprimir el carácter backslash.

\” Comilla. Usado para imprimir la comilla.

\‟ Apóstrofo. Usado para imprimir el apóstrofo.

\? Signo de interrogación. Usado para imprimir el signo de interrogación.

Page 20: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Constantes y Variables • Constantes o literales

– Ejemplos en C: 12, ‘a’, “hola”, 23.5

• Variables

– Nombre (Identificador)

• En C, letras, números y el carácter de subrayado (_), no pueden comenzar con un número.

• Cualquier longitud, reconoce hasta 31 caracteres.

• Case sensitive.

• No acepta palabras claves.

Page 21: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Bit, Byte, Word

Definición: Unidades usadas para describir unidades de datos o memoria en el computador

Bit: Unidad mas pequeña de memoria usada para mantener uno de dos posibles valores, ‘1’ o ‘0’.

Byte: Unidad de memoria equivalente a 8 bits.

1

0

10010010

Page 22: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

SISTEMAS NUMERICOS

BASE 16 BASE 10 BASE 8 BASE 2

0 0 0 0000

1 1 1 0001

2 2 2 0010

3 3 3 0011

4 4 4 0100

5 5 5 0101

6 6 6 0110

7 7 7 0111

8 8 10 1000

9 9 11 1001

A 10 12 1010

B 11 13 1011

C 12 14 1100

D 13 15 1101

E 14 16 1110

F 15 17 1111

Relación entre las bases mas comunes

Realizar algunos ejercicios de conversión de bases

BASE 16 BASE 10 BASE 8 BASE 2

? 234 ? ?

? ? 417 ?

? ? ? 11100101

4AF ? ? ?

Page 23: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Tipos de datos

• void

– 0 bytes.

Page 24: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Tipos de datos numéricos

• int

– Tipo de dato entero

– Valores positivos y negativos

– Se almacena en 2 o 4 bytes

• int (16 bits): -32.768 a 32.768

• long int (32 bits): -2.147.483.648 a 2.147.483.648

• unsigned int (32 bits): 0 a 4.294.967.296 – Se puede abreviar como “unsigned”

Page 25: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Modificadores

• Para modificar el tamaño de almacenamiento se utilizan tipos de datos modificados

• Modificadores – signed: reserva un bit para el signo

– unsigned: define solo valores positivos

– long: utiliza el mayor tamaño disponible

– short: utiliza el menor tamaño disponible

Page 26: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Tipos de datos numéricos

• float – Tipo de dato real

– Precisión simple

– Valores positivos y negativos

– Se almacena en 4 bytes • 37 dígitos para parte entera

• 6 dígitos para parte decimal

• Rango: [3.4e-38 , 3.4e38]

– No acepta modificadores

Page 27: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Tipos de datos numéricos

• double

– Tipo de dato real

– Precisión doble

– Valores positivos y negativos

– Se almacena en 8 bytes

• 37 dígitos para parte entera

• 10 dígitos para parte decimal

• Rango: [1.7e-308 , 1.7e308]

– long double (10 bytes)

Page 28: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Tipos de datos numéricos

int main(){

int a = -10;

unsigned int b = 10;

float c = 10.1;

double d = 0.000000001;

}

Page 29: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Tipos de datos alfabéticos

• char – Almacena cualquier carácter

– Ocupa un byte • Permite diferenciar 256 caracteres.

• signed char: -127 a 127

• unsigned char: 0 a 256

– El valor almacenado es el código ASCII que representa el carácter • Ej: @ = 64 , \ = 92 , A = 65

Page 30: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

TIPOS DE DATOS • Cuando declaro una variable la elección del tipo de dato depende del propósito para el cual voy a usar la variable.

Tipo Ejemplo Tamaño en bytes Rango (minimo-maximo)

char ´c´ 1 0,…,255

int 1024 2 (o 4, depende de la arquitectura)

-32768,…,32767 (si el tamaño en bytes es 2)

float 10.5 4 3.4E-38 ,….,3.4E38

double 1e-8 8 1.7E-308,…,1.7E308

tipo nom_var1 = valor_inicial, nom_varN;

Page 31: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Cast

• Se puede forzar al compilador para hacer una conversión de tipos.

• Se vera su utilidad al estudiar los operadores. void main(){

double d1=4.7, d2=2.4;

int i = ((int)d1)/((int)d2);

printf("%d\n", i);

}

Page 32: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Entrada/Salida

– Entrada estándar: teclado

• getchar: lee un caracter

• scanf: lee entradas con formato

– Salida estándar: pantalla

• printf: imprime datos con formato

• Existen otras formas …

32

Page 33: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Salida formateada con printf • Cada especificador de conversión:

– Empieza con %

– Termina con un carácter de conversión.

33

Page 34: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

IMPRIMIENDO VARIABLES EN PANTALLA - ASPECTOS BASICOS

Para imprimir variables en pantalla usando la función printf, cada tipo de dato tiene su especificador de control, la siguiente tabla muestra los especificadores basicos

Especificador Significado

%d Usado para imprimir un valor entero en decimal

%o Usado para imprimir datos enteros en notación octal

%x (%X) Usado para imprimir variables enteras en notación hexadecimal

%f Permite imprimir variables reales

%u Permite imprimir valores enteros sin signo

%ld Permite imprimir variables tipo long

%lo Imprime variables tipo long en formato octal

%lx Imprime variables tipo long en formato hexadecimal

Page 35: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

IMPRIMIENDO VARIABLES EN PANTALLA - ASPECTOS BASICOS

Especificador Significado

%h Permite imprimir variables tipo short

%hd Imprime variables tipo short en formato decimal

%hx Imprime variables tipo short en formato decimal

%lu Imprime variables tipo unsigned long

%lld Permite imprimir variables tipo long

%llu Permite imprimir variables tipo long sin signo

%c Usado para imprimir caracteres sencillos

%s Usado para imprimir cadenas de caracteres

Page 36: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Salida de datos #include <stdio.h>

#include<stdlib.h>

int main(){

char c='A';

int i=126;

double d=12.0346;

printf("La letra %c es el numero %d\n", c,c);

printf("El numero decimal %d es el %x en hexadecimal \n",i,i);

printf("El numero %f se redondea a %010.3f \n",d,d);

printf("Inserte aqui su mensaje: < %s > \n","este es mi mensaje");

system("pause"); return (0);

}

La letra A es el numero 65 El numero decimal 126 es el 7e en hexadecimal El numero 12.034600 se redondea a 000012.035 Inserte aqui su mensaje: < este es mi mensaje >

Page 37: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Ingreso de datos

#include <stdio.h>

#include<stdlib.h>

int main()

{

int entero,entero1,entero2 ;

char c;

scanf (“%d”, &entero); /* lee un entero */

scanf (“%d, %d”, &entero1, &entero2); /* ha leido dos enteros*/

scanf (“%d %c \n”, &ent3, &c );

/* lee un entero, ent3, y un carácter, c, */

…..

}

Page 38: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Suma=0

Ingrese a y b

a,b

Suma=a +b

a,b,Suma

#include <stdio.h> #include<stdlib.h> int main() { int a,b,Suma=0 ; printf(“ ingrese a y b\n”); scanf(“%d%d",&a,&b); Suma= a +b; printf(“La suma de %d + %d es = a %d\n“,a,b,Suma); system("pause"); return (0); }

Page 39: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa
Page 40: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Operadores y expresiones aritméticas en C Operador

aritmetico

en C

Operadores

relacionales

en C

+ ==

!=

- <=

* >=

/ >

% <

Page 41: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Operadores y expresiones lógicas en C

• No hay tipo booleano o lógico

– 0 representa falso

– 1 representa verdadero

• 1 == 1 1 (verdadero)

• 10 <= 5 0 (falso)

Page 42: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Operadores y Expresiones Lógicas en C Operador

lógico

Operador

lógico en

C

Ejemplo de uso Significado

and && i != 0 && j > 1

i distinto de 0 y j mayor

que 1

or || c == „a‟ || n == 0

c igual al carácter „a‟ o n

igual a 0

not

! !encontrado

la variable encontrado

no es verdadera

(encontrado igual 0)

Orden de evaluación: 0 && _ 0

1 || _ 1

Page 43: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Operadores de asignación aritméticos

Operador

de

asignación

aritmético

Ejemplo Versión

descomprimida

Resultado asignado a

variable a asumiendo

la declaración

int a = 3;

+= a+=4 a = a + 4 7

-= a-=4 a = a - 4 -1

*= a*=4 a = a * 4 12

/= a/=4 a = a / 4 0

Page 44: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Operadores de incremento y decremento en C

Operador Explicación Ejemplo de uso Efecto

a++

Devuelve el valor de a

y luego lo incrementa

en 1.

i = a++;

Asigna el valor de a a la variable i y luego

incrementa a en 1. Es equivalente a

i = a; a = a + 1;

++a Incrementa el valor de a en 1 y devuelve ese

valor.

i = ++a; Incrementa en 1 la variable a y ese valor lo

asigna a la variable i. Es equivalente a

a = a + 1; i = a;

a--

Devuelve el valor de a

y luego lo decrementa

en 1.

printf(“%d”, a--);

Imprime el valor de a y luego decrementa

en 1 su valor. Es equivalente a

printf(“%d”, a); a = a - 1;

--a Decrementa el valor de a en 1 y devuelve ese

valor.

printf(“%d”, --a); Decrementa en 1 la variable a y luego

muestra su valor por pantalla. Equivalente a

a = a – 1; printf(“%d”, a);

Page 45: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Conversiones Implícitas de Tipos en C

int i = 5;

float f = 3.0;

float y;

f = i;

y = f + i;

Page 46: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Conversiones Explícitas de Tipos en C Operador cast

• Forma general: (nombre-de-tipo) expresión • Ejemplos:

float resultado;

int i = 9;

int j = 5;

resultado = i / j;

resultado = (float)i / j;

resultado = i / (float)j;

resultado = (float)(i / j);

resultado = (float)i / (float) j;

Page 47: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Programación Estructurada

• Metodología de programación

• C. Böhm y G. Jacopini, 1966

• Edsger W. Dijkstra, 1968

• Estructuras de Control

– Secuencia

– Selección

– Iteración

Page 48: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Secuencia en C • ; es un finalizador de sentencia:

– y = 4 y j++ y scanf(…) son expresiones en C

– y = 4; j++; scanf(…); son sentencias en C

• { } para crear sentencias compuestas o bloques:

– Agrupan declaraciones y sentencias.

– Ejemplo: llaves en declaración de función main.

Page 49: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Selección • Selección de rama vacía o simple

if (cond)

sentencia;

• Ejemplos:

if (a==1 && b) if (a==1 && b){

a++; a++;

b+=5;

}

Page 50: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Selección • Selección de dos ramas

if (cond)

sentencia;

else

sentencia;

• Si hay if anidados ambiguos, asocia else al if mas interno:

if (a==1 && b) if (a==1 && b){

if (b < 0) if (b < 0)

b = 0; b = 0;

else }

a++; else

a++;

Page 51: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Selección • Selección múltiple en C

switch (expresión) {

case constanteEntera1: sentencias;

case constanteEntera1 : sentencias;

case constanteEntera1 : sentencias;

default: sentencias;

}

• Ejemplo 1: switch (i) {

case 1: printf(“uno\n”);

case 2: printf(“dos\n”);

case 3: printf(“tres\n”);

}

Page 52: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Selección • Ejemplo 2: switch (i) {

case 1: printf(“uno\n”); break;

case 2: printf(“dos\n”); break;

case 3: printf(“tres\n”); break;

default: printf(“distinto de 1, 2 y 3\n”);

}

• Ejemplo 3: switch (ch) {

case „,‟:

case „;‟:

case „.‟: printf(“signo de puntuacion\n”); break;

default: printf(“no es un signo de puntuacion\n”);

}

Page 53: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Iteración

• while

• do/while

• for

Page 54: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Iteración while while (expresión)

sentencia;

Ejemplo:

int i = 0;

while (i < 10) {

printf(“i = %d”, i);

i++;

}

Page 55: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Iteración for for (expresión1; expresión2; expresión3)

sentencia;

Ejemplos:

int suma = 0;

for (i = 0; i <= n; i++)

suma = suma + i;

int suma;

for (i=0, suma=0; i <= n; i++, suma+= i);

Page 56: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa

Iteración do/while do

sentencia;

while (expresión);

Ejemplo: do {

printf(“Ingrese un numero natural”

“mayor o igual a cero: ”);

scanf(“%d”, &n);

} while (n < 0);

Page 57: Lenguajes de programación · PDF fileLenguajes de programación Un computador solo entiende lenguaje binario Un procesador tiene un conjunto finito de operaciones binarias Un programa