Está en la página 1de 28

2018-2

Apuntes U1
Programación Básica

Unidad 1.- Conceptos básicos y
Algoritmos
1.1 Clasificación del software de: sistemas y aplicación. Ingeniería Mecatrónica
1.2 Definición de: Algoritmo, Lenguaje de Programación,
Programa, Programación, Paradigmas de programación,
Editores de texto, Compiladores e intérpretes, Ejecutables,
ITSLP
Consola de línea de comandos.
1.3 Análisis de problemas. Héctor Bazarte Torres, Ing.
1.4 Representación de algoritmos: gráfica y pseudocódigo.
1.5 Diseño de algoritmos aplicados a problemas.
1.6 Diseño algorítmico de funciones

1.1 Clasificación de software: sistema y aplicación
Software
Programas o conjunto de programas que contienen las órdenes con las que trabaja una
computadora

El Software es el soporte lógico e inmaterial que permite que la computadora pueda
desempeñar tareas inteligentes, dirigiendo a los componentes físicos o hardware con
instrucciones y datos a través de diferentes tipos de programas.

El Software son los programas de aplicación y los sistemas operativos, que según las
funciones que realizan pueden ser clasificados en:

 Software de Sistema
 Software de Aplicación
 Software de Programación

Compiló: Ing. Héctor Bazarte Torres/Agosto-Diciembre 2018 1 de 27

controladores de nuevos periféricos. Un Sistema Operativo realiza cinco funciones básicas: Suministro de Interfaz al Usuario. 2. Programas Utilitarios Los Programas Utilitarios realizan diversas funciones para resolver problemas específicos. Suministro de interfaz al usuario: Permite al usuario comunicarse con la computadora por medio de interfaces que se basan en comandos. como pueden ser las aplicaciones ofimáticas (procesador de texto. Administración de Tareas y Servicio de Soporte. memoria. mejoras de seguridad. hoja de cálculo. Compiló: Ing. interfaces que utilizan menús. concluirlos y comprobar el uso de estos en la CPU. Héctor Bazarte Torres/Agosto-Diciembre 2018 2 de 27 . confiriendo control sobre el hardware. Controladores de Dispositivos Los Controladores de Dispositivos son programas que permiten a otros programa de mayor nivel como un sistema operativo interactuar con un dispositivo de hardware. dispositivos de almacenamiento secundario y periféricos de entrada y de salida.Software de Sistema Se llama Software de Sistema o Software de Base al conjunto de programas que sirven para interactuar con el sistema. o corrección de errores de software. programa de presentación. borrado.. sistema de gestión de base de datos. 5. Administración de recursos: Administran los recursos del hardware como la CPU. además de realizar tareas en general y de mantenimiento. 3. copiado y acceso de archivos de datos y de programas.. 1.). e interfaces gráficas de usuario. Software de Aplicación El Software de Aplicación son los programas diseñados para o por los usuarios para facilitar la realización de tareas específicas en la computadora. 4. además de dar soporte a otros programas. Puede cambiar la prioridad entre procesos. Administración de Archivos. El Software de Sistema se divide en:  Sistema Operativo  Controladores de Dispositivos  Programas Utilitarios Sistema operativo El Sistema Operativo es un conjunto de programas que administran los recursos de la computadora y controlan su funcionamiento. Administración de tareas: Administra la información sobre los programas y procesos que se están ejecutando en la computadora. actualización de versiones. Administración de Recursos. Algunos se incluyen en el sistema operativo. y pueden consistir en inclusión de utilidades nuevas. Administración de archivos: Controla la creación. así como terminar programas. Servicio de soporte: Los Servicios de Soporte de cada sistema operativo dependen de las implementaciones añadidas a este.

Proceso y Salida. programas de contabilidad. e indicar el orden de realización de cada paso. enlazadores.2 Definiciones  Algoritmo "Un algoritmo se define como un método que se realiza paso a paso para solucionar un problema que termina en un número finito de pasos". Lenguaje máquina Lenguaje de máquina es el sistema de códigos directamente interpretable por un circuito microprogramable. Software de Programación El Software de Programación es el conjunto de herramientas que permiten al desarrollador informático escribir programas usando diferentes alternativas y lenguajes de programación. como el microprocesador de una computadora. La definición de un algoritmo debe describir tres partes : Entrada. editores de texto y un entorno de desarrollo integrado que contiene las herramientas anteriores. 1. Las características fundamentales que debe cumplir todo algoritmo son : Debe ser preciso. ensambladores.  Lenguaje de programación Un Lenguaje de Programación es aquél que es utilizado para escribir programas de computadoras que puedan ser entendidos por ellas. se debe obtener el mismo resultado cada vez. software educativo. Héctor Bazarte Torres/Agosto-Diciembre 2018 3 de 27 . intérpretes. Si se sigue un algoritmo dos veces. y normalmente cuenta una avanzada interfaz gráfica de usuario (GUI). Debe ser finito. Este tipo de software incluye principalmente compiladores. Estos lenguajes se clasifican en tres grandes categorías : Lenguaje Máquina Lenguaje de Bajo nivel (ensamblador) Lenguaje de Alto nivel. depuradores. Un programa de Compiló: Ing. editores de música. Este lenguaje está compuesto por un conjunto de instrucciones que determinan acciones que serán por la máquina.u otros tipos de software especializados como software médico. o sea debe tener un número finito de pasos. se debe terminar en algún momento . Si se sigue un algoritmo. Debe ser definido. etc.

