SlideShare una empresa de Scribd logo
1 de 44
Descargar para leer sin conexión
Estructura general de
    un programa



            Departamento de ingeniería
Para recordar…
Algoritmos cuantitativos

 Son todos aquellos pasos o instrucciones que involucran
   cálculos numéricos para llegar a un resultado
   satisfactorio.

 • Ej.: Multiplicar dos números, ordenar una cantidad de
   números en forma ascendente, dividir dos números,
   encontrar de un conjunto de números el mayor, etc.


                                 Departamento de ingeniería
Pasos que deben seguirse en la
Elaboración de un Algoritmo.
1.   Leer el enunciado del problema cuantas veces sea necesario, hasta entenderlo
     completamente, si tiene duda sobre el significado de alguna pregunta o condición
     aclararla, ojala se aprenda de memoria el enunciado.

2.   Determinar claramente con que datos de entrada se cuenta para la solución del
     problema.

3.    Aclarar y determinar la información o resultados que se soliciten.
     1.    Información Intermedia.
     2.    Información Final.

4.    Definir que cálculos y/o comparaciones se necesitan para llegar al resultado final.
     1.    Cálculos y comparaciones intermedias.
     2.    Cálculos y comparaciones finales.

5.   Tener en cuenta toda clase de condiciones y restricciones para la solución del
     problema.

Todos los pasos tienen la misma importancia, la falta de analisis de alguno de
    ellos causara problemas en el transcurso del desarrollo del algoritmo.
Escritura de algoritmos (programas)
                           Cabecera del programa
            Comienza por la palabra algoritmo




                                 Bloque algorítmico
            Acciones de declaración
            Var
                tipo: lista de identificadores
Algoritmo
            Const:
                tipo: lista de identificadores = valor
            Inicio
                      sentencia 1      // Listado se entencias
                       sentencia 1
                      …
            fin



                                       Departamento de ingeniería
Escritura de algoritmos (programas)
                           Cabecera del programa
            Comienza por la palabra algoritmo


                              Bloque algorítmico
            Acciones de declaración
            Var
                entero: num1 // Declaración variable numérica

            Const:
Algoritmo       real: PI= 3.141592 // Declaración constante real
                carácter: estrella = ‘*’ //Declaración carácter
                cadena: nombre[20] //Declaración de una cadena de
                                          máximo 20 caracteres.
            Inicio
                      sentencia 1     // Listado se entencias
                       sentencia 1
                      …
            fin

                                     Departamento de ingeniería
Que es una Variable?
Variable son todos aquellos valores que pueden
o no cambiar en transcurso de un algoritmo.
Usualmente son introducidas como datos.

Toda variable se compone de dos partes.
  • NOMBRE: Es el conjunto de caracteres, letras y
    números, con los cuales se identifica un valor en un
    momento determinado.

  • VALOR: Es la cantidad que una variable representa
    o tiene asociada en un determinado momento.

Ejemplo :          contador  0
                                 Departamento de ingeniería
Que es una Constante?
Constantes son todos aquellos valores que no cambian
en el transcurso de un algoritmo.
  Ejemplo :         num_pi  3.14

En determinados casos, se puede presentar que el valor
de una variable no cambie en el transcurso de un
algoritmo; pero este hecho no se considera constante,
sigue siendo una variable, porque puede cambiar su
valor y las constantes no lo pueden hacer.

•   Cuando se presenta esta situación se dice que es una
    variable que se comporta como una constante.

•   Ejemplo :        pi 3.14

                                  Departamento de ingeniería
Expresiones Aritméticas (I).
•   Expresión aritmética es un conjunto de variables
    y/o constantes unidas o relacionadas por
    operadores aritméticos.

•   Los operadores aritméticos son los siguientes:
    – Exponenciación   ^
    – Multiplicación   *
    – División         /
    – Resta            -
    – Suma             +

•   Ejemplo:
    salario_neto  salario_bruto – iss + bono


                                     Departamento de ingeniería
Expresiones Aritméticas.
Operador div (/): división entera. Se utiliza sólo si los
 operandos son enteros.

              Ejm. 5 div 2 = 2 (cociente)



Operador mod (%): representa el resto de la división
 entera.

              Ejm. 5 mod 2 = 1 (residuo)




                                     Departamento de ingeniería
Expresiones Relacionales.
•   Expresión relacional es un conjunto de variables
    y/o constantes unidas o relacionadas por
    operadores relacionales.

•   Los operadores relacionales son los siguientes:
    – MAYOR QUE     >
    – MENOR QUE     <
    – DIFERENTE QUE <>
    – IGUAL A       =
    – MAYOR O IGUAL >=
    – MENOR O IGUAL <=

•   Ejemplo: descuento >= pago

                                Departamento de ingeniería
Funciones internas (I)
Las funciones internas son operadores    especiales,
adicionales a los operadores básicos.




                              Departamento de ingeniería
Funciones internas (I)
Las funciones internas son operadores                 especiales,
adicionales a los operadores básicos.


Utilizar las funciones internas par obtener la solución a la
educación cuadrática ax^2 + bx + c = 0


                                 −������± ������2 −4������������
                          ������ =
                                      2������




                                         Departamento de ingeniería
Enunciados o Instrucciones




               Departamento de ingeniería
Instrucciones y tipos de instrucciones
 Es importante en un programa definir las instrucciones que
   resolverán el problema.


                                         Lineal
                Instrucciones se ejecutan linealmente.

