SlideShare una empresa de Scribd logo
1 de 35
Descargar para leer sin conexión
UNIVERSIDAD TECNOLÓGICA DEL CHOCÓ
      FACULTAD DE INGENIERÍA
   PROGRAMA DE TELEINFORMÁTICA

  ASIGNATURA: Lógica de Programación



                 Docente
      MARTHA IMELDA LUNA LÓPEZ
         Ing. De Sistemas U. Eafit
Esp. En Derecho de las Telecomunicaciones
Unidad N. III
Generalidades sobre algoritmos
         y programas

           Objetivo:
Introducir a los estudiantes
  en el tema de algoritmos
 como una herramienta de
    interpretación de un
        problema real.
INTRODUCCIÓN


La principal razón para que las personas aprendan lenguajes y técnicas de
programación es utilizar el computador como una herramienta para resolver
problemas.

La resolución de un problema exige al menos los siguientes pasos:

1.- Definición o análisis del problema.

2.- Diseño del algoritmo.

3.- Transformación del algoritmo en un programa.

4.- Ejecución y validación del programa.
PROBLEMA



Los problemas son una serie de inquietudes que se plantean para ser resueltas.
La naturaleza de los problemas varía con el contexto en que se presenta:
problemas matemáticos, químicos, filosóficos, etc.

Es importante que al tratar un problema se tenga una descripción simple y
precisa del mismo, de lo contrario resultaría complejo tratar de simular, o
programar su solución en un computador.

Un programador es una persona que resuelve problemas, y para llegar a ser un
programador eficaz se necesita aprender a resolver problemas de un modo
riguroso y sistemático.

                               Diseño Algoritmo
 Problema

                                                            Programa
                   Análisis
ALGORITMO

Serie de pasos lógicos y ordenados con los cuales le damos solución a un
problema determinado o a un objetivo específico. Sin algoritmos no puede
existir un programa. Los algoritmos son independientes tanto del lenguaje de
programación como del computador que los ejecuta.

La palabra “Algoritmo” viene de un matemático persa que vivió en el siglo IX
llamado Mohammed Al-Khowârizî, cuyo apellido traducido al latín es Algorismus.

Características de un algoritmo:

• Preciso: indicar el orden de realización de las instrucciones.
• Definido: si se sigue el algoritmo dos veces, se debe obtener el mismo
resultado.
• Finito, siempre debe terminar despues de un número finito de pasos.

Ej. Obtener el área de un rectángulo.
1. Obtener la medida de la base del rectángulo
2. Obtener la medida de la altura del rectángulo
3. Multiplicar la medida de la base por la medida de la altura.
ALGORITMO


  Ejemplo tradicional de un algoritmo: Cambiar la llanta pinchada de un carro.


1. Buscar herramientas, llanta de repuesto y
    triángulo de señalización
2. Ubicar el triángulo en el lugar adecuado
3. Ir al lugar de la llanta averiada
4. Sacar las tuercas
5. Colocar el gato
6. Levantar el carro
7. Sacar la llanta
8. Colocar la llanta de Repuesto
9. Colocar las tuercas
10. Apretar las tuercas
11. Guardar las herramientas
FIN
FASES DE UN ALGORITMO


Fase de Análisis: consiste en el estudio
   detallado del problema con el fin de
                                                 Algoritmo PRUEBA
   obtener una serie de documentos
   (especificación) en los cuales quedan         Inicio
   totalmente definido el proceso a seguir en
                                                  Variables
   la automatización
                                                  A,B,C: entero
Diseño: consiste en la realización del                     Leer(A,B)
   algoritmo que resuelve el problema de                   C A+B
   acuerdo a la especificación dada en la fase
                                                           Escribir (C)
   anterior. El algoritmo se representa
   mediante pseudocódigo.                        Fin

Codificación: consiste en la traducción del
   algoritmo a un programa escrito en un
   lenguaje de programación
………FASES DE UN ALGORITMO


Compilación/Interpretación: consiste en obtener el programa ejecutable u
objeto a partir del programa fuente.




                                                Programa ejecutable
 Programa fuente
………FASES DE UN ALGORITMO

   Prueba: consiste en determinar si el programa funciona correctamente y realiza
   las operaciones que esperamos de él.




Programa ejecutable                                     Aplicación
SEUDOCODIGO


Serie de instrucciones abstractas que resuelven un problema.          Es una
herramienta útil para el seguimiento de la lógica de un algoritmo, facilita la
transcripción a un lenguaje de programación. Con el seudocódigo representamos
los pasos de un algoritmo a través de palabras, utilizando una nomenclatura
estandarizada para el significado de cada paso.

Ej. Obtener el área de un rectángulo.

1. Inicio
2. Leer BASE
3. Leer ALTURA
4. AREA = BASE * ALTURA
5. Escribir AREA
6. Fin
LENGUAJES DE PROGRAMACIÓN


Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar
información.

Lenguaje de Programación: es un lenguaje que permite la traducción de un
algoritmo para que sea entendible por el computador. Son los lenguajes utilizados
para escribir programas de computadores.

Tipos de Lenguaje de Programación:

 Lenguaje de Máquina

 Lenguaje de Bajo Nivel (Ensamblador)

 Lenguaje de Alto Nivel
LENGUAJE DE MÁQUINA


        Son aquellos que están escritos en lenguaje directamente inteligibles por
la máquina, ya que sus instrucciones son cadenas binarias (0’s ,1’s) que especifican
una operación.

 Las instrucciones en lenguaje máquina dependen del Hardware de la
computadora, difiere de una PC a otra.

  La ventaja de los lenguajes máquina es que ofrecen mayor velocidad de
ejecución.

  Existen algunas desventajas: dificultad y lentitud en la codificación, poca fiabilidad,
los programas no son portables.


                          11001010 00010111 11110101 00101011
                          00010111 11110101 00101011 00101011
                          11001010 00010111 11110101 00101011
                          11001010 11110101 00101011 00101011
                          11001010 00010111 11110101 00101011
                          00010111 11110101 00101011 00101011
                          11001010 11110101 00101011 00101011
LENGUAJE DE BAJO NIVEL




  Son lenguajes que permiten escribir programas con instrucciones
similares al lenguaje humano.

  Son más fáciles de utilizar que los lenguajes de máquina, pero éstos
también dependen de la máquina en particular.

 El mejor ejemplo es el lenguaje ensamblador

  Un programa escrito en lenguaje ensamblador requiere una fase de
traducción

  Entre las desventajas tenemos: que este lenguaje depende de la