computadora consiste en una cadena de estas instrucciones de lenguaje de máquina (más los datos). extern. register. enum. Por otra parte. if. char. Consecuentemente es fácil su trasladado al lenguaje máquina.  Palabras reservadas Las palabras reservadas son algunos símbolos cuyo significado está predefinido y no se pueden usar para otro fin.  typedef. por ejemplo. El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático que se encarga de traducir un archivo fuente escrito en un lenguaje ensamblador.  Auto. int. Lenguajes de alto nivel Los lenguajes de Alto Nivel se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana. switch. a un archivo objeto que contiene código máquina. Héctor Bazarte Torres/Agosto-Diciembre 2018 4 de 27 . aquí tenemos algunas palabras reservadas en el lenguaje C. short. static. sizeof. Compiló: Ing. Puede ser tanto un programa ejecutable como su código fuente. un programa puede ser catalogado como un software de sistema o un software de aplicación. Este verbo tiene varios usos: se refiere a idear y ordenar las acciones que se realizarán en el marco de un proyecto. unsigned. return. break. ejecutable directamente por la máquina para la que se ha generado.  long. al anuncio de las partes que componen un acto o espectáculo.  else. a la preparación de máquinas para que cumplan con una cierta tarea en un momento determinado. double. que es escrito por los programadores. Estas instrucciones son normalmente ejecutadas en secuencia. a la elaboración de programas para la resolución de problemas mediante ordenadores.  Programación Programación es la acción y efecto de programar. do. continue . for. de acuerdo a sus funciones. struct. union. void y while  Programa Un programa informático o software es un elemento imprescindible para el normal funcionamiento de una computadora. case. float. con eventuales cambios de flujo causados por el propio programa o eventos externos. en lugar de a la capacidad ejecutora de las máquinas.default. y a la preparación de los datos necesarios para obtener una solución de un problema a través de una calculadora electrónica. El lenguaje de máquina es específico de cada máquina o arquitectura de la máquina. aunque el conjunto de instrucciones disponibles pueda ser similar entre ellas. Lenguajes de bajo nivel Un lenguaje de programación de bajo nivel es el que proporciona poca o ninguna abstracción del microprocesador de una computadora.

rara vez EBCDIC. en los conceptos y la forma de abstraer los elementos involucrados en un problema. Héctor Bazarte Torres/Agosto-Diciembre 2018 5 de 27 . siempre y cuando. a continuación. Tiene una estrecha relación con la formalización de determinados lenguajes en su momento de definición. De igual manera un traductor es el que toma como entrada un texto escrito y da como salida otro texto en un lenguaje llamado objeto. Compiló: Ing.  Paradigma de programación Un paradigma de programación es una propuesta tecnológica adoptada por una comunidad de programadores y desarrolladores cuyo núcleo central es incuestionable en cuanto que únicamente trata de resolver uno o varios problemas claramente delimitados. Hoy en día es comúnmente de 7. de una en una. conocidos comúnmente como archivos de texto o texto plano.  Compilador Un compilador es un programa informático.  Editor de textos Un editor de texto es un programa que permite crear y modificar archivos digitales compuestos únicamente por texto sin formato. Un paradigma de programación representa un enfoque particular o filosofía para diseñar soluciones. la resolución de estos problemas debe suponer consecuentemente un avance significativo en al menos un parámetro que afecte a la ingeniería de software. es decir convierte un programa hecho en lenguaje de programación de alto nivel a un lenguaje de máquina . Los paradigmas difieren unos de otros. que se encarga de traducir el código fuente de una aplicación que este en desarrollo. el cual es conocido como de bajo nivel. pero. el cómputo. Es un estilo de programación empleado.ó 8-bits en ASCII o UTF-8. No debe confundirse con procesador de texto o corrector de textos. así como en los pasos que integran su solución del problema. y así sucesivamente.  Interprete Programa traductor semejante al compilador. El proceso que realiza un intérprete es el siguiente: lee la primera instrucción del código fuente. no se produzca ningún error que detenga el proceso. las instrucciones del código fuente de un programa. con la diferencia en su funcionamiento el cual se caracteriza por traducir y ejecutar. El programa lee el archivo e interpreta los bytes leídos según el código de caracteres que usa el editor. sin generar como salida código objeto. en otras palabras. de tal forma que sea más entendible y mucho más fácil de procesar en el equipo en el que se está ejecutando. hasta llegar a la última instrucción del programa. la traduce a código objeto y la ejecuta. hace lo mismo con la segunda instrucción.