Programa
                                        No lineal
                La secuencia se interrumpe con           “instrucciones   de
                bifurcación ó de decisión”.
 El tipo de instrucciones dependen del tipo de lenguaje, sin
    embargo se tienen instrucciones básicas (Independientes del
    lenguaje).


                                         Departamento de ingeniería
Instrucciones y tipos de instrucciones


                     Inicio / fin
                      Inicio, fin


                       Lectura

Instrucciones        Asignación

                      Escritura

                Bifurcación o decisión




                         Departamento de ingeniería
Enunciado de Lectura.

 El enunciado de lectura se utiliza para
  introducir datos que se van a utilizar en la
  solución de un algoritmo.
 Se almacena en la variable el valor
  ingresado por el usuario.
 Ejemplo:
    ◦ Leer(edad)
    ◦ Si el usuario digita 5, la variable edad
      almacena este valor.
                                  Departamento de ingeniería
Enunciado de Escritura.
   El enunciado de escritura se utiliza para
    presentar los resultados que se esperaban
    obtener al ejecutarse el algoritmo.

   Ejemplo:

    ◦ Escribir(edad)

    ◦ Presenta el valor correspondiente con edad.

                               Departamento de ingeniería
Enunciado de Asignación (I).
•   Es una acción o proceso por el cual se le asigna un
    valor (constante o variable) o el resultado de una
    operación (expresión) a una variable. Los enunciados
    de asignación se utilizan generalmente para cambiar
    el valor a una variable o definirla.

•   Definir una variable consiste en asignarle o darle por
    primera vez un valor; y puede hacerse de dos
    maneras:
    – Por medio de una lectura de datos, o
    – Utilizando un enunciado de asignación.
•   Ejemplo:
    leer(edad)
    edad  25

                                       Departamento de ingeniería
Enunciado de Asignación (II).
Asignación aritmética. Las expresiones en las operaciones
  son aritméticas

Ejm.
         Instrucciones                     Traza

  1) N    3                 1) La variable N toma el valor de 3

  2) N    N+1               2) La variable N toma el valor de 4

  3) S    2                 3) La variable S toma el valor de 2

  4) S    N+5               4) La variable S toma el valor de 9




                                    Departamento de ingeniería
Enunciado de Asignación (III).
Asignación lógica. La expresión que se evalúa en la operación
  de asignación es lógica

Ejm.
         Instrucciones                       Traza

  1) M     31 < 2            1) La variable M toma el valor de falso

  2) P    P o (2 <= 12)      2) La variable P toma el valor de verdadero

  3) Q    MyP                3) La variable S toma el valor de falso




                                     Departamento de ingeniería
Enunciado de Asignación (III).
Asignación de cadena de caracteres. La expresión que se
  evalua es de tipo cadena.

Ejm.
  x      ‘Pedro Perez’

La acción de asignación asigna a la variable tipo cadena x, la
  cadena de caracteres ‘Linterna verde’.

Asignación múltiple. La sintaxis que se utiliza es
<variable>   <variable> <operador> <expresión>



                                    Departamento de ingeniería
Reglas para la construcción de
enunciados de asignación (I).
Toda variable que aparezca al lado derecho de un enunciado
  de asignación debe estar definida.

•   Ejemplo 1:
    edad  25
    contador  0
    contador  contador + edad
      • Las variables edad y contador se definieron correctamente

•   Ejemplo 2:
    contador  0
    contador  contador + edad
      • La variable edad nunca fue definida.




                                               Departamento de ingeniería
Reglas para la construcción de
enunciados de asignación (II).
 En un enunciado de asignación, la variable
 de la izquierda es la única que cambia de
 valor cuando con anterioridad tiene un
 valor asignado.

 Ejemplo :
  edad  25
  contador  0
  contador  contador + edad

                          Departamento de ingeniería
Reglas para la construcción de
enunciados de asignación (III).
Las variables que aparecen en la parte
derecha de un enunciado de asignación
conservan su valor después de ejecutarse
la asignación.

Ejemplo:
 salario  1000
 bono  120
 salario_neto  salario + bono

                            Departamento de ingeniería
Reglas para la construcción de
enunciados de asignación (IV).
Si la variable de la parte izquierda del
enunciado se encuentra también en el lado
derecho, esta variable cambia de valor por
aparecer en la izquierda.

Ejemplo:
  acumulador  0
  edad  25
  acumulador  acumulador + edad

                         Departamento de ingeniería
Enunciado de Decisión.

Los enunciados de decisión se utilizan para
tomar una acción o conocer el estado de
alguna situación especial, que
generalmente toman un valor Verdadero o
Falso.




                          Departamento de ingeniería
Enunciado de Decisión – Si.. Sino
Diagrama de Flujo   SI                         NO
                         <comparación>




  SI <comparación> ENTONCES                             Pseudo Código
        VERDADERO
        Enunciado(s)
  SINO
        FALSO
        Enunciado(s)
  FIN SI
                                         Departamento de ingeniería
Enunciado de Decisión – SI .. Sino
Diagrama de Flujo
                      SI                                  NO
                                    contador > 0



   promedio  acumulador/contador                         promedio  0




 SI contador >0 ENTONCES                                          Pseudo Código
          promedio  acumulador/contador
 SINO
          promedio  0
 FIN SI




                                                   Departamento de ingeniería
