Estructuras selectivas
Condicional simple Diagrama de flujo Seudocódigo Código fuente en C
condición if (condición)
Si condición entonces {
V instrucciones V instrucciones V;
F Fin-Si }
instrucciones V
if (condición)
condición Si condición entonces {
Condicional doble
instrucciones V instrucciones V;
V F Si no }
instrucciones F else
instrucciones V instrucciones F Fin-Si {
instrucciones F;
}
Seleccionar variable entonces switch(variable)
Caso 1: {
variable instrucciones 1 case 1:
Caso 2: instrucciones 1;
instrucciones 2 break;
Selector multiple
Caso 3: case 2:
instrucciones 3 instrucciones 2;
1 2 3 Otro break;
case 3:
instrucciones 1 instrucciones 2 instrucciones 3 instrucciones otro
Caso otro: instrucciones 3;
instrucciones otro break;
Fin-Seleccionar
default:
instrucciones otro;
}
Estructuras repetitivas
Diagrama de flujo Seudocódigo Código fuente en C
while (condición)
Mientras condición Hacer {
condición instrucciones V Instrucciones V;
Mientras
Fin-Mientras }
V
F
instrucciones V
do
Hacer {
Instrucciones V Instrucciones V;
Hacer Mientras
instrucciones V
Mientras condición }while (condición);
condición
V F
inicio
inicio, condición, inc/dec
V
Desde inicio Mientras condición, Inc/Dec for(inicio;condicion;Inc/Dec)
Desde Mientras
condición
instrucciones V F Instrucciones V {
Fin-Desde Instrucciones V;
V
}
instrucciones V
F
inc / dec
1
Funciones
Funciones
Algoritmo
Nombre de la función:
Tipo del dato de regreso: tipo_del_dato_de_regreso nombre_de_la_función (lista de parámetros)
Lista de parámetros:
Inicio Inicio
Pseudocódigo
Instrucciones de la función Instrucciones de la función
Regreso valor Regreso valor
Fin Fin
Nombre de la función:
Tipo del dato de regreso:
Lista de parámetros:
tipo_del_dato_de_regreso nombre_de_la_función (lista de parámetros)
Inicio
Diagrama de flujo
Instrucciones de la función
Instrucciones de la función
Regreso valor Regreso valor
Fin Fin
Código fuente en C
tipo_del_dato_de_regreso nombre_de_la_función (lista de parámetros)
{
Instrucciones de la función;
return valor;
}
Tipo del dato de regreso: Es el tipo de dato que regresa la función, la función que no regresa ningún valor (sin valor) son de tipo void.
Nombre de la función: Es un identificador con el que se nombra a la función.
Lista de parámetros: Son los insumos o valores que requiere la función para realizar su tarea. El nombre de cada argumento debe estar precedido por
su tipo y separados por comas.
return: Es la instrucción que indica el valor a regresar por la función, puede ser el resultado de la evaluación de una expresión o el valor de una variable
local. Las funciones que son de tipo void no llevan esta instrucción.
Consideraciones generales sobre la representación algorítmica
1. El operador de asignación es la flecha de derecha a izquierda ← que asigna a una variable el valor o resultado de la expresión a la derecha de la
flecha.
2. El paréntesis se utiliza para encerrar los argumentos de una función.
3. Los operadores de asociatividad en una expresión algebraica son los paréntesis (), corchetes[ ] y/o llaves{}.
4. Los corchetes se utilizan para señalar el tamaño de arreglo.
5. La posición en un arreglo se indica mediante subíndices al nombre del arreglo.
2
Tipos de datos
Tipo de dato Sintaxis en C Especificadores de formato
Entero int %d %i
Carácter char %c
float %f %g %e
Precisión 6 decimales Mínimo de decimales Notación científica
Decimal
double %lf %lg %le
Precisión 6 decimales Mínimo de decimales Notación científica
Sin valor void -
Cadena char * %s
Operadores asignación, aritméticos, relacionales y lógicos
Operadores
Asignación Aritméticos Relacionales Lógicos
Operación Operador Operación Operador Operación Operador Operación Operador
Asignación = Incremento ++ Igual == Conjunción (Y) &&
Multiplica y asigna *= Decremento -- Diferente != Disyunción (O) ||
Divide y asigna /= Multiplicación * Mayor que > Negación (NO) !
Residuo y asigna %= División / Menor que <
Suma y asigna += Residuo (modulo) % Mayor o igual que >=
Resta y asigna -= Suma + Menor o igual que <=
Resta -
Funciones matemáticas (biblioteca math.h)
Funciones
Trigonométricas Inversas de las trigonométricas Logarítmicas Potencias Otras
sin(x) asin(x) log(x) exp(x) fmod(x,y)
Obtiene el seno de x Obtiene el arco seno de x Obtiene el logaritmo natural de x Eleva e (2.71828…) a la potencia x Obtiene el resto de x entre y
cos(x) acos(x) log10(x) pow(x,y) fabs(x)
Obtiene el coseno de x Obtiene el arco coseno de x Obtiene el logaritmo en base 10 de x Obtiene la potencia xy, x>0, y≥0, Obtiene el valor absoluto de x
tan(x) atan(x) sqrt(x)
Obtiene la tangente de Obtiene el arco tangente de x Obtiene la raíz cuadrada de x, x≥0
x
Funciones sobre caracteres (biblioteca ctype.h) Funciones sobre cadenas (biblioteca string.h)
Funciones Funciones
isalnum(caracter) strcat(cadena_destino, cadena_fuente)
Devuelve un valor distinto de cero si el carácter es alfanumérico y cero en caso contrario. Añade la cadena_fuente al final de la cadena_destino.
isalpha(caracter)
Devuelve un valor distinto de cero si el carácter es alfabético y cero en caso contrario. strlen(cadena)
Devuelve la longitud de la cadena.
isdigit(caracter)
Devuelve un valor distinto de cero si el carácter es cualquiera de los dígitos decimales (0-9) strcpy(cadena_destino, cadena_fuente)
y cero en caso contrario. Copia la cadena_fuente a la cadena_destino.
isprint(caracter)
Devuelve un valor distinto de cero si el carácter es cualquier carácter imprimible,
strncpy(cadena_destino, cadena_fuente, n)
incluyendo el "espacio" y cero en caso contrario. Copia n caracteres de la cadena_fuente en la cadena_destino.
islower(caracter) strcmp(cadena_1, cadena_2)
Devuelve un valor distinto de cero si el carácter es una de las letras minúsculas "a-z" y cero Compara alfabéticamente la cadena_1 con la cadena_2 y devuelve:
en caso contrario. 0 (cero) si cadena_1=cadena_2
isupper(caracter) numero negativo si cadena_1<cadena_2
Devuelve un valor distinto de cero si el carácter es una de las letras mayúsculas "A-Z" y numero positivo si cadena_1>cadena_2
cero en caso contrario.
strncmp(cadena_1, cadena_2, n)
tolower(caracter) Compara alfabéticamente los primeros n caracteres de la cadena_1
Devuelve la correspondiente letra minúscula del carácter si existe; en caso contrario, con la cadena_2 y devuelve:
devuelve el carácter. 0 (cero) si cadena_1=cadena_2
toupper(caracter) numero negativo si cadena_1<cadena_2
Devuelve la correspondiente letra mayúscula del carácter si existe; en caso contrario, numero positivo si cadena_1>cadena_2
devuelve carácter.
strrev(cadena)
Invierte el orden de los caracteres de la cadena
strlwr(cadena)
Convierte los caracteres de la cadena a minúsculas
strupr(cadena)
Convierte los caracteres de la cadena a mayúsculas
strchr(cadena,caracter)
Busca el carácter en la cadena, regresa un apuntador a la primera ocurrencia del carácter
en cadena, o NULL si no está presente.
3
Funciones de entrada y salida (biblioteca stdio.h)
Función
printf(“cadena de control”, dato1, dato2, …, datoN)
Devuelve el número de caracteres que se muestran en pantalla y un número negativo si se produce un error, además de
imprimir el mensaje escrito en la cadena de control y los especificadores de formato que indican la forma como se
mostraran los datos.
scanf(“cadena de control”, &variable1, &variable2, …, &variableN)
Realiza la asignación a las variables de los valores ingresados a través del teclado y devuelve el número de variables a los
que se asigno su valor con éxito. El nombre de las variables debe estar precedido por el símbolo amperson (&) y separadas
por comas; la cadena de control está integrada por la forma como se leerán los datos entrada y los especificadores de
formato de las variables.
puts(cadena)
Imprime en pantalla la cadena y salta de línea.
gets(cadena)
Lee desde el teclado una línea de caracteres y la guarda en cadena.
putchar(caracter)
Imprime en pantalla el carácter y salta de línea.
caracter=getchar()
Lee desde el teclado un carácter y lo guarda en carácter.
Variables
Sintaxis:
tipo nombre_de_la_variable; // declaración de una variable
tipo nombre_de_la_variable=valor; //declaración de una variable asignándole un valor inicial.
tipo nombre_de_la_varible1, nombre_de_la_variable2, …, nombre_de_la_variableN; //declaración de N variables
Constantes
Sintaxis:
#define nombre_de_la_constante valor // declaración de una constante como una macro
Arreglos unidimensionales (vectores)
Sintaxis:
tipo nombre_del_arreglo [tamaño];
Arreglos bidimensionales (matrices)
Sintaxis:
tipo nombre_del_arreglo [numero_de_filas][numero_de_columnas];