Diseño de la solución. etc.. de los sistemas operativos Windows para entrar a dicha consola. y el sistema operativo carga comandos adicionales. es el algoritmo A fin de resolver un problema utilizando sistemas de cómputo. Instalarle Software o trabajar en una maquina remota. La tarea de un programador cuando hace un programa es decirle al ordenador como debe usar esos comandos básicos que ya sabe para poder realizar lo que el programa quiere hacer. Un procedimiento para producir los resultados deseados a partir de los datos. guardar un documento. sea mostrar una imagen.  Archivo ejecutable Un ejecutable es un archivo diseñado para poder iniciar un programa. Análisis de problemas Es el primer paso a seguir para encontrar la solución a un problema es el análisis del problema. que le permiten realizar las tareas más simples. También se puede definir como Es un método que permite a las personas dar instrucciones a algún programa informático por medio de una línea de texto simple. En su interior están pues las instrucciones precisas para poder ejecutar un programa determinado o varios.3. Los ordenadores pueden realizar todo tipo de tareas. escribir texto. En seguida se deben identificar aquellos elementos de información ofrecidos por el problema y que resulten útiles para obtener la solución al problema. Son como un niño a quien debe decírsele paso a paso lo que hacer y cuando. debe seguirse una serie de pasos que permiten avanzar por etapas bien definidas hacia la solución. Compiló: Ing. Análisis de los datos. Héctor Bazarte Torres/Agosto-Diciembre 2018 6 de 27 . se manejaba la computadora a base de comandos como hoy conocemos. En el análisis del problema se requiere del máximo de creatividad e imaginación Debido a que se busca una solución se debe examinar cuidadosamente el problema a fin de identificar qué tipo de información es necesaria producir.. es la instrucción que se teclea en el menú inicio. Codificación. En su memoria base suelen cargarse las instrucciones básicas. por ejemplo: el cmd (abreviatura de command). Estas etapas son las siguientes: Definición del problema. 1. Sirve para configurar una computadora.  Consola de línea de comandos Es una interfaz para manipular un programa o sistema operativo con instrucciones escritas. de hecho esto se hacía antes. pero para ello debe indicárseles como.

Análisis Las entradas de datos en este problema se concentran en el radio del círculo. el cual debe ser claro y complejo. mientras esto no se comprenda no puede pasarse a la siguiente etapa.  Definición del problema Está dada en sí por el enunciado del problema. Dado que el radio puede tomar cualquier valor dentro del rango de los números reales. Las salidas serán dos variables : superficie y circunferencia que también serán de tipo real. Mantenimiento. Herramientas a nuestro alcance para manipular los datos y alcanzar un resultado (fórmulas. Una vez que el problema ha sido definido y comprendido. Ejemplo: Leer el radio de un círculo y calcular e imprimir su superficie y circunferencia. el tipo de datos radio debe ser real. Una medida aconsejable para facilitar esta etapa consiste en colocarnos en lugar de la computadora deduciendo los elementos que necesitaremos para alcanzar el resultado. Compiló: Ing. Entradas : Radio del círculo (variable RADIO).  Análisis de los datos Para poder definir con precisión el problema se requiere que las especificaciones de entrada y salida sean descritas con detalle ya que esto es un requisito para lograr una solución eficaz. tablas. deben analizarse los siguientes aspectos : Los resultados esperados. Héctor Bazarte Torres/Agosto-Diciembre 2018 7 de 27 . Es importante que conozcamos exactamente "que se desea obtener al final del proceso" . Documentación. accesorios diversos). Prueba y depuración. Los datos de entrada disponibles.

previo a la compilación deberá existir un paso conocido como transcripción. Circunferencia del círculo (variable CIRCUNFERENCIA).  Diseño de la solución Una computadora no tiene capacidad para solucionar problemas más que cuando se le proporcionan los sucesivos pasos a realizar. El problema de cálculo de la longitud y superficie de un círculo se puede descomponer en subproblemas más simples : Leer datos de entrada. de diagrama de flujo o natural de programación. Como puede verse.1 tenemos que la información proporcionada constituye su entrada y la información producida por el algoritmo constituye su salida. En caso de obtenerse varios algoritmos. CIRCUNFERENCIA tipo real. Escribir resultados (datos de salida).Salidas : Superficie del círculo (variable AREA). Variables : RADIO. es decir . Esta etapa incluye la descripción del algoritmo resultante en un lenguaje natural. sin alcanzar la implementación en el sistema de cómputo.  Codificación Se refiere a la obtención de un programa definitivo que pueda ser comprensible para la máquina. Los problemas complejos se pueden resolver más eficazmente por la computadora cuando se dividen en subproblemas que sean más fácil de solucionar. Si la codificación original se realizó en papel. Calcular superficie y longitud. AREA. Incluye una etapa que se reconoce como compilación. seleccionar uno de ellos utilizando criterios ya conocidos. Héctor Bazarte Torres/Agosto-Diciembre 2018 8 de 27 . esto se refiere a la obtención de un algoritmo que resuelva adecuadamente el problema. Compiló: Ing. solo se establece la metodología para alcanzar la solución en forma conceptual. De acuerdo al ejemplo 2.