Enunciado de Repetición.

 Son los enunciados que permiten repetir
  varias veces un conjunto de enunciados
  según se necesite de acuerdo a una
  condición.
 Se les conoce también como ciclos.




                         Departamento de ingeniería
Enunciado de Repetición - Mientras
Diagrama de Flujo
                    SI                         NO
                         <comparación>




  MIENTRAS <comparación> HACER                          Pseudo Código
         VERDADERO
         Enunciado(s) a repetir
  FIN MIENTRAS
  FALSO
  Enunciado(s)
                                         Departamento de ingeniería
Enunciado de Repetición - Mientras
Diagrama de Flujo
               SI                contador < numero
                                                                   NO


    contador  contador + 1

                                                        promedio  acumulador/contador

          Leer(edad)

                                                              Escribir (promedio)

acumulador  acumulador + edad
                                                                      Fin


  MIENTRAS contador < numero HACER                                    Pseudo Código
            contador  contador +1
            leer(edad)
            acumulador  acumulador + edad
  FIN MIENTRAS
  promedio  acumulador/contador                     Departamento de ingeniería
  escribir(promedio)
Enunciado de Repetición – Haga .. Mientras
Diagrama de Flujo


                         SI
                                                      NO
                              <comparación>




  HAGA                                                       Pseudo Código
         VERDADERO
         Enunciado(s) a repetir
  MIENTRAS <comparación>
  FALSO
  Enunciado(s)
                                              Departamento de ingeniería
Enunciado de Repetición – Haga .. Mientras
Diagrama de Flujo


                Leer               SI
               (Edad)                              NO
                                                            Promedio 
                                        Edad > 0
                                                        acumulador/contador

         contador  contador + 1
       Acumulador  acumulador +
                  edad
                                                        Escriba(promedio)



  HAGA                                              Pseudo Código
       leer (edad)
       contador  contador + 1
       Acumulador  acumulador + edad
  MIENTRAS edad > 0
  promedio  acumulador/contador
  Escriba (promedio)                  Departamento de ingeniería
Ejemplo algoritmo para “sumar dos
              números”


Entrada:
Dos números (num1, num2)
Salida:
Resultado de la suma de los dos números.
Proceso:
Se reciben los dos números, luego en una variable
num_suma se el asigna el resultado de la suma de
los números. Se imprime el resultado.
Ejemplos de diagramas de flujo
                   Inicio


            Num_suma        0



              Leer num1



             Leer num2



        Num_suma       num1+ num2



                Escribir
              num_suma


                    Fin

                                    Departamento de ingeniería
Actividad



En un diagrama de flujo, representar un
algoritmo para dividir dos números. Si el
segundo número que se recibe es “0”, se
debe presentar un mensaje.
Pseudocódigo
Pseudocódigo (I)
Es muy importante la indentación (sangría en el margen
izquierdo) de las diferentes líneas del algoritmo.

Elementos básicos

◦Inicio. Se coloca al empezar el pseudocódigo
◦Fin. Se coloca al finalizar el pseudocócigo
◦//. Se utiliza para colocar comentarios.
      Se utiliza para realizar una asignación. Ejemplo:
      num_suma           num1 + num2
 Leer (y): Se utiliza para solicitar información y
Pseudocódigo (II)
Escribir (y): Se utiliza para solicitar escribir un dato y.

Escribir(‘mensaje’): Se utiliza para escribir la palabra
        mensaje.


                                  Si sentencia entonces
  Si sentencia
                                     instrucciones 1
               entonces
                                  Si_no
      instrucciones
                                     instrucciones 2
  fin si
                                  fin si
Pseudocódigo (III)
Si sentencia1 entonces
   instrucciones1
sino si sentencia2 entonces
         instrucciones 2
      sino si sentencia3 entonces
               instrucciones3
            sino
               instrucciones4
             fin si
     fin si
fin si
mientras sentencia haga
    instrucciones
fin mientras
Ejemplo de pseudocódigo
Escribir en pseudocódigo un algoritmo que pida el nombre de
una persona e imprima en pantalla el nombre ingresado.

Var
      cadena: nombre;

inicio
     Escribir (‘Ingrese su nombre’)
     Leer (nombre) //En nombre se guardará la información   que se ingrese
     Escribir (‘El nombre ingresado es:’, nombre)
fin
Actividad en Clase (I)
1. Escribir en pseudocódigo un algoritmo para
   multiplicar dos números.

2. Escribir en pseudocódigo un algoritmo para dividir
   dos números.

3. Escribir un algoritmo que determine si un número
   es o no par. En caso de ser par debe presentar un
   mensaje “El número X es par” ó “El número X es
   impar”.
Actividad en Clase
1. Escribir un algoritmo que: «Dados tres números determina si la
   suma de dos de ellos es igual al otro número. En caso de que
   sean iguales escribir «iguales», en caso de ser desiguales
   escribir «desiguales».

4. Escriba un algoritmo que pida a un profesor una nota.
   Dependiendo de la nota se debe realizar lo siguiente:
  Si la nota está entre 0y 2.9 presente un mensaje: “perdió la materia”.
  Si la nota está entre 3 y 5 presente un mensaje: “gano la materia”.
  Si la nota está entre 4.5 y 5 presente un mensaje: “excelente nota”.


5. Escribir un algoritmo que pida tres números al usuario y
   presente el mayor de estos.