máquina y demanda una mayor exigencia para los programadores, ya
que deben conocer tanto las técnicas de programación así como el
interior de la máquina.
Ejemplo Lenguaje Ensamblador

; HOLA.ASM
STACK SEGMENT STACK              ; Segmento de pila
          DW 64 DUP (?)         ; Define espacio en la pila
STACK ENDS

DATA   SEGMENT                 ; Segmento de datos
SALUDO   DB quot;Hola mundo!!quot;,13,10,quot;$quot; ; Cadena
DATA   ENDS

INICIO:                           ; Punto de entrada al programa
      MOV AX,DATA              ; Pone dirección en AX
      MOV DS,AX                 ; Pone la dirección en los registros
      MOV DX,OFFSET SALUDO        ; Obtiene dirección del mensaje
      MOV AH,09H                ; Función: Visualizar cadena
      INT 21H                    ; Servicio: Funciones alto nivel DOS
      MOV AH,4CH                 ; Función: Terminar
      INT 21H
CODE     ENDS
      END INICIO                ; Marca fin y define INICIO
LENGUAJE DE ALTO NIVEL


  Son los más utilizados por los programadores

  Son independientes de la máquina

 Los programas escritos en estos lenguajes son portables

 Aumento de la ocupación de la memoria

 Las estructuras de los programas se basan en reglas sintácticas

 Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi,
Java,...

           Ejemplo de lenguaje de alto nivel

            #include <stdio.h>

            int main(void)
            {
                printf(quot;Hola, Mundonquot;);
            }
EJERCICIOS PROPUESTOS


  Hacer un procedimiento que describa los pasos para cambiar una bombilla
quemada.


 Hacer un procedimiento que describa los pasos para ir al cine


  Hace un procedimiento para cambiar la llanta pinchada de una bicicleta.
ALGORITMO CAMBIAR UNA BOMBILLA QUEMADA.




INICIO
1. Buscar una bombilla nueva
2. Buscar una escalera o similar
3. Ir al lugar de la bombilla quemada
4. Instalar la escalera
5. Subir a la escalera
6. Sacar la bombilla quemada
7. Colocar la nueva bombilla
8. Ajustar la bombilla
9. Bajarse de la escalera
10. Probar la bombilla instalada
11. Retirar la escalera
12. Votar la bombilla quemada
13. Guardar la escalera
FIN
ALGORITMO PASOS PARA IR AL CINE




INICIO
1. Revisar la cartelera de cine
2. Seleccionar la película de mi interés
3. Seleccionar el horario de mi interés
4. A la hora adecuada, desplazarme hasta el
    cine
5. Hacer la fila para comprar boletos
6. Comprar los boletos
7. Hacer la fila para entrada a la sala
8. Entrar a la sala
9. Buscar mi puesto asignado
10. Ubicarme en el puesto asignado
11. Disfrutar de la película
FIN
ALGORITMO CAMBIAR LA LLANTA PINCHADA DE
                       UNA BICICLETA.



INICIO
1. Buscar las herramientas
2. Voltear la bicicleta
3. Quitar las tuercas o remaches
4. Quitar llanta pinchada
5. Sacar el neumático
6. Buscar el escape de aire
7. Parcharlo
8. Instalar el neumático en la llanta
9. Inflar el neumático
10. Poner llanta nuevamente
11. Volver a colocar los remaches o tuercas
12. Voltear la bicicleta
13. Guardar las herramientas
FIN
CLASIFICACION DE LOS ALGORITMOS



  Algoritmos para ser ejecutados por personas
 Para que un algoritmo sea ejecutado por una persona, debe estar escrito de
tal manera que esta persona lo entienda claramente

 Normas:

• Debe escribirse en el idioma de la persona que realizará el algoritmo
• Debe enumerar cada uno de los pasos a realizar en un orden lógico.
• Debe utilizar palabras que comprenda claramente la persona que realizará
el algoritmo.

Ejemplos:      Las recetas de cocina, los manuales de funcionamiento,
itinerarios, guía de matricula etc.
CLASIFICACION DE LOS ALGORITMOS


 Algoritmos para ser ejecutados por computadores. Los pasos para la
solución de un problema utilizando como herramienta la computadora son :

1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que
   conducen a la solución de un problema dado(análisis del problema y
   desarrollo del algoritmo).

2. Expresar el algoritmo como un programa en un lenguaje de programación
adecuado( fase de codificación). La actividad de expresar un algoritmo en
forma de programa se denomina programación.


3. Ejecución y validación de programa por la computadora.
PARTES DE UN ALGORITMO


  INICIO

  FIN

Una de las características de los algoritmos es que deben ser finitos. Se
debe indicar claramente donde inicia y donde termina.
Para indicar donde comienza nuestro algoritmo vamos a utilizar la palabra
INICIO y para indicar donde se termina nuestro algoritmo vamos a utilizar las
palabras FIN PROGRAMA.

ejemplo:

Inicio

Fin Programa
DECLARACIÓN DE VARIABLES



Los datos son una parte muy importante en un algoritmo, pues son ellos el
punto de partida y son ellos quienes sufren las transformaciones que darán
los resultados deseados. Por esta razón el algoritmo debe guardar los
datos en un sitio donde los pueda leer y modificar cada vez que lo
requiera. El sitio donde el algoritmo guarda los datos se llama ESPACIO
DE MEMORIA y el tamaño de estos dependen del tipo de dato que se
quiera guardar en ellos.


Además si se tienen varios datos se debe tener la posibilidad de
diferenciarlos de una manera que no se presenten confusiones
asignándoles un identificador válido y único a estos espacios de memoria.

Un espacio de memoria se denomina VARIABLE cuando su contenido
puede variar en el tiempo y CONSTANTE cuando no se permite que su
contenido cambie.
DECLARACIÓN DE VARIABLES



Lo primero que se hace en al algoritmo es declarar las variables.

Donde se separan los espacios de memoria del tamaño indicado según el
tipo de dato que guardarán y asignándoles un nombre o identificador
válido, con el cual nos referiremos a la información que se guarda en dicho
espacio de memoria.

Para declarar las variables se hará de la siguiente forma:

          tipo de dato: identificador, identificador

• Primero se coloca el tipo de dato según la información que se guardará
en los espacios de memoria a crear.
• dos puntos ' : '
• una lista de identificadores válidos separados por coma
TIPOS DE DATOS