se procede a la utilización para resolver problemas del tipo que dió origen a su diseño. Comúnmente se inicia la prueba de un programa introduciendo datos válidos. Programa Ejecutable Está en lenguaje máquina. Visual Basic. Héctor Bazarte Torres/Agosto-Diciembre 2018 9 de 27 .Visual Fox. Entendible por la máquina.  Prueba y depuración Una vez que se ha obtenido el programa ejecutable. (pascal.  Documentación Debido a que el programa resultante en esta etapa se encuentra totalmente depurado (sin errores). este es sometido a prueba a fin de determinar si resuelve o no el problema planteado en forma satisfactoria. etc). Las pruebas que se le aplican son de diversa índole y generalmente dependen del tipo de problema que se está resolviendo.Programa Fuente Esta escrito en un lenguaje de programación. Es entendible por el programador. inválidos e incongruentes y observando como reacciona en cada ocasión. El proceso de depuración consiste en localizar los errores y corregirlos en caso de que estos existan. Si no existen errores. C++. puede entenderse la depuración como una etapa de refinamiento en la que se ajustan detalles para optimizar el desempeño del programa. Compiló: Ing.

 Diagramas de flujo: ha sido la herramienta de programación por excelencia. muy parecido al español pero más conciso que permite la redacción rápida del algoritmo. Es fácil de diseñar pues el flujo lógico del algoritmo se muestra en un diagrama en lugar de palabras. La simbología utilizada para la elaboración de diagramas de flujo es variable y debe ajustarse a un patrón definido previamente. Héctor Bazarte Torres/Agosto-Diciembre 2018 10 de 27 . Se les llama diagramas de flujo porque los símbolos utilizados se conectan por medio de flechas para indicar la secuencia de operación.4 Representación de algoritmos Las herramientas de programación utilizadas como lenguajes algorítmicos para representar las soluciones de problemas por computadora (algoritmos) más empleadas son:  Pseudocódigo: es un lenguaje algorítmico. debe crearse un manual o guía de operación que indique los pasos a seguir para utilizar el programa.  Mantenimiento Se refiere a las actualizaciones que deban aplicarse al programa cuando las circunstancias así lo requieran. y aún hoy sigue siendo muy utilizada. En vista de que esta utilización no podrá ser supervizada en todas las ocasiones por el programador. Este programa deberá ser susceptible de ser modificado para adecuarlo a nuevas condiciones de operación. Cualquier actualización o cambio en el programa deberá reflejarse en su documentación 1. Las tres técnicas de formulación de algoritmos más populares son : Diagrama de flujo Pseudocódigo Diagramas estructurados Diagramas de Flujo Se basan en la utilización de diversos símbolos para representar operaciones específicas. Compiló: Ing.

Héctor Bazarte Torres/Agosto-Diciembre 2018 11 de 27 . SIMBOLOGIA UTILIZADA EN LOS DIAGRAMAS DE FLUJO Símbolo Función Compiló: Ing.

Compiló: Ing. precio de la hora de trabajo y considerando unos descuentos fijos al salario bruto en concepto de impuestos (20 por 100).Ejemplo: Calcular el salario neto de un trabajador en función del número de horas trabajadas. Héctor Bazarte Torres/Agosto-Diciembre 2018 12 de 27 . Ejemplo: Realizar un diagrama de flujo que permita mostrar en pantalla un mensaje de mayoría o minoría de edad según sea el caso para un nombre específico.

