{"id":1243,"date":"2023-10-14T05:43:40","date_gmt":"2023-10-14T05:43:40","guid":{"rendered":"https:\/\/docentes.uaa.mx\/elmunoz\/?p=1243"},"modified":"2023-10-30T00:31:05","modified_gmt":"2023-10-30T00:31:05","slug":"unidad-tematica-ii-fundamentos-de-programacion","status":"publish","type":"post","link":"https:\/\/docentes.uaa.mx\/elmunoz\/2023\/10\/14\/unidad-tematica-ii-fundamentos-de-programacion\/","title":{"rendered":"UNIDAD TEM\u00c1TICA II. FUNDAMENTOS DE PROGRAMACI\u00d3N"},"content":{"rendered":"<h3><span style=\"color: #000000\">Lenguaje de Programaci\u00f3n <\/span><\/h3>\n<p><span style=\"color: #000000\"><strong>Computadora:<\/strong> Es un dispositivo electr\u00f3nico utilizado para procesar informaci\u00f3n y obtener resultados. Los datos y la informaci\u00f3n se pueden introducir en la computadora como entrada (input) y a continuaci\u00f3n se procesan para producir una salida (output). <\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Programa:<\/strong> Es el conjunto de instrucciones escritas de alg\u00fan lenguaje de programaci\u00f3n y que ejecutadas secuencialmente resuelven un problema especifico.<\/span><\/p>\n<p><span style=\"color: #000000\"><strong> Lenguaje:<\/strong> Es una serie de s\u00edmbolos que sir ven para transmitir uno o mas mensajes (ideas) entre dos entidades diferentes. A la transmisi\u00f3n de mensajes se le conoce com\u00fanmente como comunicaci\u00f3n. <\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Lenguajes de Programaci\u00f3n:<\/strong> Es un conjunto de s\u00edmbolos, caracteres y reglas que le permiten a las personas comunicarse con la computadora. Los lenguajes de programaci\u00f3n tienen un conjunto de instrucciones que nos permiten realizar operaciones de entrada\/salida, calculo, manipulaci\u00f3n de textos, l\u00f3gica\/comparaci\u00f3n y almacenamiento\/recuperaci\u00f3n.<\/span><\/p>\n<h3><span style=\"color: #000000\">Clasificaci\u00f3n de los Lenguajes de Programaci\u00f3n<\/span><\/h3>\n<p><span style=\"color: #000000\"><strong> Lenguaje Maquina:<\/strong> Son aquellos cuyas instrucciones son directamente entendibles por la computadora y no necesitan traducci\u00f3n posterior para que el CPU pueda comprender y ejecutar el programa. Las instrucciones en lenguaje maquinan se expresan en t\u00e9rminos de la unidad de memoria mas peque\u00f1a el bit (d\u00edgito binario 0 o 1). <\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Lenguaje de Bajo Nivel (Ensamblador):<\/strong> En este lenguaje las instrucciones se escriben en c\u00f3digos alfab\u00e9ticos conocidos como mnemot\u00e9cnicos para las operaciones y direcciones simb\u00f3licas.<\/span><\/p>\n<p><span style=\"color: #000000\"><strong> Lenguaje de Alto Nivel:<\/strong> Los lenguajes de programaci\u00f3n de alto nivel son aquellos en los que las instrucciones o sentencias a la computadora son escritas con palabras similares a los lenguajes humanos (en general en ingles), lo que facilita la escritura y comprensi\u00f3n del programa.<\/span><\/p>\n<h3>Programaci\u00f3n Estructurada<\/h3>\n<p><span style=\"color: #000000\">La programaci\u00f3n estructurada es una teor\u00eda orientada a mejorar la claridad, calidad y tiempo de desarrollo utilizando \u00fanicamente subrutinas o funciones. Esta basada en el teorema del programa estructurado propuesto por B\u00f6hm y Jacopini. <\/span><\/p>\n<p><span style=\"color: #000000\">Este conjunto de t\u00e9cnicas permite desarrollar algoritmos f\u00e1ciles de escribir, verificar, leer y modificar. La programaci\u00f3n estructurada utiliza:<\/span><\/p>\n<ul>\n<li><span style=\"color: #000000\"><strong>Dise\u00f1o descendente.<\/strong> Consiste en dise\u00f1ar los algoritmos en etapas, yendo de los conceptos generales a los de detalle. El dise\u00f1o descendente se ver\u00e1 completado y ampliado con el modular.<\/span><\/li>\n<li><span style=\"color: #000000\"><strong>Recursos abstractos.<\/strong> En cada descomposici\u00f3n de una acci\u00f3n compleja se supone que todas las partes resultantes est\u00e1n ya resueltas, posponiendo su realizaci\u00f3n para el siguiente refinamiento. <\/span><\/li>\n<li><span style=\"color: #000000\"><strong>Estructuras b\u00e1sicas.<\/strong> Los algoritmos deber\u00e1n ser escritos utilizando \u00fanicamente tres tipos de estructuras b\u00e1sicas.<\/span><\/li>\n<\/ul>\n<h3>Elementos de un programa<\/h3>\n<h5><strong><span style=\"color: #000000\">Ambientes de desarrollo (IDE)<\/span><\/strong><\/h5>\n<p><span style=\"color: #000000\"> El ambiente de desarrollo integral (IDE en ingles) se refiere a todo aquel entorno de programaci\u00f3n que estemos empleando como herramienta para escribir y dise\u00f1ar nuestros programas. Generalmente se cuenta con un editor de textos, algunas herramientas de dise\u00f1o y un men\u00fa de opciones que nos permite compilar y ejecutar los programas.<\/span><\/p>\n<p><span style=\"color: #000000\"> Los IDE est\u00e1n formados por un entorno de programaci\u00f3n que ha sido empaquetado como un programa de aplicaci\u00f3n, es decir, consiste en un editor de c\u00f3digo, un compilador, un depurador y un constructor de interfaz gr\u00e1fica GUI. Los IDE pueden ser aplicaciones por s\u00ed solas o pueden ser parte de aplicaciones existentes. <\/span><\/p>\n<p><span style=\"color: #000000\">Los IDE proveen un marco de trabajo amigable para la mayor\u00eda de los lenguajes de programaci\u00f3n tales como C++, Python, Java, C#, Delphi, Visual Basic, etc. En algunos lenguajes, un IDE puede funcionar como un sistema en tiempo de ejecuci\u00f3n, en donde se permite utilizar el lenguaje de programaci\u00f3n en forma interactiva, sin necesidad de trabajo orientado a archivos de texto, como es el caso de Smalltalk u Objective-C.<\/span><\/p>\n<p><span style=\"color: #000000\"> Es posible que un mismo IDE pueda funcionar con varios lenguajes de programaci\u00f3n. Inherente al ambiente de desarrollo se encuentra el compilador, parte indispensable para la construcci\u00f3n de programas, cada compa\u00f1\u00eda es responsable de dise\u00f1ar\/construir su propio compilador de C, siempre y cuando cumpla con los est\u00e1ndares establecidos por ANSI\/C. Borland y Microsoft, por lo general distribuyen el compilador junto con su ambiente de desarrollo, pero es posible adquirir sus compiladores de forma gratuita en la red, con el inconveniente de no contar con un ambiente de desarrollo (IDE). <\/span><\/p>\n<p><span style=\"color: #000000\">Tambi\u00e9n es posible adquirir en Internet otras versiones de compiladores libres como GNU GCC disponible en todas las variantes de GNU\/Linux y UNIX, e inclusive para Windows, generalmente estos compiladores trabajan en consola, pero debido a su enorme integraci\u00f3n y versatilidad, son f\u00e1ciles de combinar con cualquier IDE no comercial.<\/span><\/p>\n<p><span style=\"color: #000000\">Algunos links a IDE\u2019s que pueden ser \u00fatiles en este curso son:<\/span><\/p>\n<p><span style=\"color: #000000\"> Dev C\/C++ &#8211; <a href=\"http:\/\/www.bloodshed.net\/\">http:\/\/www.bloodshed.net\/ <\/a><\/span><\/p>\n<p><span style=\"color: #000000\">Code::Blocks &#8211; <a href=\"https:\/\/www.codeblocks.org\/downloads\/\">https:\/\/www.codeblocks.org\/&lt;; <\/a><\/span><\/p>\n<p><span style=\"color: #000000\">Visual Studio Code &#8211; <a href=\"https:\/\/code.visualstudio.com\/\">https:\/\/code.visualstudio.com\/ <\/a><\/span><\/p>\n<p><span style=\"color: #000000\">CLion &#8211; <a href=\"https:\/\/www.jetbrains.com\/es-es\/clion\/\">https:\/\/www.jetbrains.com\/es-es\/clion\/ <\/a><\/span><\/p>\n<p><span style=\"color: #000000\">Zinjal &#8211; <a href=\"https:\/\/zinjai.sourceforge.net\/\">http:\/\/zinjai.sourceforge.net\/<\/a><\/span><\/p>\n<h3><span style=\"color: #000000\">Caracter\u00edsticas del Lenguaje C<\/span><\/h3>\n<p><span style=\"color: #000000\"> El lenguaje C se conoce como un lenguaje compilado. Este tipo de lenguajes convierten el c\u00f3digo fuente en un fichero objeto y \u00e9ste en un fichero ejecutable. Este es el caso del lenguaje C. <\/span><\/p>\n<p><span style=\"color: #000000\">El lenguaje C es un lenguaje de nivel medio, ya que combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador. Es un lenguaje estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos. Hay que destacar que el C es un lenguaje portable, ya que permite utilizar el mismo c\u00f3digo en diferentes equipos y sistemas inform\u00e1ticos: el lenguaje es independiente de la arquitectura de cualquier m\u00e1quina en particular. <\/span><\/p>\n<p><span style=\"color: #000000\">Por \u00faltimo, se puede decir que el C es un lenguaje relativamente peque\u00f1o; se puede describir en poco espacio y aprender r\u00e1pidamente.<\/span><\/p>\n<h3><span style=\"color: #000000\">Estructura de un programa en C <\/span><\/h3>\n<p><span style=\"color: #000000\">Todo programa en <strong>C<\/strong> consta de una o m\u00e1s funciones, y la funci\u00f3n principal se conoce como <strong>main<\/strong>. El programa comienza en la funci\u00f3n main, desde la cual es posible llamar a otras funciones.<\/span><\/p>\n<p><span style=\"color: #000000\"> Cada funci\u00f3n estar\u00e1 formada por el prototipo de la funci\u00f3n (tipo de dato de la funci\u00f3n, nombre de la misma y la lista de argumentos -si los hubiese-), la declaraci\u00f3n de las variables a utilizar y la secuencia de sentencias a ejecutar. Ejemplo:<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img2.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1256 size-medium\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img2-300x212.png\" alt=\"\" width=\"300\" height=\"212\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img2-300x212.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img2-768x542.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img2.png 783w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p><strong><span style=\"color: #000000\">Comentarios<\/span><\/strong><\/p>\n<p><span style=\"color: #000000\"> Para poner comentarios en un programa escrito en <strong>C<\/strong> se utiliza los s\u00edmbolos <strong>\/* y *\/<\/strong>: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\/* Este es un ejemplo de comentario *\/ <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\/* Un comentario tambi\u00e9n puede <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">estar escrito en varias l\u00edneas *\/<\/span><\/p>\n<p><span style=\"color: #000000\"> El s\u00edmbolo<strong> \/*<\/strong> se coloca al principio del comentario y el s\u00edmbolo<strong> *\/<\/strong> al final. <\/span><\/p>\n<p><span style=\"color: #000000\">El comentario, contenido entre estos dos s\u00edmbolos, no ser\u00e1 tenido en cuenta por el compilador. <\/span><\/p>\n<h3><span style=\"color: #000000\">Palabras clave (primitivas del lenguaje) <\/span><\/h3>\n<p><span style=\"color: #000000\">Existen una serie de palabras reservadas, con una finalidad determinada dentro del lenguaje de programaci\u00f3n, que no se pueden utilizar como identificadores. Algunas de estas palabras son:<\/span><\/p>\n<h3><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1257\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3-1024x116.png\" alt=\"\" width=\"1007\" height=\"114\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3-1024x116.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3-300x34.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3-768x87.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3-1536x174.png 1536w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img3.png 1707w\" sizes=\"(max-width: 1007px) 100vw, 1007px\" \/><\/a><\/h3>\n<h3>Identificadores<\/h3>\n<p><span style=\"color: #000000\">El primer car\u00e1cter de un identificador no puede ser un n\u00famero, es decir que debe ser una letra o el s\u00edmbolo _ Se diferencian las may\u00fasculas de las min\u00fasculas, as\u00ed n<strong>um, Num y nuM<\/strong> son distintos identificadores.<\/span><\/p>\n<p><span style=\"color: #000000;font-size: 1rem\">A continuaci\u00f3n se observan algunos ejemplos de identificadores v\u00e1lidos y no v\u00e1lidos:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img4.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1258\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img4.png\" alt=\"\" width=\"447\" height=\"162\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img4.png 737w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img4-300x109.png 300w\" sizes=\"(max-width: 447px) 100vw, 447px\" \/><\/a><\/p>\n<h3><span style=\"color: #000000\">Tipos de datos <\/span><\/h3>\n<p><span style=\"color: #000000\"><span style=\"color: #000000\">En &#8216;C&#8217; existen b\u00e1sicamente cuatro tipos de datos, aunque tambi\u00e9n se puede definir tipos de datos propios a partir de los tipos originales. A continuaci\u00f3n se detalla su nombre, el tama\u00f1o que ocupa en memoria y el rango de sus posibles valores.<\/span><\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img1.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1255\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img1.png\" alt=\"\" width=\"1012\" height=\"185\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img1.png 1512w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img1-300x55.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img1-1024x188.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img1-768x141.png 768w\" sizes=\"(max-width: 1012px) 100vw, 1012px\" \/><\/a><\/p>\n<h3>Calificadores de tipos de datos<\/h3>\n<p><span style=\"color: #000000\">Los calificadores de tipo tienen la misi\u00f3n de modificar el rango de valores de un determinado tipo de variable. <\/span><\/p>\n<p><span style=\"color: #000000\">Estos calificadores son cuatro: <\/span><\/p>\n<ul>\n<li><strong><span style=\"color: #000000\">signed<\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000\">Le indica a la variable que va a llevar signo. Es el utilizado por defecto.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img5.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1260 size-full alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img5.png\" alt=\"\" width=\"603\" height=\"106\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img5.png 603w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img5-300x53.png 300w\" sizes=\"(max-width: 603px) 100vw, 603px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><span style=\"color: #000000\"><strong>unsigned<\/strong> <\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000\">Le indica a la variable que no va a llevar signo (valor absoluto).<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img6.png\"><img loading=\"lazy\" decoding=\"async\" class=\"wp-image-1261 size-full alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img6.png\" alt=\"\" width=\"626\" height=\"103\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img6.png 626w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img6-300x49.png 300w\" sizes=\"(max-width: 626px) 100vw, 626px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><span style=\"color: #000000\"><strong>short<\/strong><\/span><\/li>\n<\/ul>\n<p><span style=\"color: #000000\"> Rango de valores en formato corto (limitado). Es el utilizado por defecto.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img7.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1262 alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img7.png\" alt=\"\" width=\"742\" height=\"105\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img7.png 742w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img7-300x42.png 300w\" sizes=\"(max-width: 742px) 100vw, 742px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<ul>\n<li><strong><span style=\"color: #000000\">long <\/span><\/strong><\/li>\n<\/ul>\n<p><span style=\"color: #000000\">Rango de valores en formato largo (ampliado).<\/span><\/p>\n<p><a style=\"color: #ec681f\" href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img8.png\"><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-1263 alignleft\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img8.png\" alt=\"\" width=\"903\" height=\"101\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img8.png 903w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img8-300x34.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img8-768x86.png 768w\" sizes=\"(max-width: 903px) 100vw, 903px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #000000\">Tambi\u00e9n es posible combinar calificadores entre s\u00ed.<\/span><\/p>\n<h3>Variables<\/h3>\n<p><span style=\"color: #000000\">Una variable s\u00f3lo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada:<\/span><\/p>\n<h5><span style=\"color: #000000\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; [calificador] &lt;tipo&gt; &lt;nombre&gt;<\/span><\/h5>\n<p><span style=\"color: #000000\">Es posible inicializar y declarar m\u00e1s de una variable del mismo tipo en la misma sentencia:<\/span><\/p>\n<h5>[calificador] &lt;tipo&gt; &lt;nombre1&gt;,&lt;nombre2&gt;=&lt;valor&gt;,&lt;nombre3&gt;=&lt;valor&gt;,&lt;nombre4&gt;<\/h5>\n<p><span style=\"color: #000000\">Ejemplo: <\/span><\/p>\n<p><span style=\"color: #000000\">int num1=4,num2,num3=6;<\/span><\/p>\n<h4>\u00bfD\u00f3nde se declaran?<\/h4>\n<p><span style=\"color: #000000\">Las variables pueden ser de dos tipos seg\u00fan el lugar en que las declaremos: globales o locales. La variable global se declara antes de la funci\u00f3n <strong>main( )<\/strong>. Puede ser utilizada en cualquier parte del programa y se destruye al finalizar \u00e9ste. <\/span><\/p>\n<p><span style=\"color: #000000\">La variable local se declara despu\u00e9s de la <strong>main( )<\/strong>, en la funci\u00f3n en que vaya a ser utilizada. S\u00f3lo existe dentro de la funci\u00f3n en que se declara y se destruye al finalizar dicha funci\u00f3n.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img9.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1266\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img9-300x158.png\" alt=\"\" width=\"400\" height=\"211\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img9-300x158.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img9.png 678w\" sizes=\"(max-width: 400px) 100vw, 400px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Constantes<\/h3>\n<p><span style=\"color: #000000\">Para indicar al compilador que se trata de una constante, se utiliza la directiva #define: <\/span><\/p>\n<h5><span style=\"color: #000000\">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; #define &lt;identificador&gt; &lt;valor&gt; <\/span><\/h5>\n<p><span style=\"color: #000000\">Observe que no se indica el punto y coma de final de sentencia ni tampoco el tipo de dato.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img10.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1267\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img10-300x122.png\" alt=\"\" width=\"500\" height=\"204\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img10-300x122.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img10-768x313.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img10.png 887w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Secuencias de escape<\/h3>\n<p><span style=\"color: #000000\">Ciertos caracteres no representados gr\u00e1ficamente se pueden representar mediante lo que se conoce como secuencia de escape. <\/span><\/p>\n<p><span style=\"color: #000000\">A continuaci\u00f3n se observa una tabla de las m\u00e1s significativas: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\\n&nbsp; &nbsp; &nbsp;salto de l\u00ednea<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"> \\b&nbsp; &nbsp; &nbsp;retroceso <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\\t&nbsp; &nbsp; &nbsp;tabulaci\u00f3n horizontal <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\\v&nbsp; &nbsp; &nbsp;tabulaci\u00f3n vertical <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\\\\&nbsp; &nbsp; &nbsp;contrabarra <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\\f&nbsp; &nbsp; &nbsp;salto de p\u00e1gina<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"> \\&#8217;&nbsp; &nbsp; &nbsp;ap\u00f3strofe<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"> \\&#8221;&nbsp; &nbsp; &nbsp;comillas dobles <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">\\0&nbsp; &nbsp; fin de una cadena de caracteres<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img11.png\"><img loading=\"lazy\" decoding=\"async\" class=\"alignleft wp-image-1269\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img11-1024x395.png\" alt=\"\" width=\"500\" height=\"193\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img11-1024x395.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img11-300x116.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img11-768x296.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img11.png 1246w\" sizes=\"(max-width: 500px) 100vw, 500px\" \/><\/a><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3>Inclusi\u00f3n de librer\u00edas<\/h3>\n<p><span style=\"color: #000000\">En la programaci\u00f3n en C es posible utilizar funciones que no esten inclu\u00eddas en el propio programa. Para ello se utiliza la directiva #include, que permite a\u00f1adir a un programa librer\u00edas o funciones que se encuentran en otros ficheros. <\/span><\/p>\n<p><span style=\"color: #000000\">Para indicar al compilador que se va a incluir ficheros externos se tiene dos maneras (siempre antes de las declaraciones).<\/span><\/p>\n<p><span style=\"color: #000000\">1. Indic\u00e1ndole al compilador la ruta donde se encuentra el fichero. <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">#include &#8220;misfunc.h&#8221; <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">#include &#8220;c:\\includes\\misfunc.h&#8221;<\/span><\/p>\n<p><span style=\"color: #000000\">2. Indicando que se encuentran en el directorio por defecto del compilador. <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">#include &lt;misfunc.h&gt;<\/span><\/p>\n<h3>Operadores<\/h3>\n<h4>Operadores aritm\u00e9ticos<\/h4>\n<p><span style=\"color: #000000\">Binarios: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">+ Suma&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &#8211; Resta <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">* Multiplicaci\u00f3n&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;\/ Divisi\u00f3n <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">% M\u00f3dulo (resto) <\/span><\/p>\n<p><span style=\"color: #000000\">y los unarios: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">++ Incremento (suma 1) <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">&#8211; &#8211; <\/span><span style=\"color: #000000\">Decremento (resta 1) <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\">&#8211; Cambio de signo<\/span><\/p>\n<h3>Operadores de asignaci\u00f3n<\/h3>\n<p><span style=\"color: #000000\">En el lenguaje C existen expresiones de asignaci\u00f3n, para las cuales se utilizan los siguientes operadores:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img12.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1270 size-large\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img12-1024x220.png\" alt=\"\" width=\"640\" height=\"138\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img12-1024x220.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img12-300x64.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img12-768x165.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img12.png 1285w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">De ellos, el m\u00e1s utilizado es el operador de asignaci\u00f3n (=) y su sintaxis es la siguiente: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">&lt;nombre_de_la_variable&gt; = &lt;expresi\u00f3n&gt;;<\/span><\/p>\n<h3><span style=\"color: #000000\">Operadores y precedencia<\/span><\/h3>\n<p><span style=\"color: #000000\">Un operador es un s\u00edmbolo (+, -, *, \/, etc.) que tiene una funci\u00f3n predefinida (suma, resta, multiplicaci\u00f3n, etc.) y que recibe sus argumentos de manera infija (3+5), prefija (+35) o postfija (35+). <\/span><\/p>\n<p><span style=\"color: #000000\">Cuando realizamos ciertas operaciones con expresiones y sentencias, se ven involucrados varios operadores, y en ciertos casos se emplean par\u00e9ntesis para delimitar cuales sentencias se llevaran a cabo antes que otras, por ejemplo:<\/span><\/p>\n<p><span style=\"color: #000000\">La sentencia, x = y + (z * 2) deja claro que primero ser\u00e1 necesario realizar una multiplicaci\u00f3n de z * 2, y posteriormente una suma de dicho resultado con y, gracias a la precedencia de operaciones, no es necesario realizar la operaci\u00f3n empleando par\u00e9ntesis para delimitar la secuencia exacta de operaciones, ya que la multiplicaci\u00f3n siempre ser\u00e1 realizada antes que una suma, debido a su nivel de prioridad, de manera que x = y + z * 2 generar\u00e1 el mismo resultado. <\/span><\/p>\n<p><span style=\"color: #000000\">A continuaci\u00f3n se presenta una lista con el nivel de precedencia de los operadores involucrados en el lenguaje C, algunos de ellos ya le resultaran familiares y algunos otros no, pero ser\u00e1n abordados con detenimiento en su momento (mas adelante).<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img13.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1271 size-large\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img13-1024x473.png\" alt=\"\" width=\"640\" height=\"296\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img13-1024x473.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img13-300x139.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img13-768x355.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img13.png 1262w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">De manera que una sentencia como 3+2 &gt;= 5+0, realizara primero la operaci\u00f3n de suma en ambas partes y posteriormente realizara la comparaci\u00f3n. <\/span><\/p>\n<p><span style=\"color: #000000\">Recuerde que el uso de los par\u00e9ntesis ayuda a asociar y delimitar la precedencia de las operaciones, los programadores novatos suelen hacer mucho uso de par\u00e9ntesis para delimitar la prioridad de las acciones, pero con el tiempo su habilidad para el c\u00e1lculo de expresiones crece considerablemente. <\/span><\/p>\n<p><span style=\"color: #000000\">Existen otro tipo de Operadores, a los cuales les llamamos <em><strong>\u201coperadores especiales\u201d:<\/strong><\/em><\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img14.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1272 size-large\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img14-1024x436.png\" alt=\"\" width=\"640\" height=\"273\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img14-1024x436.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img14-300x128.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img14-768x327.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img14.png 1393w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img15.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1273\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img15-1024x501.png\" alt=\"\" width=\"640\" height=\"313\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img15-1024x501.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img15-300x147.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img15-768x376.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img15.png 1393w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<h3>Manejo de expresiones<\/h3>\n<p><span style=\"color: #000000\">Una expresi\u00f3n es una combinaci\u00f3n de variables, llamadas a funci\u00f3n y operadores que resultan en un valor simple. Como ya vimos en la parte anterior la inicializaci\u00f3n de variables \u00f3 expresi\u00f3n de asignaci\u00f3n, es la expresi\u00f3n m\u00e1s simple que puede existir: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">x = 2;<\/span><\/p>\n<p><span style=\"color: #000000\">En este caso se una asigna un valor entero a una variable x. A la parte izquierda de la expresi\u00f3n de asignaci\u00f3n se le conoce como lvalue, es decir, valor izquierdo y rvalue al del lado derecho. De esta forma queda claro que el valor del lado derecho deber\u00e1 ser una variable y el lado derecho ser\u00e1 una variable, constante num\u00e9rica o el resultado de una operaci\u00f3n de manera que la operaci\u00f3n se lleva a cabo de derecha a izquierda y nunca de otra forma.<\/span><\/p>\n<h3>Expresiones Aritm\u00e9ticas<\/h3>\n<p><span style=\"color: #000000\">Las operaciones de suma <strong>(+)<\/strong>, resta <strong>(-)<\/strong>, multiplicaci\u00f3n <strong>(*)<\/strong> y divisi\u00f3n<strong> (\/)<\/strong> literalmente corresponden a sus respectivas operaciones matem\u00e1ticas. A excepci\u00f3n de la operaci\u00f3n modulo, que nos da el residuo de dos valores, representada por el operador <strong>%<\/strong>: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">x = (y + z) * 2<\/span><\/p>\n<p><span style=\"color: #000000\">Existen adem\u00e1s algunos operadores llamados de asignaci\u00f3n compuesta que permiten modificar el valor de una variable llevando a cabo una operaci\u00f3n en la que se ve involucrado el valor actual de esa variable. Los operadores de \u00e9ste tipo son <strong>+=, -=, *=, \/=, %=<\/strong>, y se emplean as\u00ed: <\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">x += y que equivale a la expresi\u00f3n x = x + y<\/span><\/p>\n<p><span style=\"color: #000000\">Tambi\u00e9n existen los operadores de incremento y decremento, que reducen o incrementan una unidad al valor almacenado en la variable. Una de las caracter\u00edsticas m\u00e1s interesantes de este operador es que puede ser usado de dos maneras, en prefijo y postfijo, esto quiere decir que el operador podr\u00e1 aparecer respectivamente antes (<strong>++<\/strong>id) o despu\u00e9s (id<strong>++<\/strong>) del identificador, y usados en una expresi\u00f3n simple realiza la misma operaci\u00f3n en cualquiera de sus dos versiones, pero usado en conjunto con otras expresiones o sentencias tendr\u00e1 un comportamiento diferente.<\/span><\/p>\n<h3>Expresiones Relacionales<\/h3>\n<p><span style=\"color: #000000\">Para realizar la comparaci\u00f3n entre dos expresiones empleamos los operadores relacionales que nos indican alg\u00fan tipo de relaci\u00f3n entre dos entidades, ya sea de igualdad o desigualdad, y cuyo resultado de la operaci\u00f3n siempre ser\u00e1 un valor booleano <strong>(cierto\/falso)<\/strong>. A continuaci\u00f3n se muestran los <strong>operadores relacionales disponibles en C<\/strong>, para el caso de x = 3, y = 1 y z = 2:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img16.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1274\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img16.png\" alt=\"\" width=\"537\" height=\"149\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img16.png 837w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img16-300x84.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img16-768x214.png 768w\" sizes=\"(max-width: 537px) 100vw, 537px\" \/><\/a><\/p>\n<h3>Expresiones l\u00f3gicas<\/h3>\n<p><span style=\"color: #000000\">Los operadores bol\u00e9anos nos permiten construir expresiones m\u00e1s complejas en las que se encuentran involucradas condiciones formadas por las palabras \u201cy\u201d, \u201co\u201d y \u201cno\u201d. Por ejemplo, es cierto el hecho de que \u201c5 &gt; 3 y 5 &lt; 7\u201d.<\/span><\/p>\n<p><span style=\"color: #000000\">La expresi\u00f3n l\u00f3gica \u201cy\u201d (conjunci\u00f3n) es representada por el operador <strong>&amp;&amp;<\/strong>, y es usado para combinar dos valores bol\u00e9anos, y el resultado es tambi\u00e9n un valor booleano. Para \u00e9ste caso el resultado ser\u00e1 cierto si ambos valores son ciertos, en cualquier otro caso el resultado ser\u00e1 falso. Por otro lado, la expresi\u00f3n \u201co\u201d (disyunci\u00f3n) es representada por el operador<strong> ||<\/strong>, de manera que la expresi\u00f3n ser\u00e1 cierta siempre y cuando alguno de los componentes de la expresi\u00f3n sea cierta. Finalmente la expresi\u00f3n l\u00f3gica \u201cno\u201d, tambi\u00e9n conocida como negaci\u00f3n, es un operador unario representado por el operador ! y se antepone al operando, el resultado de aplicar este operador es invertir el valor del operando, cambiando el valor de cierto a falso y viceversa. <\/span><\/p>\n<p><span style=\"color: #000000\">Los operadores l\u00f3gicos generan una interesante relaci\u00f3n de resultados que suele ser representada en forma de tabla (tablas de verdad), es importante recordar que los operadores l\u00f3gicos evaluaran la expresi\u00f3n relacional y le dar\u00e1n un valor de certeza o falsedad seg\u00fan sea el caso, por ejemplo: <\/span><\/p>\n<p><span style=\"color: #000000\">Suponga que se requiere saber si un empleado cataloga para un incremento salarial, si su antig\u00fcedad es mayor a 10 a\u00f1os y cuenta con una edad mayor a 40 a\u00f1os, el operador l\u00f3gico podr\u00eda simplificar esta tarea, expresando la relaci\u00f3n algor\u00edtmicamente:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img17.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1275\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img17-300x71.png\" alt=\"\" width=\"441\" height=\"104\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img17-300x71.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img17.png 661w\" sizes=\"(max-width: 441px) 100vw, 441px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">Las tablas de verdad nos podr\u00edan ayudar a visualizar el resultado de manera mas eficiente. En la tabla de verdad de la conjunci\u00f3n (and l\u00f3gico), en caso de que alguno de los elementos en la expresi\u00f3n resulte falso, todo el enunciado ser\u00e1 falso:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img18.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1276\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img18-1024x196.png\" alt=\"\" width=\"640\" height=\"123\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img18-1024x196.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img18-300x57.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img18-768x147.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img18.png 1292w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">Suponga otro caso para el incremento salarial donde pretendemos ser mas flexibles y otorgar dicho incremento en caso de que cualquiera de los dos valores involucrados sea mayor al limite, es decir, incrementar el salario si la antig\u00fcedad es mayor a 10 a\u00f1os, o la edad es mayor a 40.<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img19.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1277\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img19.png\" alt=\"\" width=\"401\" height=\"97\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img19.png 701w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img19-300x73.png 300w\" sizes=\"(max-width: 401px) 100vw, 401px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">Nuevamente las tablas de verdad nos podr\u00edan ayudar a visualizar el resultado de manera mas eficiente. En la disyunci\u00f3n (or l\u00f3gico), en caso de que alguno de los elementos en la expresi\u00f3n resulte cierto, todo el enunciado ser\u00e1 cierto:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img20.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1278\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img20-1024x199.png\" alt=\"\" width=\"640\" height=\"124\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img20-1024x199.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img20-300x58.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img20-768x149.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img20.png 1245w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n<p><span style=\"color: #000000\">El operador de negaci\u00f3n suele ser utilizado para invertir el resultado de una expresi\u00f3n l\u00f3gica, de manera que lo que sea falso se convertir\u00e1 en cierto y viceversa.<\/span><\/p>\n<h3>Operador Condicional<\/h3>\n<p><span style=\"color: #000000\">Es un operador ternario que permite realizar operaciones de asignaci\u00f3n de manera muy sencilla y eficiente, su sintaxis es la siguiente:<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">&lt;expresi\u00f3n-booleana&gt; ? &lt;expresi\u00f3n-1&gt; : &lt;expresi\u00f3n-2&gt;<\/span><\/p>\n<p><span style=\"color: #000000\">La expresi\u00f3n booleana es evaluada, de manera que, si el valor resultante es cierto la expresi\u00f3n-1 ser\u00e1 asignada, en caso contrario la expresi\u00f3n-2 ser\u00e1 seleccionada. Por ejemplo:<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">valor = ( n % 4 == 0 ) ? ( n * 2 ) : ( n++ );<\/span><\/p>\n<p><span style=\"color: #000000\">La sentencia anterior realiza lo siguiente; primero eval\u00faa que el residuo de n entre 4 sea igual a cero ( n % 4 == 0 ), en caso de ser cierta la expresi\u00f3n booleana, el resultado de ( n * 2 ) es asignado a valor, en caso contrario n es asignado, y enseguida n se incrementa( n++ ). Cabe mencionar que los par\u00e9ntesis en este ejemplo no son necesarios, pero facilitan la explicaci\u00f3n.<\/span><\/p>\n<h3>Conversi\u00f3n de tipos de datos<\/h3>\n<p><span style=\"color: #000000\"> En algunas ocasiones es necesario almacenar el resultado de una expresi\u00f3n en una variable de un tipo distinto, por ejemplo, cuando cuando los dos operandos de una divisi\u00f3n <strong>(\/)<\/strong> son enteros, pero aun as\u00ed, de su evaluaci\u00f3n se quiere obtener un valor real, es necesario realizar un casting (o conversi\u00f3n de tipo). <\/span><\/p>\n<p><span style=\"color: #000000\">Sintaxis es:<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #993366\">( &lt;tipo_de_dato&gt; ) &lt;expresi\u00f3n&gt;; <\/span><\/p>\n<p><span style=\"color: #000000\">De esta forma, se consigue cambiar el tipo de dato del valor resultante de evaluar la &lt;expresi\u00f3n&gt; a un &lt;tipo_de_dato&gt; deseado. Ejemplo: Para cambiar un valor entero a flotante:<\/span><\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img21.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-1279\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img21-1024x54.png\" alt=\"\" width=\"640\" height=\"34\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img21-1024x54.png 1024w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img21-300x16.png 300w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img21-768x40.png 768w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/img21.png 1241w\" sizes=\"(max-width: 640px) 100vw, 640px\" \/><\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Lenguaje de Programaci\u00f3n Computadora: Es un dispositivo electr\u00f3nico utilizado para procesar informaci\u00f3n y obtener resultados. Los datos y la informaci\u00f3n se pueden introducir en la&#8230;<\/p>\n","protected":false},"author":13,"featured_media":1318,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1243","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-logica"],"_links":{"self":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1243"}],"collection":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/users\/13"}],"replies":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/comments?post=1243"}],"version-history":[{"count":9,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1243\/revisions"}],"predecessor-version":[{"id":1303,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1243\/revisions\/1303"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/media\/1318"}],"wp:attachment":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/media?parent=1243"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/categories?post=1243"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/tags?post=1243"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}