lLos tipos de datos a utilizar en nuestros algoritmos son:
1. numéricos: para hacer cálculos matemáticos y pueden ser de dos tipos
así:
      1. ENTERO: cuando el número no tiene parte decimal (ejemplo:
      4 , 5 , 7, 97).
      2. REAL: cuando el número consta de una parte entera y una parte
      decimal (ejemplo: 2.33 , 4.59 , 5.0 ).
2. CARACTER: contiene un solo símbolo y esta delimitado por comillas
sencillas y puede ser:
      1. Caracteres alfanuméricos ('A', 'B', …, 'Z')
      2. Caracteres numéricos('1', '2', …'0')
      3. Caracteres especiales ('+', '-', '*', '/', ',' '.', '<' ,'>', '$', ….)
3. CADENA(string): es una sucesión de caracteres que se encuentran
delimitados por doble comilla. se utilizan para guardar información como el
nombre de una persona, el color preferido etc. (ejemplos: quot; león quot;, quot;Mariaquot;,
quot;azulquot;, quot;rojoquot;). se utilizan para mostrar mensajes.
4. LOGICOS (booleanos): es aquel dato que sólo puede tomar uno de dos
valores: verdadero(true) o falso (false).
IDENTIFICADORES VÁLIDOS

Para diferenciar los espacios de memoria se les asigna un identificador
que debe ser único (no se permiten dos espacios de memoria con el
mismo identificador). Además un identificador es válido si esta formado
con letras, dígitos y el carácter de subrayado, pero teniendo en cuenta
que el primer carácter debe ser una letra. también es recomendable que
el nombre del espacio de memoria indique el significado de la información
que contiene.
La siguiente lista muestra una serie de identificadores válidos:
·     x
·     y
·     x1
·     y1
·     suma
·     contador
·     mayor
·     menor
·     promedio
·     mayor_promedio
·     menor_1
·     porcentaje
EJEMPLO Declaración de variables


ENUNCIADO:
Hacer un algoritmo que declare una variable para guardar el nombre de
un deportista, otra para guardar el número de intentos en la prueba de
100 metros planos y otra para guardar el menor tiempo registrado.

EXPLICACION DEL ALGORITMO
Se declara la variable NOMBRE, de tipo cadena para guardar el nombre
del deportista.
Como la cantidad de intentos es un entero, se define la variable
INTENTOS de tipo entero.
Como la medición del tiempo puede tener parte decimal, se define la
variable TIEMPO de tipo real.
Inicio
 Cadena: NOMBRE
 Entero: INTENTOS
 Real: TIEMPO
Fin programa
PROBLEMAS PROPUESTOS

1. Hacer un algoritmo que declare una variable para guardar el número de
meses del año y otra variable para guardar el porcentaje de meses que
tienen 30 o 31 días.
2. Hacer un algoritmo que declare una variable para guardar el número de
horas de estudio, y otra para guardar el nombre.
3. Hacer un algoritmo que declare una variable para guardar cuantas
materias se han perdido en el semestre y otra para guardar el porcentaje
de materias ganadas.
4. Hacer un algoritmo que declare una variable para guardar el promedio
del semestre, otra para guardar el nombre de un estudiante y otra para
guardar el número de notas perdidas.
5. Hacer un algoritmo que declare una variable para guardar el nombre de
una persona, otra para guardar la comida preferida y otra para guardar la
cantidad de dinero que posee.
6. Hacer un algoritmo que declare una variable para guardar el nombre de
un animal, otra para guardar la comida preferida y otra para guardar la
cantidad de patas que tiene.
7. Hacer un algoritmo que declare una variable para guardar el nombre de
un deportista, otra para guardar la distancia recorrida y otra para guardar
la cantidad de intentos.
ENTRADA DE DATOS


Cuando un algoritmo requiera que el usuario ingrese datos, se utilizará la
instrucción LEER y entre paréntesis la lista de variables donde se
guardarán los datos ingresados por el usuario.

          leer(identificador1, identificador2)

de esta forma se podrá tener la siguiente instrucción:

          leer( X, Y, Z)

donde se le pide al usuario que entre tres datos

•el primero de los cuales se guarda en el espacio de memoria que tiene
identificador X,
•el segundo se guardará en el espacio de memoria que tiene identificador
Y
• y el tercero se guardará en el espacio de memoria que tiene identificador
Z.
EJEMPLO Entrada de Datos|

ENUNCIADO:

Hacer un algoritmo que lea el nombre y la edad de una persona.

VARIABLES: los datos de entrada son :

NOMBRE: para guardar el nombre de la persona (tipo cadena)
EDAD: para guardar la edad de la persona, como en el enunciado no lo
especifican lo tomaremos de tipo entero.

EXPLICACION DEL ALGORITMO
Primero se definen las variables requeridas y luego se le pide al usuario
que ingrese los datos.

Inicio
 Cadena: NOMBRE
 Entero: EDAD
 Leer ( NOMBRE, EDAD)
Fin Programa
PROBLEMAS PROPUESTOS

1. Hacer un algoritmo que lea el número de meses del año y la cantidad
   de meses que se trabajan.

2. Hacer un algoritmo que lea el nombre de una persona y número de
   horas que estudia en la semana.

3. Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de
   materias perdidas y el porcentaje de materias ganadas.

4. Hacer un algoritmo que lea el nombre de un estudiante, el promedio
   del semestre y el número de notas perdidas.

5. Hacer un algoritmo que lea el nombre de una persona, la comida
   preferida y la cantidad de dinero que posee.

6. Hacer un algoritmo que lea el nombre de un        animal, la comida
   preferida y la cantidad de patas que tiene.

7. Hacer un algoritmo que lea el nombre de un deportista, la distancia
   recorrida y la cantidad de intentos.
SALIDA DE DATOS


Si el algoritmo requiere mostrar la información que tiene guardada en
variables (espacio de memoria) hacia el exterior(para el usuario final ), se
utilizará la instrucción MOSTRAR y entre paréntesis la lista de variables
donde se guardan los datos que se quieren mostrar.

          Mostrar( identificador1, identificador2, identificador3)

La instrucción siguiente mostrará al usuario la información que se tiene
guardada en la variables X, Y y Z.
          MOSTRAR ( X, Y, Z)

también se puede pasar información directamente (que no esta guardada
en variables) para construir mensajes de la siguiente manera:

          MOSTRAR (quot; hola como estas quot;, 123, X)

el anterior mensaje mostrará al usuario un mensaje que contiene la
cadena quot;hola como estasquot;, el numero 123 y la información contenida en la
variable X.
EJEMPLO Salida de Datos