end. Dada la importancia del algoritmo en la ciencia de la computación. la traducción a un lenguaje de programación) relativamente fácil. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de que lo ejecuta.Pseudocódigo Es un lenguaje de especificación de algoritmos. sin embargo. El pseudocódigo nació como un lenguaje similar al inglés y era un medio representar básicamente las estructuras de control de programación estructurada. El uso de tal lenguaje hace el paso de codificación final (esto es. El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés (similares a sus homónimos en los lenguajes de programación). dado que el pseudocódigo tiene que traducirse posteriormente a un lenguaje de programación. En consecuencia. el algoritmo será siempre el mismo. Héctor Bazarte Torres/Agosto-Diciembre 2018 13 de 27 .5 Diseño de algoritmos aplicado a problemas Para llegar a la realización de un programa es necesario el diseño previo de algoritmo. repeat-until…. estas acciones se pueden concebir como algoritmos. de modo que sin algoritmo no puede existir un programa. por lo que resulta importante conocer la definición. Cabe señalar que el pseudocódigo no puede ser ejecutado por una computadora. Compiló: Ing. cada una de ellas lograr un objetivo en específico y en conjunto alcanzar un objetivo general. además de todo esto es fácil su traducción a lenguajes como pascal. FORTRAN o BASIC. stop. el programador se puede concentrar en la lógica y en las estructuras de control y no preocuparse de las reglas de un lenguaje específico. La ventaja del pseudocódigo es que en su uso en la planificación de un programa. tales como star. características e importancia que tienen los algoritmos en los distintos ámbitos de la vida cotidiana. while. Es también fácil modificar el pseudocódigo si se descubren errores o anomalías en la lógica del programa. Se considera un primer borrador.begin. Al resolver problemas de distinta índole. C. Dicha metodología se encuentra caracterizada por una serie de acciones o situaciones llevadas a cabo. un aspecto muy importante será el diseño de algoritmos. En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una distinta. Las cuales tienen como propósito.etc 1. COBOL. if-then-else. en muchas ocasiones se sigue una metodología para conseguir tal propósito.

En cada problema el algoritmo se puede expresar en un lenguaje diferente de programación y ejecutarse en una computadora distinta. (Fase de codificación). En esencia. Para llegar a la resolución de un problema es necesario el diseño previo de un algoritmo.De la misma manera los algoritmos son una herramienta vital para la solución de problemas mediante computadora. describe la secuencia ordenada de pasos. La resolución de un problema exige el diseño de un algoritmo que resuelva el mismo. (Análisis del problema y desarrollo del algoritmo). sin embargo. por ejemplo. enfatiza que el diseño de la mayoría de los algoritmos requiere creatividad y conocimientos profundos de la técnica de programación. que conducen a la solución de un problema dado. Expresar el algoritmo como un programa en un lenguaje de programación adecuado. sin ambigüedades. inglés o francés. En la ciencia de la computación y en la programación. 3. Joyanes Aguilar. Dada la importancia del algoritmo en la ciencia de la computación. Características de los algoritmos Las características fundamentales que debe cumplir todo algoritmo son: Compiló: Ing. Así. un aspecto importante será el diseño de algoritmos. La propuesta para la resolución de un problema es la siguiente: Figura 1. 2. Diseño del algoritmo. la solución de un problema se puede expresar mediante un algoritmo. los algoritmos son más importantes que los lenguajes de programación o las computadoras. Héctor Bazarte Torres/Agosto-Diciembre 2018 14 de 27 . Tanto el lenguaje de programación como la computadora son los medios para obtener un fin: conseguir que el algoritmo se ejecute y se efectúe el proceso correspondiente. Ejecución y validación del programa por computadora. la receta de un platillo de cocina se puede expresar en español. Los algoritmos son independientes tanto del lenguaje de programación en que se expresan como de la computadora que los ejecuta. del mismo se realizarán sin importar el idioma del cocinero. en una analogía con la vida diaria. pero cualquiera que sea el lenguaje. es por ello que esta unidad pretende dar a conocer los conceptos básicos de los algoritmos. el algoritmo será siempre el mismo. Resolución de un problema. los pasos para la elaboración. de modo que sin algoritmo no puede existir un programa. 1 Los pasos para la resolución de un problema son: 1. Un lenguaje de programación es tan sólo un medio para expresar un algoritmo y una computadora es sólo un procesador para ejecutarlo.

0. así como tiene un inicio debe tener un fin. se debe terminar en algún momento. 1. en el cálculo de la edad de una persona. o sea..  Un algoritmo debe ser finito. el resultado es la edad. ese número se va incrementando.si el resultado del paso 4 es mayor o igual a 7.1 y 5.0 entonces 5. Es decir. La definición de un algoritmo debe describir tres partes: Entrada.. Se observa que los pasos del algoritmo tienen un número que conforme se va describiendo la secuencia. Salida: visualización del resultado generado.-sumar las cinco calificaciones del alumno 4. lo que se observa en los pasos 1 y 6.El resultado del paso 3 dividirlo entre cinco 5. se debe obtener el mismo resultado cada vez.2 Visualizar Alumno reprobado fin_si 6. Si se sigue un algoritmo dos veces... la definición del algoritmo. estrategia recomendada tanto en Compiló: Ing. Es importante destacar que todo algoritmo es finito. información del año de nacimiento y el actual. es por ello el empleo de las palabras reservadas (si-entonces-sino if-then-else) las cuales se emplean para la selección o toma de decisiones. Si se sigue un algoritmo. Por ejemplo. En el paso 5. conociendo su año de nacimiento. Escritura de algoritmos Se emplea un lenguaje natural describiendo paso a paso el algoritmo en cuestión. es decir. En la realización del algoritmo aplicar sus tres características: preciso. Proceso y Salida. definido y finito. por su naturaleza existió la necesidad de tomar decisiones. Por ejemplo algoritmo para conocer si el promedio de un alumno es aprobatorio o no teniendo como referencia que alumno cursa 5 materias y además que el promedio mínimo aprobatorio es 7. que no es más que una tabulación.solicitar las cinco calificaciones del alumno 3.  Un algoritmo debe estar definido. no se prestan a confusión. Así mismo podrá notarse que en el ejemplo. quedaría de la siguiente manera: Entrada: la edad de la persona.. Proceso: realizar la diferencia del año actual menos el año de nacimiento. En el ejemplo se ilustra la precisión de cada una de las actividades.  Un algoritmo debe ser preciso e indicar el orden de realización de cada paso. debe tener un número finito de pasos.2 se implementa lo que se conoce como (sangrado o justificación) en la escritura de algoritmos.1Visualizar Alumno aprobado si_no 5.inicio 2. Héctor Bazarte Torres/Agosto-Diciembre 2018 15 de 27 . El lenguaje que se emplea es de lo más natural.fin En el algoritmo anterior se dio solución al planteamiento básico del cálculo del promedio de un alumno.

PRODUCTO son números enteros Algoritmo: escribir “Introduzca las notas” leer NOTA1.. área Entorno: BASE. ya que faciliten la lectura y permite un análisis más fluido de lo escrito.la escritura de éstos.NOTA2 calcular SUMA = NOTA1 + NOTA2 calcular PRODUCTO = NOTA1 * NOTA2 escribir “La suma de las dos notas es:” SUMA escribir “El producto de las dos notas es :”PRODUCTO Finprograma Compiló: Ing. calculando la suma y el producto de las notas. Se debe introducir la base y la altura para poder realizar el cálculo. Ejemplos de Pseudocódigo Ejemplo: Realizar el pseudocódigo de un programa que permita calcular el área de un rectángulo.SUMA.NOTA2. como en la captura de programas de computadora. ALTURA calcular AREA = BASE * ALTURA escribir “El área del rectángulo es “AREA Finprograma Ejemplo: Realizar el pseudocódigo que permita al usuario introducir por teclado dos notas. Héctor Bazarte Torres/Agosto-Diciembre 2018 16 de 27 . Programa. AREA son número enteros Algoritmo: escribir “Introduzca la base y la altura” leer BASE. Programa: SumaProducto Entorno: NOTA1. ALTURA.

i LEER Y ESCRIBE "El punto es (" x+3". i LEER x ESCRIBE "Ordenada del punto número ". Héctor Bazarte Torres/Agosto-Diciembre 2018 17 de 27 .y) de los tres puntos movidos 3 puntos hacia la derecha. menor o igual a cero. Como podemos apreciar en un programa en Pascal es importantísimo no olvidar detalles de sintaxis. Ejemplo: Realizar el pseudocódigo de un programa que permita saber si un número es mayor.y: real INICIO PARA i=1 HASTA 3 CON INCREMENTO +1 ESCRIBE "Abscisa del punto número ". Programa: ComparaNúmeros Entorno: NUMERO es un número entero Algoritmo: Escribir “Introduzca un número “ leer NUMERO SI NUMERO>0 ENTONCES escribir “El número introducido es positivo” SI NO SI NUMERO<0 ENTONCES escribir “El número introducido es negativo” SI NO escribir “El número es cero” FINSI FINSI Finprograma Supongamos un algoritmo que lea las coordenadas de tres puntos y los mueva tres puntos en la coordenada x y escriba el resultado en algún dispositivo de salida: ALGORITMO lee_tres_vertices ENTRADA: las coordenadas (x. VARIABLES: i:entera x.y) de tres puntos SALIDA: las coordenadas (x. Por ejemplo cada Compiló: Ing."y")" FIN_PARA FIN El programa equivalente a este algoritmo se muestra a continuación.

sentencia termina en punto y coma. readln(y). begin for i:=1 to 3 do begin write ('Abscisa del punto número '. Un algoritmo cuenta con un inicio y sus subprogramas llamados también diseño modular. Compiló: Ing. suma.y:real. var x. write ('Ordenada del punto número '.')'). program lee_tres_vertices. suma fin programa 1.6 Diseño algorítmico de funciones En este se explica detalladamente lo que realiza el algoritmo para resolver el problema planteado. Problema: calcular y mostrar la suma de los diez primeros números entre 1 y 1000 que sean divisibles por uno dado. número inicio programa divisor leer ‘Introduce el divisor: ’ suma 0 contador 0 para número desde 1 hasta 1000 hacer si divisor divide a número entonces suma suma + número contador contador + 1 fin si si contador = 10 entonces interrumpir fin si fin para escribir ‘La suma es’. Héctor Bazarte Torres/Agosto-Diciembre 2018 18 de 27 . es decir.x+3.'.i). la función Salida.'. programa suma_divisibles variables natural : divisor. De cualquier forma es inmediato apreciar los simples cambios existentes. Los cálculos que realizan las computadoras requieren para ser útiles la función de Entrada de los datos necesarios para ejecutar las operaciones que posteriormente se convertirán en resultados. end.i). en un diseño de algoritmo que sea complejo puede subdividirse en subprogramas para el estudio o la revisión de los pasos que lleven a la solución y sea menos el índice de errores que tenga al momento de la prueba. end. readln(x). i:integer. y a este diseño se le conoce como diseño modular pues es sencillo revisar cada proceso ya antes dividido para su rápida especificación y prueba. contador. writeln (' El punto es ('.y.

Esta entrada se conoce como operación de Lectura (scanf en lenguaje C). Las operaciones (funciones) de entrada permiten leer determinados valores y asignarlos a determinadas variables.  Dividir resultado de la multiplicación anterior entre dos. Héctor Bazarte Torres/Agosto-Diciembre 2018 19 de 27 . Algoritmo Inicio Leer(B) leer(h) x B*h A x/2 Escribir(A) Fin Compiló: Ing. altura) Proceso  Multiplicar Base y altura. unidades de disco.  Mostrar resultado de división anterior. Salida  Area del triángulo. Entrada  Fórmula (A= B*h/2)  Datos (Base. La salida puede aparecer en un dispositivo de salida (pantalla. etc). En la escritura de algoritmos las acciones de lectura y escritura se representan por los formatos siguientes leer ( Nom_variable ) escribir (lista de variables de salida) Ejemplo: Obtener área de un triángulo. La operación de salida se denomina escritura (printf en lenguaje C). etc). impresora. Los datos de entrada se introducen al procesador mediante dispositivos de entrada (teclado.

char *argv[]) { . int i. long x. c). . . i)..Los programas más simples escritos en lenguajes imperativos suelen realizar tres tareas de forma secuencial: • Entrada de datos • Procesamiento de los datos • Salida de resultados Operaciones de entrada/salida Salida por pantalla con la función printf La función printf. printf(“Mi programa v1. } Mostrar datos en función de su tipo char c. que forma parte de la biblioteca estándar de funciones de entrada/salida <stdio.. nos permite mostrar mensajes de texto en la pantalla cuando ejecutamos un programa: #include <stdio. printf (“%c”.. printf (“%d”. printf (“%ld”. ... x)..0”).h> int main (int argc...h>.. . Héctor Bazarte Torres/Agosto-Diciembre 2018 20 de 27 . Compiló: Ing..

