Este artículo profundiza en algo tan importante como son los algoritmos, específicamente en cómo saber si un número es par o impar. Aunque eso sí, utilizando herramientas de software libre.
Descripción del Algoritmo
En primer lugar, el problema con el que nos encontramos es que necesitamos saber si un determinado número es par o impar. ¿Cuándo es par un número? La respuesta es simple: cuando es divisible por 2 y el resto es cero.
A partir de lo anterior ya sabemos la solución. Hay que implementarla. Es importante destacar que los códigos fuente para esta operación trabajan con números enteros. Si se introduce un número real como 0.21, podría no ser interpretado correctamente en el contexto de la paridad para enteros.
Como resultado, vemos que obtener el resultado del módulo entre el número a probar y dos, es la parte más importante. Diferentes lenguajes pueden aplicar el mismo algoritmo; se trata de comprobar si, efectivamente, tras dividir por dos el número indicado, este deja resto cero o no.
Fundamentos de Programación en C para la Detección de Paridad
Para programar correctamente en lenguaje C, se deben seguir ciertas reglas o normas (sintaxis), ya que, si no las respetamos, los programas no compilarán correctamente y marcarán errores. Es una buena práctica en cualquier lenguaje de programación realizar comentarios para documentar el programa.
Lea también: IVA 21% Excel
Estructura Básica de un Programa en C
Las directivas para el preprocesador aparecen siempre al comienzo de los programas. Se identifican por su primer carácter, que es el carácter almohadilla o numeral (#). Estas directivas le indican al compilador que incluya en el código fuente, el código fuente contenido en los archivos dentro de ‘<‘ y ‘>’. Se utilizan para indicarle al programa que utilice funciones predefinidas en las bibliotecas del lenguaje. La mayoría de las versiones de C incluyen una colección de archivos de cabecera que proporcionan la información necesaria para las distintas funciones de biblioteca. Estos archivos se incluyen en un programa mediante la instrucción #include al comienzo del programa. Al iniciar el programa se deben agregar todas las bibliotecas que se van a utilizar en el mismo, es decir, funciones externas necesarias para ejecutar el programa.
Si se necesita crear funciones o bloques de código, se utilizan las llaves { } para delimitar dónde comienza y termina dicho bloque o función.
Tipos de Datos y Variables
Los identificadores son nombres que se les da a algunos elementos de un programa, como variables, funciones y arreglos. En alguna parte del programa se asigna el dato a la variable.
Algunos tipos básicos de datos se pueden ampliar utilizando los cualificadores de tipos de datos short (corto), long (largo), signed (con signo) y unsigned (sin signo). Si se omite el clasificador por defecto se considera 'signed'.
Operadores en C
Los operadores de C se agrupan jerárquicamente de acuerdo a su precedencia (su orden de evaluación). Los operadores aritméticos, como *, / y % (módulo), se encuentran dentro de un mismo grupo de precedencia, y + y - se encuentran en otro.
Lea también: Guía IVA reducido
Otra consideración importante a tener en cuenta es el orden en que se efectuarán operaciones consecutivas dentro del mismo grupo de precedencia. Esto se conoce como asociatividad. La precedencia natural de las operaciones se puede alterar mediante el uso de paréntesis, permitiendo estos que se puedan efectuar operaciones aritméticas de una expresión en el orden que se desee. También se pueden anidar los paréntesis, es decir, un par dentro de otro. A veces es una buena idea utilizar paréntesis para hacer más clara una expresión, aunque no sean necesarios.
Los operandos que difieren en el tipo pueden sufrir una conversión de tipo antes de que la expresión alcance su valor final. Si se desea, se puede convertir el valor resultante de una expresión a un tipo de datos diferente.
Entrada y Salida de Datos en C
Se puede acceder a una función de entrada/salida de datos desde cualquier parte de un programa con simplemente escribir el nombre de la función, seguido de una lista de argumentos entre paréntesis. Los argumentos representan los datos que le son enviados a la función.
Para introducir datos, la función scanf se puede utilizar para introducir cualquier combinación de valores numéricos, caracteres individuales y cadenas de caracteres.
scanf(cadena de control, arg1, arg2, ...)
Lea también: ¿Cómo localizar tus XML del SAT?
Los argumentos pueden ser variables o arreglos y sus tipos deben coincidir con los indicados por los grupos de caracteres correspondientes en la cadena de control. El material hace referencia a tablas de caracteres de conversión de uso común para datos de entrada, basadas en Gottfried, 1997, Programación en C (p. 92).
Para escribir datos en el dispositivo de salida estándar, se utiliza la función de biblioteca printf.
printf(cadena de control, arg1, arg2, ...)
En donde cadena de control hace referencia a una cadena de caracteres que contiene información sobre el formato de la salida y arg1, arg2, ... El dato es visualizado como un valor en coma flotante utilizando la conversión tipo e o tipo f según sea el caso. Para imprimir con formato también se utilizan algunas secuencias de caracteres de escape. El material también menciona tablas de caracteres de conversión de uso común para datos de salida, basadas en Gottfried, 1997, Programación en C (p. 80).
Uso Práctico del Algoritmo
Cuando ya tenemos la lógica definida, implementarlo en diferentes lenguajes no es difícil. Podéis probar los códigos y jugar con ellos en algún editor o IDE en línea. Así no tenemos que instalar nada. Por ejemplo: Codeboard o Replit.
Para que el programa no finalice al terminar la operación, se puede agregar un ciclo para que siga ejecutándose si el usuario desea ingresar otro número. El programa funciona dentro de un bucle while, que en estado «true» se repite constantemente, realizando la misma operación. Al mostrar el resultado, pregunta al usuario si desea ingresar otro número. Para indicar que quiere seguir escribiendo números, el usuario deberá contestar S o s a la pregunta.