ENUNCIADO: Hacer un algoritmo que lea el nombre de un artículo, la
cantidad existente en bodega, el precio unitario y muestre la cantidad
existente en bodega.
VARIABLES
se declara la variable NOMBRE, de tipo cadena para guardar el nombre
del artículo.
como la cantidad de artículos es un entero, se define la variable
CANTIDAD de tipo entero.
como un precio puede tener parte decimal, se define la variable
PRECIO de tipo real.
EXPLICACION DEL ALGORITMO
Primero se definen las variables requeridas y luego se le pide al usuario
que ingrese los datos.
Inicio
  Cadena: NOMBRE
  Entero: CANTIDAD
  Real: PRECIO
  Leer (NOMBRE, CANTIDAD, PRECIO)
  Mostrar (NOMBRE, CANTIDAD)
Fin Programa

|
PROBLEMAS PROPUESTOS
1. Hacer un algoritmo que lea el nombre de un trabajador, la cantidad de
   meses que trabajó en el año y muestre el nombre y el porcentaje de
   meses trabajados.
2. Hacer un algoritmo que lea el nombre de una persona, el número de
   horas que estudia en la semana y muestre el porcentaje de tiempo
   que dedica a estudiar y la cantidad de minutos que dedica a estudiar.
3. Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de
   materias que cursa en el semestre, la cantidad de materias
   perdidas y muestre el nombre y el porcentaje de materias ganadas.
4. Hacer un algoritmo que lea el nombre de un estudiante, el promedio
   del semestre, el número de materias perdidas, la suma de todas las
   notas y muestre la cantidad de materias que ganó.
5. Hacer un algoritmo que lea el nombre de una persona, la comida
   preferida con su precio, la cantidad de dinero que posee y muestre la
   cantidad de comidas que puede comprar con el dinero que posee.
6. Hacer un algoritmo que lea el nombre de un animal, la comida
   preferida, el número de porciones que come al día, el valor de la
   porción y muestre el nombre del animal y el costo de alimentarlo en el
   día.
7. Hacer un algoritmo lea el nombre de un deportista, la distancia
   recorrida, la cantidad de intentos y muestre la distancia promedio que
   ha recorrido.
RECURSOS



Bibliografía.

OVIEDO, Regino Efrain M, Lógica de Programación. Ecoe
ediciones.

Joyanes Aguilar Luis. Fundamentos de Programación

SITIOS WEB:

http://www.alegsa.com.ar/Notas/70.php
http://www.deguate.com/infocentros/educacion/recursos/computaci
on/origen.htm
http://www.bloginformatico.com/concepto-y-tipos-de-software.php
http://mx.geocities.com/berebl2001/mipag5.html

Más contenido relacionado

La actualidad más candente

Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)Karlos Valladares
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasMartin Pacheco
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaOmar B.
 
Unidad 1
Unidad 1Unidad 1
Unidad 1henser
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoLincoln School
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmojohan stoker
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujoastaroth97
 
estructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasestructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasJohan Velandia
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1Silvanac
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionMIKE_INK_RM
 
Fundamentos de algoritmia
Fundamentos de algoritmiaFundamentos de algoritmia
Fundamentos de algoritmiaNilson Negrete
 
[ADD] Algoritmos Definicion
[ADD] Algoritmos Definicion[ADD] Algoritmos Definicion
[ADD] Algoritmos DefinicionMonjeOneble
 

La actualidad más candente (20)

Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)Fundamentos básicos de algoritmos (1)
Fundamentos básicos de algoritmos (1)
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
 
Desarrollo de lógica algorítmica
Desarrollo de lógica algorítmicaDesarrollo de lógica algorítmica
Desarrollo de lógica algorítmica
 
Unidad 1
Unidad 1Unidad 1
Unidad 1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmicoTema 4 -_introduccion_a_razonamiento_algoritmico
Tema 4 -_introduccion_a_razonamiento_algoritmico
 
Diferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmoDiferencia entre pseudocodigo y algoritmo
Diferencia entre pseudocodigo y algoritmo
 
Diagramas de Flujo
Diagramas de FlujoDiagramas de Flujo
Diagramas de Flujo
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Fundamentos de Algoritmia
Fundamentos de AlgoritmiaFundamentos de Algoritmia
Fundamentos de Algoritmia
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Clase de algoritmos
Clase de algoritmosClase de algoritmos
Clase de algoritmos
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
estructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientrasestructuras algoritmicas ciclicas mientras
estructuras algoritmicas ciclicas mientras
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1
 
algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Fundamentos de algoritmia
Fundamentos de algoritmiaFundamentos de algoritmia
Fundamentos de algoritmia
 
[ADD] Algoritmos Definicion
[ADD] Algoritmos Definicion[ADD] Algoritmos Definicion
[ADD] Algoritmos Definicion
 
Algoritmos secuenciales
Algoritmos secuencialesAlgoritmos secuenciales
Algoritmos secuenciales
 

Destacado

Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramasluis840
 
1. Introducción a la Programación Orientada a Objetos con Java
1. Introducción a la Programación Orientada a Objetos con Java1. Introducción a la Programación Orientada a Objetos con Java
1. Introducción a la Programación Orientada a Objetos con JavaJuanjo Simon
 
Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.lucialucanero03
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujobladeskate
 
Algoritmos danny y magali
Algoritmos danny y magaliAlgoritmos danny y magali
Algoritmos danny y magalimoriamg
 
Cuadernillo de-algoritmos
Cuadernillo de-algoritmosCuadernillo de-algoritmos
Cuadernillo de-algoritmosAlejandraDorado
 
Generalidades Sobre Algoritmos(Ok)
Generalidades Sobre Algoritmos(Ok)Generalidades Sobre Algoritmos(Ok)
Generalidades Sobre Algoritmos(Ok)Melki Carpio
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionJesus Chaux
 
Hacer una taza de café o de te
Hacer una taza de café o de teHacer una taza de café o de te
Hacer una taza de café o de tejair_103
 
Arreglos en Pseint
Arreglos en PseintArreglos en Pseint
Arreglos en PseintMonjeOneble
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1charnisch
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos1002pc4
 
Proceso Tecnologico
Proceso TecnologicoProceso Tecnologico
Proceso TecnologicoJuan
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenKarlytoz_36
 
Algoritmo como cambiar una llanta de un carro
Algoritmo como cambiar una llanta de un carroAlgoritmo como cambiar una llanta de un carro
Algoritmo como cambiar una llanta de un carroCamilo Valenzuela
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujoIsaura Nina
 

Destacado (20)