Nota: Los algoritmos deben ser presentados en diagrama de flujo y
en pseudocódigo.
Gracias!!!




       Departamento de ingeniería

Más contenido relacionado

La actualidad más candente

Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructuradaramirezadi
 
Algoritmica
AlgoritmicaAlgoritmica
Algoritmicasariz6
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-cClariza
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemasguest796d29
 
Programación estructurada
Programación  estructuradaProgramación  estructurada
Programación estructuradaPal Almaza
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la ProgramaciónJeckson Loza
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1Silvanac
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Sol Hernández
 

La actualidad más candente (20)

Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Programacion Estructurada
Programacion EstructuradaProgramacion Estructurada
Programacion Estructurada
 
Algoritmica
AlgoritmicaAlgoritmica
Algoritmica
 
Programacion lenguaje-c
Programacion lenguaje-cProgramacion lenguaje-c
Programacion lenguaje-c
 
ResolucióN De Problemas
ResolucióN De ProblemasResolucióN De Problemas
ResolucióN De Problemas
 
Programación estructurada
Programación  estructuradaProgramación  estructurada
Programación estructurada
 
Introducción a la Programación
Introducción a la ProgramaciónIntroducción a la Programación
Introducción a la Programación
 
Apuntes De Algoritmos
Apuntes De AlgoritmosApuntes De Algoritmos
Apuntes De Algoritmos
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Programación
ProgramaciónProgramación
Programación
 
Variables
VariablesVariables
Variables
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
algortimos
algortimosalgortimos
algortimos
 
Programación
ProgramaciónProgramación
Programación
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1
 
Unidad II
Unidad IIUnidad II
Unidad II
 
Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4Guia didactica programacion estructurada unidad 4
Guia didactica programacion estructurada unidad 4
 

Destacado

Ppt ip hw-sw_2011-ii (2)
Ppt ip hw-sw_2011-ii (2)Ppt ip hw-sw_2011-ii (2)
Ppt ip hw-sw_2011-ii (2)César Pardo
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiymendal
 
Animacionucp 1225662289133586-8
Animacionucp 1225662289133586-8Animacionucp 1225662289133586-8
Animacionucp 1225662289133586-8gutytoledo92
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiymendal
 
η μόλυνση των θαλασσων
η μόλυνση των θαλασσωνη μόλυνση των θαλασσων
η μόλυνση των θαλασσωνΒιβή Αραβανή
 
Componentes de un computador ppt
Componentes de un computador pptComponentes de un computador ppt
Componentes de un computador ppthilario_hermosos
 
2 funcionamiento de un ordenador
2 funcionamiento de un ordenador2 funcionamiento de un ordenador
2 funcionamiento de un ordenadorconrado perea
 

Destacado (8)

Ppt ip hw-sw_2011-ii (2)
Ppt ip hw-sw_2011-ii (2)Ppt ip hw-sw_2011-ii (2)
Ppt ip hw-sw_2011-ii (2)
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-ii
 
INFOGARFÍA
INFOGARFÍAINFOGARFÍA
INFOGARFÍA
 
Animacionucp 1225662289133586-8
Animacionucp 1225662289133586-8Animacionucp 1225662289133586-8
Animacionucp 1225662289133586-8
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-ii
 
η μόλυνση των θαλασσων
η μόλυνση των θαλασσωνη μόλυνση των θαλασσων
η μόλυνση των θαλασσων
 
Componentes de un computador ppt
Componentes de un computador pptComponentes de un computador ppt
Componentes de un computador ppt
 
2 funcionamiento de un ordenador
2 funcionamiento de un ordenador2 funcionamiento de un ordenador
2 funcionamiento de un ordenador
 

Similar a Presentacion ip pseudocodigo_2012_i

IntroduccióN A La Programacion Tema 3 Algoritmia
IntroduccióN A La Programacion Tema 3 AlgoritmiaIntroduccióN A La Programacion Tema 3 Algoritmia
IntroduccióN A La Programacion Tema 3 AlgoritmiaAndres Garcia
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREPedro Alvarez
 
Fundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptFundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptCarlosLopez1486
 
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]chinop7
 
Lógica de programación_curso_clase1.pdf
Lógica de programación_curso_clase1.pdfLógica de programación_curso_clase1.pdf
Lógica de programación_curso_clase1.pdfjuanjosalzate
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacionneyvajms
 
Intorduccion Algoritmos
Intorduccion AlgoritmosIntorduccion Algoritmos
Intorduccion Algoritmosagusalli456
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivasstarduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivasstarduslex
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_ckikeMerck
 
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdfEstructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdfSofiaMoreno74
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1utc
 

Similar a Presentacion ip pseudocodigo_2012_i (20)

IntroduccióN A La Programacion Tema 3 Algoritmia
IntroduccióN A La Programacion Tema 3 AlgoritmiaIntroduccióN A La Programacion Tema 3 Algoritmia
IntroduccióN A La Programacion Tema 3 Algoritmia
 
Unidad i
Unidad iUnidad i
Unidad i
 
Unidad i
Unidad iUnidad i
Unidad i
 
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWAREAlgoritmos TECNICO EN DESARROLLO DE SOFTWARE
Algoritmos TECNICO EN DESARROLLO DE SOFTWARE
 
10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf
 
Fundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.pptFundamentos-de-Algoritmos.ppt
Fundamentos-de-Algoritmos.ppt
 
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]Capitulo i modelos_matematicos_y_errores,_parte_1[1]
Capitulo i modelos_matematicos_y_errores,_parte_1[1]
 
