Programación en C, segunda clase

Anuncio
Programación en C,
segunda clase
Ciclos while y do ... while
• Los dos ciclos repiten un fragmento del
programa hasta que sucede alguna
condición. La diferencia entre los dos es el
momento de calcular la condición
• while (condición) { .... }
• do { .... } while (condición);
• Los dos ciclos repiten los operadores que
están dentro de los corchetes mientras la
condición es verdadera.
Ejemplos
i=0;
while (i < 10) {
printf(“%3d\n”,i);
i++;
}
Ejemplos
i=0;
do {
printf(“%3d\n”,i);
i++;
} while (i < 10);
Ejemplos
i=0;
while (++i < 10) {
printf(“%3d\n”,i);
}
Deciciones
• if (condición) {operadores}; se ejecuta
si la condición es valida o la expresión
entre las paréntesis es diferente a 0
else { operadores}; se ejecuta si la
condición no es valida o la expresión
es 0
Deciciones
• a = (condición) ? valor1 : valor2;
A la variable a se le asigna el valor1 si la
condición es verdadera o valor2 si no
lo es.
Ejemplos
i=0;
while (++i < 10) {
if (i <= 5) printf(“ i = %3d es menor que 5\n”,i);
else printf(“ i = %3d es mayor que 5\n”,i);
}
#include <stdio.h>
int main(void)
{
int c,n;
n = 0;
while ((c = getchar()) != EOF) {
if (c == '\n') n ++;
}
printf("Number of lines = %3d\n",n);
}
#include <stdio.h>
int main(void)
{
int c,n;
n = 0;
while ((c = getchar()) != EOF) {
printf(“%d %c\n”,c,c);
}
printf("Number of lines = %3d\n",n);
}
Seleción entre varias
posibilidades
• switch (variable) {
case valor1: operadores;
case valor2: operadores; break;
case valor3: operadores; break;
...
default: operadores
}
#include <stdio.h>
int main(void)
{
int c,n,nnum, nmm, nspaces, nothers;
n = nnum = nmm = nspaces = nothers = 0;
while ((c = getchar()) != EOF) {
if (c == '\n') n ++;
if (( c > '0') && (c <= '9')) nnum++;
else {
switch (c) {
case ' ' : nspaces++; break;
case '+' :
case '-' : nmm ++; break;
default : nothers++;
}
}
}
printf("Number of lines = %3d\n",n);
printf("Number of digits = %3d\n",nnum);
printf("Number of spaces = %3d\n",nspaces);
printf("Number of + and - = %3d\n",nmm);
printf("Number of others = %3d\n",nothers);
}
Arreglos
• Vectores
int a[10];
• Matrices
int a[10][10];
• El tamaño de los arreglos debe ser bien
definido antes de usarlos
• Arreglos de símbolos (strings).
char a[11];
tiene espacio para 10 símbolos más el
símbolo \0 al final
Ejercicio
• Escribir un programa que lee símbolos del
teclado y los guarda en un arreglo
agregando el símbolo \0 al final cuando el
usuario teclea <enter>. Una vez que se
teclea <enter> el programa imprime el
arreglo y el numero de símbolos tecleados.
El programa debe checar que el usuario no
teclea mas símbolos que el arreglo puede
guardar. Si se teclean mas símbolos el
programa debe dar aviso y terminar.
Tarea
• Escribir un programa que dibuja la
histograma de ocurrencia de símbolos
en un texto tecleado
Descargar