Algoritmos+y+flujogramas
Algoritmos+y+flujogramasAlgoritmos+y+flujogramas
Algoritmos+y+flujogramas
 
Estructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeIntEstructura Repetitiva MIENTRAS (While) con PSeInt
Estructura Repetitiva MIENTRAS (While) con PSeInt
 
Llenado de vaso con agua
Llenado de vaso con aguaLlenado de vaso con agua
Llenado de vaso con agua
 
1. Introducción a la Programación Orientada a Objetos con Java
1. Introducción a la Programación Orientada a Objetos con Java1. Introducción a la Programación Orientada a Objetos con Java
1. Introducción a la Programación Orientada a Objetos con Java
 
Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.Ejercicio 2 programación algoritmos, lucanero.
Ejercicio 2 programación algoritmos, lucanero.
 
Diagramas de flujo
Diagramas de flujoDiagramas de flujo
Diagramas de flujo
 
Algoritmos danny y magali
Algoritmos danny y magaliAlgoritmos danny y magali
Algoritmos danny y magali
 
Cuadernillo de-algoritmos
Cuadernillo de-algoritmosCuadernillo de-algoritmos
Cuadernillo de-algoritmos
 
Diagrama de flujo
Diagrama de flujoDiagrama de flujo
Diagrama de flujo
 
Generalidades Sobre Algoritmos(Ok)
Generalidades Sobre Algoritmos(Ok)Generalidades Sobre Algoritmos(Ok)
Generalidades Sobre Algoritmos(Ok)
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Hacer una taza de café o de te
Hacer una taza de café o de teHacer una taza de café o de te
Hacer una taza de café o de te
 
Arreglos en Pseint
Arreglos en PseintArreglos en Pseint
Arreglos en Pseint
 
Introduccion a los algoritmos parte 1
Introduccion a los algoritmos parte    1Introduccion a los algoritmos parte    1
Introduccion a los algoritmos parte 1
 
Algoritmo para cambiar un neumático
Algoritmo para cambiar un neumáticoAlgoritmo para cambiar un neumático
Algoritmo para cambiar un neumático
 
Ejercicios de algoritmos
Ejercicios de algoritmosEjercicios de algoritmos
Ejercicios de algoritmos
 
Proceso Tecnologico
Proceso TecnologicoProceso Tecnologico
Proceso Tecnologico
 
Programación Orientada a Objetos - Resumen
Programación Orientada a Objetos - ResumenProgramación Orientada a Objetos - Resumen
Programación Orientada a Objetos - Resumen
 
Algoritmo como cambiar una llanta de un carro
Algoritmo como cambiar una llanta de un carroAlgoritmo como cambiar una llanta de un carro
Algoritmo como cambiar una llanta de un carro
 
Ejemplos sobre diagramas de flujo
Ejemplos sobre  diagramas de flujoEjemplos sobre  diagramas de flujo
Ejemplos sobre diagramas de flujo
 

Similar a Unidad Iii Generalidades Sobre Algoritmos (20)

Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Algoritmos - Curso UNE
Algoritmos - Curso UNEAlgoritmos - Curso UNE
Algoritmos - Curso UNE
 
Presentacion c
Presentacion cPresentacion c
Presentacion c
 
Presentacion
PresentacionPresentacion
Presentacion
 
Conceptos basicos algoritmos
Conceptos basicos algoritmosConceptos basicos algoritmos
Conceptos basicos algoritmos
 
Clase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacionClase 1 de introduccion a la programacion
Clase 1 de introduccion a la programacion
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Visual basic terminado[1]
Visual basic terminado[1]Visual basic terminado[1]
Visual basic terminado[1]
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Principios de paradigmas
Principios de paradigmasPrincipios de paradigmas
Principios de paradigmas
 
Estructura de datos
Estructura de datosEstructura de datos
Estructura de datos
 
3 Conceptos progamacion-tema3
3 Conceptos progamacion-tema33 Conceptos progamacion-tema3
3 Conceptos progamacion-tema3
 
Lectur act 3
Lectur act 3Lectur act 3
Lectur act 3
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 
Diap 01
Diap 01Diap 01
Diap 01
 
Clase 1 - Programación.pptx
Clase 1 - Programación.pptxClase 1 - Programación.pptx
Clase 1 - Programación.pptx
 
Introducccion programacion
Introducccion programacionIntroducccion programacion
Introducccion programacion
 
TRABAJO FINAL PROGRAMACIÓN.pdf
TRABAJO FINAL PROGRAMACIÓN.pdfTRABAJO FINAL PROGRAMACIÓN.pdf
TRABAJO FINAL PROGRAMACIÓN.pdf
 
Introducción a la informática
Introducción a la informáticaIntroducción a la informática
Introducción a la informática
 
TEMA 01 PROGRAMACION .pdf
TEMA 01 PROGRAMACION .pdfTEMA 01 PROGRAMACION .pdf
TEMA 01 PROGRAMACION .pdf
 