Lógica de programación_curso_clase1.pdf
Lógica de programación_curso_clase1.pdfLógica de programación_curso_clase1.pdf
Lógica de programación_curso_clase1.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Fundamentos de Programacion
Fundamentos de ProgramacionFundamentos de Programacion
Fundamentos de Programacion
 
Clase 02
Clase 02Clase 02
Clase 02
 
Intorduccion Algoritmos
Intorduccion AlgoritmosIntorduccion Algoritmos
Intorduccion Algoritmos
 
Lenguaje c diapositivas
Lenguaje c diapositivasLenguaje c diapositivas
Lenguaje c diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Lenguajes diapositivas
Lenguajes diapositivasLenguajes diapositivas
Lenguajes diapositivas
 
Algoritmos y programacion en C++
Algoritmos y programacion en C++Algoritmos y programacion en C++
Algoritmos y programacion en C++
 
Clase 2
Clase 2Clase 2
Clase 2
 
Clase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_cClase 3introduccion a_lenguace_c
Clase 3introduccion a_lenguace_c
 
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdfEstructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdf
 
Algoritmos1
Algoritmos1Algoritmos1
Algoritmos1
 

Más de ymendal

Nociones algoritmos
Nociones algoritmosNociones algoritmos
Nociones algoritmosymendal
 
Nociones algoritmos
Nociones algoritmosNociones algoritmos
Nociones algoritmosymendal
 
Ppt ii 2012_i
Ppt ii 2012_iPpt ii 2012_i
Ppt ii 2012_iymendal
 
Ppt ii 2012_i
Ppt ii 2012_iPpt ii 2012_i
Ppt ii 2012_iymendal
 
Ppt nociones basicas
Ppt nociones basicasPpt nociones basicas
Ppt nociones basicasymendal
 
Ppt usabilidad
Ppt usabilidadPpt usabilidad
Ppt usabilidadymendal
 
Presentacion ip estructuras_repeatitivas_2012_i
Presentacion ip estructuras_repeatitivas_2012_iPresentacion ip estructuras_repeatitivas_2012_i
Presentacion ip estructuras_repeatitivas_2012_iymendal
 
Presentacion ip algoritmia_2012_ii
Presentacion ip algoritmia_2012_iiPresentacion ip algoritmia_2012_ii
Presentacion ip algoritmia_2012_iiymendal
 
Presentacion ip algoritmia_2012_i_v2_primera_parte
Presentacion ip algoritmia_2012_i_v2_primera_partePresentacion ip algoritmia_2012_i_v2_primera_parte
Presentacion ip algoritmia_2012_i_v2_primera_parteymendal
 
Presentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_iPresentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_iymendal
 
Presentacion_Lenguajes_Programacion
Presentacion_Lenguajes_ProgramacionPresentacion_Lenguajes_Programacion
Presentacion_Lenguajes_Programacionymendal
 
Ppt hci 2012_semestre1
Ppt hci 2012_semestre1Ppt hci 2012_semestre1
Ppt hci 2012_semestre1ymendal
 
Ppt hci 2012_semestre1
Ppt hci 2012_semestre1Ppt hci 2012_semestre1
Ppt hci 2012_semestre1ymendal
 
Ppt hci 2012_semestre1
Ppt hci 2012_semestre1Ppt hci 2012_semestre1
Ppt hci 2012_semestre1ymendal
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiymendal
 
Ppt ip 2012_i
Ppt ip 2012_iPpt ip 2012_i
Ppt ip 2012_iymendal
 
Ppt ip 2012_i
Ppt ip 2012_iPpt ip 2012_i
Ppt ip 2012_iymendal
 
Ppt ip 2011_ii
Ppt ip 2011_iiPpt ip 2011_ii
Ppt ip 2011_iiymendal
 
Presentacion ii algoritmos_df
Presentacion ii algoritmos_dfPresentacion ii algoritmos_df
Presentacion ii algoritmos_dfymendal
 

Más de ymendal (20)

Nociones algoritmos
Nociones algoritmosNociones algoritmos
Nociones algoritmos
 
Nociones algoritmos
Nociones algoritmosNociones algoritmos
Nociones algoritmos
 
Ppt ii 2012_i
Ppt ii 2012_iPpt ii 2012_i
Ppt ii 2012_i
 
Ppt ii 2012_i
Ppt ii 2012_iPpt ii 2012_i
Ppt ii 2012_i
 
Ppt nociones basicas
Ppt nociones basicasPpt nociones basicas
Ppt nociones basicas
 
Ppt dcu
Ppt dcuPpt dcu
Ppt dcu
 
Ppt usabilidad
Ppt usabilidadPpt usabilidad
Ppt usabilidad
 
Presentacion ip estructuras_repeatitivas_2012_i
Presentacion ip estructuras_repeatitivas_2012_iPresentacion ip estructuras_repeatitivas_2012_i
Presentacion ip estructuras_repeatitivas_2012_i
 
Presentacion ip algoritmia_2012_ii
Presentacion ip algoritmia_2012_iiPresentacion ip algoritmia_2012_ii
Presentacion ip algoritmia_2012_ii
 
Presentacion ip algoritmia_2012_i_v2_primera_parte
Presentacion ip algoritmia_2012_i_v2_primera_partePresentacion ip algoritmia_2012_i_v2_primera_parte
Presentacion ip algoritmia_2012_i_v2_primera_parte
 
Presentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_iPresentacion ip algoritmia_2012_i_v2_parte_i
Presentacion ip algoritmia_2012_i_v2_parte_i
 
Presentacion_Lenguajes_Programacion
Presentacion_Lenguajes_ProgramacionPresentacion_Lenguajes_Programacion
Presentacion_Lenguajes_Programacion
 
Ppt hci 2012_semestre1
Ppt hci 2012_semestre1Ppt hci 2012_semestre1
Ppt hci 2012_semestre1
 
Ppt hci 2012_semestre1
Ppt hci 2012_semestre1Ppt hci 2012_semestre1
Ppt hci 2012_semestre1
 
Ppt hci 2012_semestre1
Ppt hci 2012_semestre1Ppt hci 2012_semestre1
Ppt hci 2012_semestre1
 
Ppt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-iiPpt ip hw-sw_2011-ii
Ppt ip hw-sw_2011-ii
 
Ppt ip 2012_i
Ppt ip 2012_iPpt ip 2012_i
Ppt ip 2012_i
 
Ppt ip 2012_i
Ppt ip 2012_iPpt ip 2012_i
Ppt ip 2012_i
 
Ppt ip 2011_ii
Ppt ip 2011_iiPpt ip 2011_ii
Ppt ip 2011_ii
 
Presentacion ii algoritmos_df
Presentacion ii algoritmos_dfPresentacion ii algoritmos_df
Presentacion ii algoritmos_df
 