Héctor Bazarte Torres/Agosto-Diciembre 2018 21 de 27 . printf (“%f”. printf (“%Lf”. . . de la biblioteca estándar de funciones de entrada/salida <stdio... .&dato).. printf (“Otra línea de texto.float f.\n”). Entrada desde el teclado con la función scanf La función scanf. f).\n”)..h>.h> int main (int argc. d).. nos permite leer datos desde el teclado para suministrarle datos de entrada a un programa: #include <stdio. } Compiló: Ing.... Mostrar mensajes en distintas líneas printf (“Una línea de texto. long double r. double d.. scanf (“%d”.. . r). char *argv[]) { . printf (“%lf”.

&d). &i)...... Héctor Bazarte Torres/Agosto-Diciembre 2018 22 de 27 .. scanf (“%Lf”. &r). .. double d. .Leer datos en función de su tipo char c. &c). lista de referencias a variables). scanf (“%d”.. int i.. float f. scanf(“plantilla de formato”. scanf (“%lf”. Operaciones de entrada/salida printf(“plantilla de formato”. &f). long x. lista de variables). long double r. &x). . . ... scanf (“%c”.. scanf (“%f”. Compiló: Ing. scanf (“%ld”. .

proceso y salida. • X indica el tipo del dato: %d Número entero en decimal %x Número entero en hexadecimal %o Número entero en octal %c Carácter %s Cadena de caracteres %f Número real %e Número real en notación científica Lo destacable de la unidad seria… Metodología para la solución de problemas por computadora Planteamiento del problema Desarrollar una aplicación en lenguaje de C.mX • El número n indica el número de caracteres que se utilizarán como mínimo para representar el dato (número total de dígitos en el caso de los números. discurrirlo. Análisis del problema  Entender de qué se trata el caso en cuestión. • El signo menos (-) es opcional y lo usaremos para indicar que el texto ha de justificarse a la izquierda.  Contextualizarlo  Obtener datos de entrada. • El número . el área de un círculo. En el caso de los números reales. Considere la constante Pi igual 3.1416. podemos especificar cómo deseamos hacerlo: Sintaxis general %-n. Así como. indica el número de decimales que se mostrarán.m indica el número máximo de caracteres que se utilizarán para representar el dato. que sea capaz de calcular y mostrar por pantalla.Salida de datos con formato Al representar un número o una cadena. tanto enteros como reales). Héctor Bazarte Torres/Agosto-Diciembre 2018 23 de 27 . Compiló: Ing. los tipos de datos de la información que se requiere.

1416 /* definición de constante */ /***Programa que recibe el valor del radio de un círculo . como a continuación se indica.1416. Programa principal Escribir (“Dame el valor del radio”).Area). Compiló: Ing. valores de constantes.  Descifrar si se requieren herramientas auxiliares para su solución: formulas. en este caso. procedimientos y subprocediemientos)  Describir con palabras. Empleando un editor de textos (no un procesador de textos¡¡). Area=Radio *Radio *PI. area. la propuesta de solución  Decidir si la representación de la solución es por: pseudocódigo o diagrama de flujo de datos. empleando el LP llamado “C”. Fin Codificación Transformar el pseudocódigo en su equivalente código de un lenguaje de programación. escribir: #include <stdio. Leer (radio). Héctor Bazarte Torres/Agosto-Diciembre 2018 24 de 27 . Inicio Declarar variables o contantes: PI = 3. Diseño del algoritmo  Cómo hace el programa para solucionar el caso (división de procesos. símbolos o diagramas. Escribir (“El area del circulo fue de :”. calcula y *********/ /***y muestra por pantalla. el correspondiente valor del área. bajo el paradigma estructurado. etc.h> #define PI 3. *********/ /***Elaboró: Héctor Bazarte Torres *********/ /***Fecha: 12-09-2012 *********/ /***Materia: ALP *********/ main (){ float radio.

A través del menú Ejecutar. principalmente. En él se obtiene un código: Libre de errores de escritura (de sintaxis o llamados sintácticos). LE INFORMARA QUE LA TIENDA TIENE UNA PROMOCION QUE CONSISTE EN QUE SEGÚN LA FORMA DE PAGO EXISTE UN PORCENTAJE DE DESCUENTO. AL TERMINAR DE LEER TODOS LOS PRODUCTOS.. scanf ("%f". LA CANTIDAD TOTAL A PAGAR. SI EL CLIENTE PAGA EN EFECTIVO SE LE HARA UN DESCUENTO DEL 5%. escrito en lenguaje de máquina (proceso llamado compilación). Se corrigen errores de ejecución. DONDE UNA CAJERA A TRAVÉS DE UN ESCANER.. Ejercicios complementarios 1.. SI LO HACE CON TARJETA DE CREDITO Compiló: Ing. UNA VEZ QUE SELECCIONO SUS PRODUCTOS Y CANTIDADES DE LOS MISMOS. printf ("dame el valor para el radio \n "). en su equivalente programa objeto. ASI COMO. }/* fin del programa principal */ Compilación y ejecución Se trata de transformar el programa fuente. Héctor Bazarte Torres/Agosto-Diciembre 2018 25 de 27 . PERO ANTES DE ELLO.&radio). opción compilar. Luego. ES DECIR. getch(). A través del menú Ejecutar. ampliando las alternativas de las corridas. %f ". se verifica que el programa haga lo que se supone debe de hacer (se dice “correr” el programa). con diferentes valores. escrito en un lenguaje fuente (C). UN CLIENTE ACUDE A REALIZAR SUS COMPRAS A UN SUPERMERCADO O TIENDA DE ABARROTES. IRA TECLEANDO LA CANTIDAD DE CADA UNO DE ELLOS. LLEGA A LA CAJA DE PAGO. LA CAJERA LE COMUNICARA AL CLIENTE. area= radio * radio * PI.. printf ("El area del circulo es.area). IRA LEYENDO LOS CODIGOS DE BARRA DE CADA UNO DE LOS PRODUCTOS. Depuración Se corrigen los errores de lógica o de ejecución del programa. manuales de usuario o de operación del programa/sistema. EN SU CASO. return 0. Verificación Se complementa la fase anterior de pruebas. Mantenimiento y documentación Se documenta el programa: comentarios.

AL FINAL. Y SI PAGA CON CHEQUE. Héctor Bazarte Torres/Agosto-Diciembre 2018 26 de 27 . APELLIDOS. LA CAJERA DEBERA ENTREGARLE AL CLIENTE UNA FACTURA QUE CONTENGA LOS DATOS SIGUIENTES:  CANTIDAD DE PRODUCTOS  NOMBRE DEL PRODUCTO  PRECIO UNITARIO  SUBTOTAL DE CADA PRODUCTO  EL SUBTOTAL DE LAS COMPRAS  EL DESGLOSE DEL 15% IVA ( DERIVADO DE ANTES HABER HECHO EL DESCUENTO RESPECTIVO POR LA FORMA DE PAGO)  EL TOTAL DE LAS COMPRAS SI DESEA. DIRECCION. 2. SU DESCUENTO SERA DEL 10%. EL CLIENTE DEBE DE INDICAR SU FORMA DE PAGO.7 Nota: Área de un triángulo = base * altura / 2 3. 2º) Muestre por pantalla el resultado de realizar la división entera del primer número introducido por el usuario entre el segundo. ETC. y el resto.5 El área del triángulo es: 2. En pantalla: Introduzca dividendo (entero): 39 Introduzca divisor (entero): 5 39 div 5 = 7 ( Resto = 4 ) Nota: Se entiende que el usuario no introducirá un divisor igual a cero. Compiló: Ing. Diseñe el algoritmo (en pseudocódigo) de un programa que: 1º) Pida por teclado dos números (datos enteros). 4º) Muestre por pantalla el resultado (dato real). En pantalla: Introduzca base: 1. Diseñe el algoritmo (en pseudocódigo) de un programa que: 1º) Pida por teclado la base (dato real) de un triángulo.2 Introduzca altura: 4. PARA ELLO. 2º) Pida por teclado la altura (dato real) de un triángulo. TELEFONO.). 3º) Calcule el área del triángulo. INCLUYA EN SU FACTURA DATOS DEL CLIENTE (NOMBRE. SE LE REEMBOLSARA EL 15% DE SU PAGO TOTAL.

es decir.INGRESAR POR TECLADO.. Héctor Bazarte Torres/Agosto-Diciembre 2018 27 de 27 .).. pero siempre y cuando ese número este entre un valor de 50 y 432.Determinar y mostrar por pantalla.Solicitar la calificación de cada una de tres unidades de un curso de Programación a un estudiante del ITSLP. y calcular y mostrar por impresora. Zona de ejercicios (Prácticas y ejercicios en clases: con valor indicado en los criterios de unidad) Deberá resolver los siguientes ejercicios. es al mismo tiempo. Se pide ambas representaciones. el promedio de su curso. los ejemplos resueltos en documento anexo compartido vía correo o en el sitio web de la materia. Ejercicios en clases 1. Nota: Tomen como referencia. Y MUESTRE POR PANTALLA ESE NUMERO.Calcular y mostrar por pantalla. respectivamente) teniendo en cuenta que los deberá tener en su libreta de apuntes y haberlos construido en el algún procesador de textos y/o software de diagramación (por ejemplo: raptor o el propio Microsoft Word. 2. NOTA: ESE NUMERO INICIAL. aplicando las dos primeras fases de la metodología para la solución de problemas por computadora (análisis y diseño. si un número proporcionado por el usuario. 2. ¡Éxito a tod@s! Compiló: Ing. la tabla de multiplicar que un usuario indique. PERO DE FORMA INVERTIDA (PARA EL ANTERIOR CASO.. resuélvalos en pseudocódigo y en diagrama de flujos. al mismo tiempo. SERIA EL NUMERO 654). ESTARA GUARDADO EN UNA SOLA VARIABLE. múltiplo del 2 y del 3.. UN NUMERO ENTERO DE TRES CIFRAS (POR EJEMPLO EL 456). Prácticas 1.