Unidad Iii Generalidades Sobre Algoritmos

  • 1. UNIVERSIDAD TECNOLÓGICA DEL CHOCÓ FACULTAD DE INGENIERÍA PROGRAMA DE TELEINFORMÁTICA ASIGNATURA: Lógica de Programación Docente MARTHA IMELDA LUNA LÓPEZ Ing. De Sistemas U. Eafit Esp. En Derecho de las Telecomunicaciones
  • 2. Unidad N. III Generalidades sobre algoritmos y programas Objetivo: Introducir a los estudiantes en el tema de algoritmos como una herramienta de interpretación de un problema real.
  • 3. INTRODUCCIÓN La principal razón para que las personas aprendan lenguajes y técnicas de programación es utilizar el computador como una herramienta para resolver problemas. La resolución de un problema exige al menos los siguientes pasos: 1.- Definición o análisis del problema. 2.- Diseño del algoritmo. 3.- Transformación del algoritmo en un programa. 4.- Ejecución y validación del programa.
  • 4. PROBLEMA Los problemas son una serie de inquietudes que se plantean para ser resueltas. La naturaleza de los problemas varía con el contexto en que se presenta: problemas matemáticos, químicos, filosóficos, etc. Es importante que al tratar un problema se tenga una descripción simple y precisa del mismo, de lo contrario resultaría complejo tratar de simular, o programar su solución en un computador. Un programador es una persona que resuelve problemas, y para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático. Diseño Algoritmo Problema Programa Análisis
  • 5. ALGORITMO Serie de pasos lógicos y ordenados con los cuales le damos solución a un problema determinado o a un objetivo específico. Sin algoritmos no puede existir un programa. Los algoritmos son independientes tanto del lenguaje de programación como del computador que los ejecuta. La palabra “Algoritmo” viene de un matemático persa que vivió en el siglo IX llamado Mohammed Al-Khowârizî, cuyo apellido traducido al latín es Algorismus. Características de un algoritmo: • Preciso: indicar el orden de realización de las instrucciones. • Definido: si se sigue el algoritmo dos veces, se debe obtener el mismo resultado. • Finito, siempre debe terminar despues de un número finito de pasos. Ej. Obtener el área de un rectángulo. 1. Obtener la medida de la base del rectángulo 2. Obtener la medida de la altura del rectángulo 3. Multiplicar la medida de la base por la medida de la altura.
  • 6. ALGORITMO Ejemplo tradicional de un algoritmo: Cambiar la llanta pinchada de un carro. 1. Buscar herramientas, llanta de repuesto y triángulo de señalización 2. Ubicar el triángulo en el lugar adecuado 3. Ir al lugar de la llanta averiada 4. Sacar las tuercas 5. Colocar el gato 6. Levantar el carro 7. Sacar la llanta 8. Colocar la llanta de Repuesto 9. Colocar las tuercas 10. Apretar las tuercas 11. Guardar las herramientas FIN
  • 7. FASES DE UN ALGORITMO Fase de Análisis: consiste en el estudio detallado del problema con el fin de Algoritmo PRUEBA obtener una serie de documentos (especificación) en los cuales quedan Inicio totalmente definido el proceso a seguir en Variables la automatización A,B,C: entero Diseño: consiste en la realización del Leer(A,B) algoritmo que resuelve el problema de C A+B acuerdo a la especificación dada en la fase Escribir (C) anterior. El algoritmo se representa mediante pseudocódigo. Fin Codificación: consiste en la traducción del algoritmo a un programa escrito en un lenguaje de programación
  • 8. ………FASES DE UN ALGORITMO Compilación/Interpretación: consiste en obtener el programa ejecutable u objeto a partir del programa fuente. Programa ejecutable Programa fuente
  • 9. ………FASES DE UN ALGORITMO Prueba: consiste en determinar si el programa funciona correctamente y realiza las operaciones que esperamos de él. Programa ejecutable Aplicación
  • 10. SEUDOCODIGO Serie de instrucciones abstractas que resuelven un problema. Es una herramienta útil para el seguimiento de la lógica de un algoritmo, facilita la transcripción a un lenguaje de programación. Con el seudocódigo representamos los pasos de un algoritmo a través de palabras, utilizando una nomenclatura estandarizada para el significado de cada paso. Ej. Obtener el área de un rectángulo. 1. Inicio 2. Leer BASE 3. Leer ALTURA 4. AREA = BASE * ALTURA 5. Escribir AREA 6. Fin
  • 11. LENGUAJES DE PROGRAMACIÓN Lenguaje: conjunto de reglas y convenciones que se utilizan para comunicar información. Lenguaje de Programación: es un lenguaje que permite la traducción de un algoritmo para que sea entendible por el computador. Son los lenguajes utilizados para escribir programas de computadores. Tipos de Lenguaje de Programación: Lenguaje de Máquina Lenguaje de Bajo Nivel (Ensamblador) Lenguaje de Alto Nivel
  • 12. LENGUAJE DE MÁQUINA Son aquellos que están escritos en lenguaje directamente inteligibles por la máquina, ya que sus instrucciones son cadenas binarias (0’s ,1’s) que especifican una operación. Las instrucciones en lenguaje máquina dependen del Hardware de la computadora, difiere de una PC a otra. La ventaja de los lenguajes máquina es que ofrecen mayor velocidad de ejecución. Existen algunas desventajas: dificultad y lentitud en la codificación, poca fiabilidad, los programas no son portables. 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 00010111 11110101 00101011 11001010 11110101 00101011 00101011 11001010 00010111 11110101 00101011 00010111 11110101 00101011 00101011 11001010 11110101 00101011 00101011
  • 13. LENGUAJE DE BAJO NIVEL Son lenguajes que permiten escribir programas con instrucciones similares al lenguaje humano. Son más fáciles de utilizar que los lenguajes de máquina, pero éstos también dependen de la máquina en particular. El mejor ejemplo es el lenguaje ensamblador Un programa escrito en lenguaje ensamblador requiere una fase de traducción Entre las desventajas tenemos: que este lenguaje depende de la máquina y demanda una mayor exigencia para los programadores, ya que deben conocer tanto las técnicas de programación así como el interior de la máquina.
  • 14. Ejemplo Lenguaje Ensamblador ; HOLA.ASM STACK SEGMENT STACK ; Segmento de pila DW 64 DUP (?) ; Define espacio en la pila STACK ENDS DATA SEGMENT ; Segmento de datos SALUDO DB quot;Hola mundo!!quot;,13,10,quot;$quot; ; Cadena DATA ENDS INICIO: ; Punto de entrada al programa MOV AX,DATA ; Pone dirección en AX MOV DS,AX ; Pone la dirección en los registros MOV DX,OFFSET SALUDO ; Obtiene dirección del mensaje MOV AH,09H ; Función: Visualizar cadena INT 21H ; Servicio: Funciones alto nivel DOS MOV AH,4CH ; Función: Terminar INT 21H CODE ENDS END INICIO ; Marca fin y define INICIO
  • 15. LENGUAJE DE ALTO NIVEL Son los más utilizados por los programadores Son independientes de la máquina Los programas escritos en estos lenguajes son portables Aumento de la ocupación de la memoria Las estructuras de los programas se basan en reglas sintácticas Ejemplos: C, C++, Pascal, Ada, Prolog, Smalltalk, Visual Basic, Delphi, Java,... Ejemplo de lenguaje de alto nivel #include <stdio.h> int main(void) { printf(quot;Hola, Mundonquot;); }
  • 16. EJERCICIOS PROPUESTOS Hacer un procedimiento que describa los pasos para cambiar una bombilla quemada. Hacer un procedimiento que describa los pasos para ir al cine Hace un procedimiento para cambiar la llanta pinchada de una bicicleta.
  • 17. ALGORITMO CAMBIAR UNA BOMBILLA QUEMADA. INICIO 1. Buscar una bombilla nueva 2. Buscar una escalera o similar 3. Ir al lugar de la bombilla quemada 4. Instalar la escalera 5. Subir a la escalera 6. Sacar la bombilla quemada 7. Colocar la nueva bombilla 8. Ajustar la bombilla 9. Bajarse de la escalera 10. Probar la bombilla instalada 11. Retirar la escalera 12. Votar la bombilla quemada 13. Guardar la escalera FIN
  • 18. ALGORITMO PASOS PARA IR AL CINE INICIO 1. Revisar la cartelera de cine 2. Seleccionar la película de mi interés 3. Seleccionar el horario de mi interés 4. A la hora adecuada, desplazarme hasta el cine 5. Hacer la fila para comprar boletos 6. Comprar los boletos 7. Hacer la fila para entrada a la sala 8. Entrar a la sala 9. Buscar mi puesto asignado 10. Ubicarme en el puesto asignado 11. Disfrutar de la película FIN
  • 19. ALGORITMO CAMBIAR LA LLANTA PINCHADA DE UNA BICICLETA. INICIO 1. Buscar las herramientas 2. Voltear la bicicleta 3. Quitar las tuercas o remaches 4. Quitar llanta pinchada 5. Sacar el neumático 6. Buscar el escape de aire 7. Parcharlo 8. Instalar el neumático en la llanta 9. Inflar el neumático 10. Poner llanta nuevamente 11. Volver a colocar los remaches o tuercas 12. Voltear la bicicleta 13. Guardar las herramientas FIN
  • 20. CLASIFICACION DE LOS ALGORITMOS Algoritmos para ser ejecutados por personas Para que un algoritmo sea ejecutado por una persona, debe estar escrito de tal manera que esta persona lo entienda claramente Normas: • Debe escribirse en el idioma de la persona que realizará el algoritmo • Debe enumerar cada uno de los pasos a realizar en un orden lógico. • Debe utilizar palabras que comprenda claramente la persona que realizará el algoritmo. Ejemplos: Las recetas de cocina, los manuales de funcionamiento, itinerarios, guía de matricula etc.
  • 21. CLASIFICACION DE LOS ALGORITMOS Algoritmos para ser ejecutados por computadores. Los pasos para la solución de un problema utilizando como herramienta la computadora son : 1. Diseño del algoritmo que describa la secuencia ordenada de pasos, que conducen a la solución de un problema dado(análisis del problema y desarrollo del algoritmo). 2. Expresar el algoritmo como un programa en un lenguaje de programación adecuado( fase de codificación). La actividad de expresar un algoritmo en forma de programa se denomina programación. 3. Ejecución y validación de programa por la computadora.
  • 22. PARTES DE UN ALGORITMO INICIO FIN Una de las características de los algoritmos es que deben ser finitos. Se debe indicar claramente donde inicia y donde termina. Para indicar donde comienza nuestro algoritmo vamos a utilizar la palabra INICIO y para indicar donde se termina nuestro algoritmo vamos a utilizar las palabras FIN PROGRAMA. ejemplo: Inicio Fin Programa
  • 23. DECLARACIÓN DE VARIABLES Los datos son una parte muy importante en un algoritmo, pues son ellos el punto de partida y son ellos quienes sufren las transformaciones que darán los resultados deseados. Por esta razón el algoritmo debe guardar los datos en un sitio donde los pueda leer y modificar cada vez que lo requiera. El sitio donde el algoritmo guarda los datos se llama ESPACIO DE MEMORIA y el tamaño de estos dependen del tipo de dato que se quiera guardar en ellos. Además si se tienen varios datos se debe tener la posibilidad de diferenciarlos de una manera que no se presenten confusiones asignándoles un identificador válido y único a estos espacios de memoria. Un espacio de memoria se denomina VARIABLE cuando su contenido puede variar en el tiempo y CONSTANTE cuando no se permite que su contenido cambie.
  • 24. DECLARACIÓN DE VARIABLES Lo primero que se hace en al algoritmo es declarar las variables. Donde se separan los espacios de memoria del tamaño indicado según el tipo de dato que guardarán y asignándoles un nombre o identificador válido, con el cual nos referiremos a la información que se guarda en dicho espacio de memoria. Para declarar las variables se hará de la siguiente forma: tipo de dato: identificador, identificador • Primero se coloca el tipo de dato según la información que se guardará en los espacios de memoria a crear. • dos puntos ' : ' • una lista de identificadores válidos separados por coma
  • 25. TIPOS DE DATOS lLos tipos de datos a utilizar en nuestros algoritmos son: 1. numéricos: para hacer cálculos matemáticos y pueden ser de dos tipos así: 1. ENTERO: cuando el número no tiene parte decimal (ejemplo: 4 , 5 , 7, 97). 2. REAL: cuando el número consta de una parte entera y una parte decimal (ejemplo: 2.33 , 4.59 , 5.0 ). 2. CARACTER: contiene un solo símbolo y esta delimitado por comillas sencillas y puede ser: 1. Caracteres alfanuméricos ('A', 'B', …, 'Z') 2. Caracteres numéricos('1', '2', …'0') 3. Caracteres especiales ('+', '-', '*', '/', ',' '.', '<' ,'>', '$', ….) 3. CADENA(string): es una sucesión de caracteres que se encuentran delimitados por doble comilla. se utilizan para guardar información como el nombre de una persona, el color preferido etc. (ejemplos: quot; león quot;, quot;Mariaquot;, quot;azulquot;, quot;rojoquot;). se utilizan para mostrar mensajes. 4. LOGICOS (booleanos): es aquel dato que sólo puede tomar uno de dos valores: verdadero(true) o falso (false).
  • 26. IDENTIFICADORES VÁLIDOS Para diferenciar los espacios de memoria se les asigna un identificador que debe ser único (no se permiten dos espacios de memoria con el mismo identificador). Además un identificador es válido si esta formado con letras, dígitos y el carácter de subrayado, pero teniendo en cuenta que el primer carácter debe ser una letra. también es recomendable que el nombre del espacio de memoria indique el significado de la información que contiene. La siguiente lista muestra una serie de identificadores válidos: · x · y · x1 · y1 · suma · contador · mayor · menor · promedio · mayor_promedio · menor_1 · porcentaje
  • 27. EJEMPLO Declaración de variables ENUNCIADO: Hacer un algoritmo que declare una variable para guardar el nombre de un deportista, otra para guardar el número de intentos en la prueba de 100 metros planos y otra para guardar el menor tiempo registrado. EXPLICACION DEL ALGORITMO Se declara la variable NOMBRE, de tipo cadena para guardar el nombre del deportista. Como la cantidad de intentos es un entero, se define la variable INTENTOS de tipo entero. Como la medición del tiempo puede tener parte decimal, se define la variable TIEMPO de tipo real. Inicio Cadena: NOMBRE Entero: INTENTOS Real: TIEMPO Fin programa
  • 28. PROBLEMAS PROPUESTOS 1. Hacer un algoritmo que declare una variable para guardar el número de meses del año y otra variable para guardar el porcentaje de meses que tienen 30 o 31 días. 2. Hacer un algoritmo que declare una variable para guardar el número de horas de estudio, y otra para guardar el nombre. 3. Hacer un algoritmo que declare una variable para guardar cuantas materias se han perdido en el semestre y otra para guardar el porcentaje de materias ganadas. 4. Hacer un algoritmo que declare una variable para guardar el promedio del semestre, otra para guardar el nombre de un estudiante y otra para guardar el número de notas perdidas. 5. Hacer un algoritmo que declare una variable para guardar el nombre de una persona, otra para guardar la comida preferida y otra para guardar la cantidad de dinero que posee. 6. Hacer un algoritmo que declare una variable para guardar el nombre de un animal, otra para guardar la comida preferida y otra para guardar la cantidad de patas que tiene. 7. Hacer un algoritmo que declare una variable para guardar el nombre de un deportista, otra para guardar la distancia recorrida y otra para guardar la cantidad de intentos.
  • 29. ENTRADA DE DATOS Cuando un algoritmo requiera que el usuario ingrese datos, se utilizará la instrucción LEER y entre paréntesis la lista de variables donde se guardarán los datos ingresados por el usuario. leer(identificador1, identificador2) de esta forma se podrá tener la siguiente instrucción: leer( X, Y, Z) donde se le pide al usuario que entre tres datos •el primero de los cuales se guarda en el espacio de memoria que tiene identificador X, •el segundo se guardará en el espacio de memoria que tiene identificador Y • y el tercero se guardará en el espacio de memoria que tiene identificador Z.
  • 30. EJEMPLO Entrada de Datos| ENUNCIADO: Hacer un algoritmo que lea el nombre y la edad de una persona. VARIABLES: los datos de entrada son : NOMBRE: para guardar el nombre de la persona (tipo cadena) EDAD: para guardar la edad de la persona, como en el enunciado no lo especifican lo tomaremos de tipo entero. EXPLICACION DEL ALGORITMO Primero se definen las variables requeridas y luego se le pide al usuario que ingrese los datos. Inicio Cadena: NOMBRE Entero: EDAD Leer ( NOMBRE, EDAD) Fin Programa
  • 31. PROBLEMAS PROPUESTOS 1. Hacer un algoritmo que lea el número de meses del año y la cantidad de meses que se trabajan. 2. Hacer un algoritmo que lea el nombre de una persona y número de horas que estudia en la semana. 3. Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias perdidas y el porcentaje de materias ganadas. 4. Hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre y el número de notas perdidas. 5. Hacer un algoritmo que lea el nombre de una persona, la comida preferida y la cantidad de dinero que posee. 6. Hacer un algoritmo que lea el nombre de un animal, la comida preferida y la cantidad de patas que tiene. 7. Hacer un algoritmo que lea el nombre de un deportista, la distancia recorrida y la cantidad de intentos.
  • 32. SALIDA DE DATOS Si el algoritmo requiere mostrar la información que tiene guardada en variables (espacio de memoria) hacia el exterior(para el usuario final ), se utilizará la instrucción MOSTRAR y entre paréntesis la lista de variables donde se guardan los datos que se quieren mostrar. Mostrar( identificador1, identificador2, identificador3) La instrucción siguiente mostrará al usuario la información que se tiene guardada en la variables X, Y y Z. MOSTRAR ( X, Y, Z) también se puede pasar información directamente (que no esta guardada en variables) para construir mensajes de la siguiente manera: MOSTRAR (quot; hola como estas quot;, 123, X) el anterior mensaje mostrará al usuario un mensaje que contiene la cadena quot;hola como estasquot;, el numero 123 y la información contenida en la variable X.
  • 33. EJEMPLO Salida de Datos ENUNCIADO: Hacer un algoritmo que lea el nombre de un artículo, la cantidad existente en bodega, el precio unitario y muestre la cantidad existente en bodega. VARIABLES se declara la variable NOMBRE, de tipo cadena para guardar el nombre del artículo. como la cantidad de artículos es un entero, se define la variable CANTIDAD de tipo entero. como un precio puede tener parte decimal, se define la variable PRECIO de tipo real. EXPLICACION DEL ALGORITMO Primero se definen las variables requeridas y luego se le pide al usuario que ingrese los datos. Inicio Cadena: NOMBRE Entero: CANTIDAD Real: PRECIO Leer (NOMBRE, CANTIDAD, PRECIO) Mostrar (NOMBRE, CANTIDAD) Fin Programa |
  • 34. PROBLEMAS PROPUESTOS 1. Hacer un algoritmo que lea el nombre de un trabajador, la cantidad de meses que trabajó en el año y muestre el nombre y el porcentaje de meses trabajados. 2. Hacer un algoritmo que lea el nombre de una persona, el número de horas que estudia en la semana y muestre el porcentaje de tiempo que dedica a estudiar y la cantidad de minutos que dedica a estudiar. 3. Hacer un algoritmo que lea el nombre de un estudiante, la cantidad de materias que cursa en el semestre, la cantidad de materias perdidas y muestre el nombre y el porcentaje de materias ganadas. 4. Hacer un algoritmo que lea el nombre de un estudiante, el promedio del semestre, el número de materias perdidas, la suma de todas las notas y muestre la cantidad de materias que ganó. 5. Hacer un algoritmo que lea el nombre de una persona, la comida preferida con su precio, la cantidad de dinero que posee y muestre la cantidad de comidas que puede comprar con el dinero que posee. 6. Hacer un algoritmo que lea el nombre de un animal, la comida preferida, el número de porciones que come al día, el valor de la porción y muestre el nombre del animal y el costo de alimentarlo en el día. 7. Hacer un algoritmo lea el nombre de un deportista, la distancia recorrida, la cantidad de intentos y muestre la distancia promedio que ha recorrido.
  • 35. RECURSOS Bibliografía. OVIEDO, Regino Efrain M, Lógica de Programación. Ecoe ediciones. Joyanes Aguilar Luis. Fundamentos de Programación SITIOS WEB: http://www.alegsa.com.ar/Notas/70.php http://www.deguate.com/infocentros/educacion/recursos/computaci on/origen.htm http://www.bloginformatico.com/concepto-y-tipos-de-software.php http://mx.geocities.com/berebl2001/mipag5.html