{"id":1220,"date":"2023-10-14T04:32:53","date_gmt":"2023-10-14T04:32:53","guid":{"rendered":"https:\/\/docentes.uaa.mx\/elmunoz\/?p=1220"},"modified":"2023-10-30T00:10:04","modified_gmt":"2023-10-30T00:10:04","slug":"unidad-tematica-i-construccion-de-algoritmos","status":"publish","type":"post","link":"https:\/\/docentes.uaa.mx\/elmunoz\/2023\/10\/14\/unidad-tematica-i-construccion-de-algoritmos\/","title":{"rendered":"UNIDAD TEM\u00c1TICA I. CONSTRUCCI\u00d3N DE ALGORITMOS"},"content":{"rendered":"<p><span style=\"color: #000000\">El desarrollo de algoritmos es un tema fundamental en el dise\u00f1o de programas por lo cual se debe tener buenas bases para poder desarrollar de manera f\u00e1cil y r\u00e1pida un programa. Por medio de la computadora es posible dise\u00f1ar soluciones de problemas espec\u00edficos, a la medida, m\u00e1s aun, si estos problemas involucran operaciones matem\u00e1ticas complejas y\/o repetitivas, o requieren del manejo de un volumen grande de datos. El dise\u00f1o de soluciones, requiere una metodolog\u00eda que permita de forma gradual llegar a dar soluci\u00f3n a un problema, a las cuales se les conoce como programas y no son m\u00e1s que una serie de operaciones que realiza la computadora para llegar a un resultado, con un grupo de datos espec\u00edficos. Lo anterior nos lleva al razonamiento de que un programa nos sirve para solucionar un problema espec\u00edfico. Para poder realizar programas, adem\u00e1s de conocer la metodolog\u00eda mencionada, tambi\u00e9n debemos de conocer, de manera espec\u00edfica las funciones que puede realizar la computadora y las formas en que se pueden manejar los elementos que hay en la misma.<\/span><\/p>\n<h3>Conceptos Generales<\/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>&nbsp;<\/p>\n<p><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen1-.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1229 size-full\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen1-.png\" alt=\"\" width=\"497\" height=\"252\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen1-.png 497w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen1--300x152.png 300w\" sizes=\"(max-width: 497px) 100vw, 497px\" \/><\/a><\/p>\n<p>&nbsp;&nbsp;<br \/>\n<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\"><a href=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen2-.png\"><br \/>\n<img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1230 size-full\" src=\"http:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen2-.png\" alt=\"\" width=\"597\" height=\"368\" srcset=\"https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen2-.png 597w, https:\/\/docentes.uaa.mx\/elmunoz\/wp-content\/uploads\/sites\/14\/2023\/10\/Imagen2--300x185.png 300w\" sizes=\"(max-width: 597px) 100vw, 597px\" \/><\/a><\/span><br \/>\n&nbsp;&nbsp;<br \/>\n<span style=\"color: #000000\"><strong>Dispositivos de Entrada:<\/strong> Como su nombre lo indica, sirven para introducir datos (informaci\u00f3n) en la computadora para su proceso.&nbsp; Los datos se leen de los dispositivos de entrada y se almacenan en la memoria central o interna. Ejemplo: teclado, mouse.<\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Dispositivos de Salida:<\/strong> Regresan los datos procesados que sirven de informaci\u00f3n al usuario. Ejemplo: monitor, impresora.<\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Unidad de Control:<\/strong> Coordina las actividades de la computadora y determina que operaciones se deben realizar y en que orden; as\u00ed mismo controla todo el proceso de la computadora.<\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Unidad Aritm\u00e9tico &#8211; L\u00f3gica:<\/strong> Realiza operaciones aritm\u00e9ticas y l\u00f3gicas, tales como suma, resta, multiplicaci\u00f3n, divisi\u00f3n y comparaciones.<\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Memoria:<\/strong> El CPU utiliza la memoria de la computadora para guardar informaci\u00f3n mientras trabaja con ella; mientras esta informaci\u00f3n permanezca en memoria, la computadora puede tener acceso a ella en forma directa. Esta memoria construida internamente se llama memoria de acceso aleatorio (RAM).<\/span><\/p>\n<p><span style=\"color: #000000\"><strong>Lenguaje:<\/strong> Es una serie de s\u00edmbolos que sirven 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<p><span style=\"color: #000000\"><strong>Algoritmo:<\/strong> serie de pasos organizados que describen el proceso que se debe seguir, para dar soluci\u00f3n a un problema espec\u00edfico. Los algoritmos se clasifican en cualitativos (describen los pasos utilizando palabras) y cuantitativos (utilizan c\u00e1lculos num\u00e9ricos para definir los pasos del proceso).<\/span><\/p>\n<h3><span style=\"color: #000000\">Clasificaci\u00f3n de los Lenguajes de Programaci\u00f3n<\/span><\/h3>\n<p style=\"padding-left: 40px\"><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 style=\"padding-left: 40px\"><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 style=\"padding-left: 40px\"><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>Metodolog\u00eda para la soluci\u00f3n de problemas por medio de computadora<\/h3>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"><strong>1. Definici\u00f3n del Problema<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Esta fase est\u00e1 dada por el enunciado del problema, el cual requiere una definici\u00f3n clara y precisa. Es importante que se conozca lo que se desea que la computadora realice.<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"><strong>2. An\u00e1lisis del Problema<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Una vez que se ha comprendido lo que se desea de la computadora, es necesario definir:<\/span><\/p>\n<ul>\n<li style=\"list-style-type: none\">\n<ul>\n<li><span style=\"color: #000000\">Los datos de entrada.<\/span><\/li>\n<li><span style=\"color: #000000\">Los datos de salida (es lo que se desea obtener como resultado de solucionar el problema).<\/span><\/li>\n<li><span style=\"color: #000000\">Los m\u00e9todos y f\u00f3rmulas que se necesitan para procesar los datos.<\/span><\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"><strong>3. Dise\u00f1o del Algoritmo<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Todo algoritmo debe tener un inicio, debe ser definido, no debe permitir dobles interpretaciones. Debe ser general, es decir, soportar la mayor\u00eda de las variantes que se puedan presentar en la definici\u00f3n del problema. Debe ser finito en tama\u00f1o y tiempo de ejecuci\u00f3n.<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"><strong>4. Codificaci\u00f3n<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">La codificaci\u00f3n es la operaci\u00f3n de escribir la soluci\u00f3n del problema (de acuerdo a la l\u00f3gica del diagrama de flujo o seudoc\u00f3digo), en una serie de instrucciones detalladas, en un c\u00f3digo reconocible por la computadora, la serie de instrucciones detalladas se le conoce como c\u00f3digo fuente, el cual se escribe en un lenguaje de programaci\u00f3n o lenguaje de alto nivel.<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"><strong>5. Pruebas y Depuraci\u00f3n<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Es el proceso de identificar y eliminar errores (de sintaxis, ejecuci\u00f3n y l\u00f3gica).<\/span><\/p>\n<p style=\"padding-left: 40px\"><span style=\"color: #000000\"><strong>6. Documentaci\u00f3n<\/strong> <\/span><\/p>\n<p><span style=\"color: #000000\">Es la gu\u00eda o comunicaci\u00f3n escrita en sus variadas formas, ya sea en enunciados, procedimientos, dibujos o diagramas. A menudo un programa escrito por una persona, es usado por otra. Por ello la documentaci\u00f3n sirve para ayudar a comprender o usar un programa o para facilitar futuras modificaciones (mantenimiento). La documentaci\u00f3n que no debe faltar en un programa con los comentarios.<\/span><\/p>\n<p style=\"padding-left: 40px\"><strong><span style=\"color: #000000\">7. Mantenimiento <\/span><\/strong><\/p>\n<p><span style=\"color: #000000\">Se lleva a cabo despu\u00e9s de terminado el programa, cuando se detecta que es necesario hacer alg\u00fan cambio, ajuste o complementaci\u00f3n al programa para que siga trabajando de manera correcta. Para poder realizar este trabajo se requiere que el programa este correctamente documentado. <\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>El desarrollo de algoritmos es un tema fundamental en el dise\u00f1o de programas por lo cual se debe tener buenas bases para poder desarrollar de&#8230;<\/p>\n","protected":false},"author":13,"featured_media":1314,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"ngg_post_thumbnail":0,"footnotes":""},"categories":[1],"tags":[],"class_list":["post-1220","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\/1220"}],"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=1220"}],"version-history":[{"count":9,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1220\/revisions"}],"predecessor-version":[{"id":1304,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/posts\/1220\/revisions\/1304"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/media\/1314"}],"wp:attachment":[{"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/media?parent=1220"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/categories?post=1220"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/docentes.uaa.mx\/elmunoz\/wp-json\/wp\/v2\/tags?post=1220"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}