Presentacion ip pseudocodigo_2012_i

  • 1. Estructura general de un programa Departamento de ingeniería
  • 2. Para recordar… Algoritmos cuantitativos Son todos aquellos pasos o instrucciones que involucran cálculos numéricos para llegar a un resultado satisfactorio. • Ej.: Multiplicar dos números, ordenar una cantidad de números en forma ascendente, dividir dos números, encontrar de un conjunto de números el mayor, etc. Departamento de ingeniería
  • 3. Pasos que deben seguirse en la Elaboración de un Algoritmo. 1. Leer el enunciado del problema cuantas veces sea necesario, hasta entenderlo completamente, si tiene duda sobre el significado de alguna pregunta o condición aclararla, ojala se aprenda de memoria el enunciado. 2. Determinar claramente con que datos de entrada se cuenta para la solución del problema. 3. Aclarar y determinar la información o resultados que se soliciten. 1. Información Intermedia. 2. Información Final. 4. Definir que cálculos y/o comparaciones se necesitan para llegar al resultado final. 1. Cálculos y comparaciones intermedias. 2. Cálculos y comparaciones finales. 5. Tener en cuenta toda clase de condiciones y restricciones para la solución del problema. Todos los pasos tienen la misma importancia, la falta de analisis de alguno de ellos causara problemas en el transcurso del desarrollo del algoritmo.
  • 4. Escritura de algoritmos (programas) Cabecera del programa Comienza por la palabra algoritmo Bloque algorítmico Acciones de declaración Var tipo: lista de identificadores Algoritmo Const: tipo: lista de identificadores = valor Inicio sentencia 1 // Listado se entencias sentencia 1 … fin Departamento de ingeniería
  • 5. Escritura de algoritmos (programas) Cabecera del programa Comienza por la palabra algoritmo Bloque algorítmico Acciones de declaración Var entero: num1 // Declaración variable numérica Const: Algoritmo real: PI= 3.141592 // Declaración constante real carácter: estrella = ‘*’ //Declaración carácter cadena: nombre[20] //Declaración de una cadena de máximo 20 caracteres. Inicio sentencia 1 // Listado se entencias sentencia 1 … fin Departamento de ingeniería
  • 6. Que es una Variable? Variable son todos aquellos valores que pueden o no cambiar en transcurso de un algoritmo. Usualmente son introducidas como datos. Toda variable se compone de dos partes. • NOMBRE: Es el conjunto de caracteres, letras y números, con los cuales se identifica un valor en un momento determinado. • VALOR: Es la cantidad que una variable representa o tiene asociada en un determinado momento. Ejemplo : contador  0 Departamento de ingeniería
  • 7. Que es una Constante? Constantes son todos aquellos valores que no cambian en el transcurso de un algoritmo. Ejemplo : num_pi  3.14 En determinados casos, se puede presentar que el valor de una variable no cambie en el transcurso de un algoritmo; pero este hecho no se considera constante, sigue siendo una variable, porque puede cambiar su valor y las constantes no lo pueden hacer. • Cuando se presenta esta situación se dice que es una variable que se comporta como una constante. • Ejemplo : pi 3.14 Departamento de ingeniería
  • 8. Expresiones Aritméticas (I). • Expresión aritmética es un conjunto de variables y/o constantes unidas o relacionadas por operadores aritméticos. • Los operadores aritméticos son los siguientes: – Exponenciación ^ – Multiplicación * – División / – Resta - – Suma + • Ejemplo: salario_neto  salario_bruto – iss + bono Departamento de ingeniería
  • 9. Expresiones Aritméticas. Operador div (/): división entera. Se utiliza sólo si los operandos son enteros. Ejm. 5 div 2 = 2 (cociente) Operador mod (%): representa el resto de la división entera. Ejm. 5 mod 2 = 1 (residuo) Departamento de ingeniería
  • 10. Expresiones Relacionales. • Expresión relacional es un conjunto de variables y/o constantes unidas o relacionadas por operadores relacionales. • Los operadores relacionales son los siguientes: – MAYOR QUE > – MENOR QUE < – DIFERENTE QUE <> – IGUAL A = – MAYOR O IGUAL >= – MENOR O IGUAL <= • Ejemplo: descuento >= pago Departamento de ingeniería
  • 11. Funciones internas (I) Las funciones internas son operadores especiales, adicionales a los operadores básicos. Departamento de ingeniería
  • 12. Funciones internas (I) Las funciones internas son operadores especiales, adicionales a los operadores básicos. Utilizar las funciones internas par obtener la solución a la educación cuadrática ax^2 + bx + c = 0 −������± ������2 −4������������ ������ = 2������ Departamento de ingeniería
  • 13. Enunciados o Instrucciones Departamento de ingeniería
  • 14. Instrucciones y tipos de instrucciones Es importante en un programa definir las instrucciones que resolverán el problema. Lineal Instrucciones se ejecutan linealmente. Programa No lineal La secuencia se interrumpe con “instrucciones de bifurcación ó de decisión”. El tipo de instrucciones dependen del tipo de lenguaje, sin embargo se tienen instrucciones básicas (Independientes del lenguaje). Departamento de ingeniería
  • 15. Instrucciones y tipos de instrucciones Inicio / fin Inicio, fin Lectura Instrucciones Asignación Escritura Bifurcación o decisión Departamento de ingeniería
  • 16. Enunciado de Lectura.  El enunciado de lectura se utiliza para introducir datos que se van a utilizar en la solución de un algoritmo.  Se almacena en la variable el valor ingresado por el usuario.  Ejemplo: ◦ Leer(edad) ◦ Si el usuario digita 5, la variable edad almacena este valor. Departamento de ingeniería
  • 17. Enunciado de Escritura.  El enunciado de escritura se utiliza para presentar los resultados que se esperaban obtener al ejecutarse el algoritmo.  Ejemplo: ◦ Escribir(edad) ◦ Presenta el valor correspondiente con edad. Departamento de ingeniería
  • 18. Enunciado de Asignación (I). • Es una acción o proceso por el cual se le asigna un valor (constante o variable) o el resultado de una operación (expresión) a una variable. Los enunciados de asignación se utilizan generalmente para cambiar el valor a una variable o definirla. • Definir una variable consiste en asignarle o darle por primera vez un valor; y puede hacerse de dos maneras: – Por medio de una lectura de datos, o – Utilizando un enunciado de asignación. • Ejemplo: leer(edad) edad  25 Departamento de ingeniería
  • 19. Enunciado de Asignación (II). Asignación aritmética. Las expresiones en las operaciones son aritméticas Ejm. Instrucciones Traza 1) N 3 1) La variable N toma el valor de 3 2) N N+1 2) La variable N toma el valor de 4 3) S 2 3) La variable S toma el valor de 2 4) S N+5 4) La variable S toma el valor de 9 Departamento de ingeniería
  • 20. Enunciado de Asignación (III). Asignación lógica. La expresión que se evalúa en la operación de asignación es lógica Ejm. Instrucciones Traza 1) M 31 < 2 1) La variable M toma el valor de falso 2) P P o (2 <= 12) 2) La variable P toma el valor de verdadero 3) Q MyP 3) La variable S toma el valor de falso Departamento de ingeniería
  • 21. Enunciado de Asignación (III). Asignación de cadena de caracteres. La expresión que se evalua es de tipo cadena. Ejm. x  ‘Pedro Perez’ La acción de asignación asigna a la variable tipo cadena x, la cadena de caracteres ‘Linterna verde’. Asignación múltiple. La sintaxis que se utiliza es <variable> <variable> <operador> <expresión> Departamento de ingeniería
  • 22. Reglas para la construcción de enunciados de asignación (I). Toda variable que aparezca al lado derecho de un enunciado de asignación debe estar definida. • Ejemplo 1: edad  25 contador  0 contador  contador + edad • Las variables edad y contador se definieron correctamente • Ejemplo 2: contador  0 contador  contador + edad • La variable edad nunca fue definida. Departamento de ingeniería
  • 23. Reglas para la construcción de enunciados de asignación (II). En un enunciado de asignación, la variable de la izquierda es la única que cambia de valor cuando con anterioridad tiene un valor asignado. Ejemplo : edad  25 contador  0 contador  contador + edad Departamento de ingeniería
  • 24. Reglas para la construcción de enunciados de asignación (III). Las variables que aparecen en la parte derecha de un enunciado de asignación conservan su valor después de ejecutarse la asignación. Ejemplo: salario  1000 bono  120 salario_neto  salario + bono Departamento de ingeniería
  • 25. Reglas para la construcción de enunciados de asignación (IV). Si la variable de la parte izquierda del enunciado se encuentra también en el lado derecho, esta variable cambia de valor por aparecer en la izquierda. Ejemplo: acumulador  0 edad  25 acumulador  acumulador + edad Departamento de ingeniería
  • 26. Enunciado de Decisión. Los enunciados de decisión se utilizan para tomar una acción o conocer el estado de alguna situación especial, que generalmente toman un valor Verdadero o Falso. Departamento de ingeniería
  • 27. Enunciado de Decisión – Si.. Sino Diagrama de Flujo SI NO <comparación> SI <comparación> ENTONCES Pseudo Código VERDADERO Enunciado(s) SINO FALSO Enunciado(s) FIN SI Departamento de ingeniería
  • 28. Enunciado de Decisión – SI .. Sino Diagrama de Flujo SI NO contador > 0 promedio  acumulador/contador promedio  0 SI contador >0 ENTONCES Pseudo Código promedio  acumulador/contador SINO promedio  0 FIN SI Departamento de ingeniería
  • 29. Enunciado de Repetición.  Son los enunciados que permiten repetir varias veces un conjunto de enunciados según se necesite de acuerdo a una condición.  Se les conoce también como ciclos. Departamento de ingeniería
  • 30. Enunciado de Repetición - Mientras Diagrama de Flujo SI NO <comparación> MIENTRAS <comparación> HACER Pseudo Código VERDADERO Enunciado(s) a repetir FIN MIENTRAS FALSO Enunciado(s) Departamento de ingeniería
  • 31. Enunciado de Repetición - Mientras Diagrama de Flujo SI contador < numero NO contador  contador + 1 promedio  acumulador/contador Leer(edad) Escribir (promedio) acumulador  acumulador + edad Fin MIENTRAS contador < numero HACER Pseudo Código contador  contador +1 leer(edad) acumulador  acumulador + edad FIN MIENTRAS promedio  acumulador/contador Departamento de ingeniería escribir(promedio)
  • 32. Enunciado de Repetición – Haga .. Mientras Diagrama de Flujo SI NO <comparación> HAGA Pseudo Código VERDADERO Enunciado(s) a repetir MIENTRAS <comparación> FALSO Enunciado(s) Departamento de ingeniería
  • 33. Enunciado de Repetición – Haga .. Mientras Diagrama de Flujo Leer SI (Edad) NO Promedio  Edad > 0 acumulador/contador contador  contador + 1 Acumulador  acumulador + edad Escriba(promedio) HAGA Pseudo Código leer (edad) contador  contador + 1 Acumulador  acumulador + edad MIENTRAS edad > 0 promedio  acumulador/contador Escriba (promedio) Departamento de ingeniería
  • 34. Ejemplo algoritmo para “sumar dos números” Entrada: Dos números (num1, num2) Salida: Resultado de la suma de los dos números. Proceso: Se reciben los dos números, luego en una variable num_suma se el asigna el resultado de la suma de los números. Se imprime el resultado.
  • 35. Ejemplos de diagramas de flujo Inicio Num_suma 0 Leer num1 Leer num2 Num_suma num1+ num2 Escribir num_suma Fin Departamento de ingeniería
  • 36. Actividad En un diagrama de flujo, representar un algoritmo para dividir dos números. Si el segundo número que se recibe es “0”, se debe presentar un mensaje.
  • 38. Pseudocódigo (I) Es muy importante la indentación (sangría en el margen izquierdo) de las diferentes líneas del algoritmo. Elementos básicos ◦Inicio. Se coloca al empezar el pseudocódigo ◦Fin. Se coloca al finalizar el pseudocócigo ◦//. Se utiliza para colocar comentarios. Se utiliza para realizar una asignación. Ejemplo: num_suma num1 + num2 Leer (y): Se utiliza para solicitar información y
  • 39. Pseudocódigo (II) Escribir (y): Se utiliza para solicitar escribir un dato y. Escribir(‘mensaje’): Se utiliza para escribir la palabra mensaje. Si sentencia entonces Si sentencia instrucciones 1 entonces Si_no instrucciones instrucciones 2 fin si fin si
  • 40. Pseudocódigo (III) Si sentencia1 entonces instrucciones1 sino si sentencia2 entonces instrucciones 2 sino si sentencia3 entonces instrucciones3 sino instrucciones4 fin si fin si fin si mientras sentencia haga instrucciones fin mientras
  • 41. Ejemplo de pseudocódigo Escribir en pseudocódigo un algoritmo que pida el nombre de una persona e imprima en pantalla el nombre ingresado. Var cadena: nombre; inicio Escribir (‘Ingrese su nombre’) Leer (nombre) //En nombre se guardará la información que se ingrese Escribir (‘El nombre ingresado es:’, nombre) fin
  • 42. Actividad en Clase (I) 1. Escribir en pseudocódigo un algoritmo para multiplicar dos números. 2. Escribir en pseudocódigo un algoritmo para dividir dos números. 3. Escribir un algoritmo que determine si un número es o no par. En caso de ser par debe presentar un mensaje “El número X es par” ó “El número X es impar”.
  • 43. Actividad en Clase 1. Escribir un algoritmo que: «Dados tres números determina si la suma de dos de ellos es igual al otro número. En caso de que sean iguales escribir «iguales», en caso de ser desiguales escribir «desiguales». 4. Escriba un algoritmo que pida a un profesor una nota. Dependiendo de la nota se debe realizar lo siguiente:  Si la nota está entre 0y 2.9 presente un mensaje: “perdió la materia”.  Si la nota está entre 3 y 5 presente un mensaje: “gano la materia”.  Si la nota está entre 4.5 y 5 presente un mensaje: “excelente nota”. 5. Escribir un algoritmo que pida tres números al usuario y presente el mayor de estos. Nota: Los algoritmos deben ser presentados en diagrama de flujo y en pseudocódigo.
  • 44. Gracias!!! Departamento de ingeniería