presentacion ip pseudocodigo_2012_i
TRANSCRIPT
![Page 1: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/1.jpg)
Estructura general de un programa
Departamento de ingeniería
![Page 2: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/2.jpg)
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
![Page 3: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/3.jpg)
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.
![Page 4: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/4.jpg)
Escritura de algoritmos (programas)
Departamento de ingeniería
Cabecera del programa Comienza por la palabra algoritmo
Algoritmo
Bloque algorítmico Acciones de declaración Var tipo: lista de identificadores Const: tipo: lista de identificadores = valor Inicio sentencia 1 // Listado se entencias sentencia 1 … fin
![Page 5: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/5.jpg)
Escritura de algoritmos (programas)
Departamento de ingeniería
Cabecera del programa Comienza por la palabra algoritmo
Algoritmo
Bloque algorítmico Acciones de declaración Var entero: num1 // Declaración variable numérica Const: 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
![Page 6: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/6.jpg)
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
![Page 7: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/7.jpg)
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
![Page 8: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/8.jpg)
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
![Page 9: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/9.jpg)
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
![Page 10: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/10.jpg)
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
![Page 11: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/11.jpg)
Funciones internas (I)
Departamento de ingeniería
Las funciones internas son operadores especiales, adicionales a los operadores básicos.
![Page 12: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/12.jpg)
Funciones internas (I)
Departamento de ingeniería
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𝑎
![Page 13: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/13.jpg)
Enunciados o Instrucciones
Departamento de ingeniería
![Page 14: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/14.jpg)
Instrucciones y tipos de instrucciones
Es importante en un programa definir las instrucciones que resolverán el problema.
El tipo de instrucciones dependen del tipo de lenguaje, sin embargo se tienen instrucciones básicas (Independientes del lenguaje).
Departamento de ingeniería
Lineal Instrucciones se ejecutan linealmente.
Programa
No lineal La secuencia se interrumpe con “instrucciones de bifurcación ó de decisión”.
![Page 15: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/15.jpg)
Instrucciones y tipos de instrucciones
Departamento de ingeniería
Inicio / fin Inicio, fin
Instrucciones
Lectura
Asignación
Escritura
Bifurcación o decisión
![Page 16: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/16.jpg)
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
![Page 17: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/17.jpg)
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
![Page 18: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/18.jpg)
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
![Page 19: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/19.jpg)
Enunciado de Asignación (II).
Departamento de ingeniería
Asignación aritmética. Las expresiones en las operaciones son aritméticas
Ejm.
Instrucciones Traza
Departamento de ingeniería
1) N 3
2) N N + 1
3) S 2
4) S N + 5
1) La variable N toma el valor de 3
2) La variable N toma el valor de 4
3) La variable S toma el valor de 2
4) La variable S toma el valor de 9
![Page 20: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/20.jpg)
Enunciado de Asignación (III).
Departamento de ingeniería Departamento de ingeniería
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
2) P P o (2 <= 12)
3) Q M y P
1) La variable M toma el valor de falso
2) La variable P toma el valor de verdadero
3) La variable S toma el valor de falso
![Page 21: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/21.jpg)
Enunciado de Asignación (III).
Departamento de ingeniería Departamento de ingeniería
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>
![Page 22: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/22.jpg)
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
![Page 23: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/23.jpg)
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
![Page 24: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/24.jpg)
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
![Page 25: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/25.jpg)
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
![Page 26: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/26.jpg)
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
![Page 27: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/27.jpg)
Enunciado de Decisión – Si.. Sino
SI <comparación> ENTONCES VERDADERO Enunciado(s) SINO FALSO Enunciado(s) FIN SI
<comparación> SI NO Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
![Page 28: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/28.jpg)
Enunciado de Decisión – SI .. Sino
SI contador >0 ENTONCES promedio acumulador/contador SINO promedio 0 FIN SI
contador > 0
promedio 0 promedio acumulador/contador
SI NO Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
![Page 29: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/29.jpg)
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
![Page 30: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/30.jpg)
Enunciado de Repetición - Mientras
MIENTRAS <comparación> HACER
VERDADERO
Enunciado(s) a repetir
FIN MIENTRAS
FALSO
Enunciado(s)
<comparación>
SI NO Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
![Page 31: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/31.jpg)
Enunciado de Repetición - Mientras
MIENTRAS contador < numero HACER
contador contador +1
leer(edad)
acumulador acumulador + edad
FIN MIENTRAS
promedio acumulador/contador
escribir(promedio)
Fin
contador < numero
contador contador + 1
Leer(edad)
acumulador acumulador + edad
SI
promedio acumulador/contador
Escribir (promedio)
NO Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
![Page 32: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/32.jpg)
Enunciado de Repetición – Haga .. Mientras
HAGA
VERDADERO
Enunciado(s) a repetir
MIENTRAS <comparación>
FALSO
Enunciado(s)
<comparación>
SI
NO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
![Page 33: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/33.jpg)
Enunciado de Repetición – Haga .. Mientras
HAGA
leer (edad)
contador contador + 1
Acumulador acumulador + edad
MIENTRAS edad > 0
promedio acumulador/contador
Escriba (promedio)
Edad > 0 Promedio
acumulador/contador
Escriba(promedio)
Leer (Edad)
contador contador + 1 Acumulador acumulador +
edad
SI NO
Diagrama de Flujo
Pseudo Código
Departamento de ingeniería
![Page 34: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/34.jpg)
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.
![Page 35: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/35.jpg)
Ejemplos de diagramas de flujo
Departamento de ingeniería
Inicio
Num_suma 0
Num_suma num1+ num2
Fin
Leer num1
Leer num2
Escribir num_suma
![Page 36: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/36.jpg)
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.
![Page 37: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/37.jpg)
Pseudocódigo
![Page 38: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/38.jpg)
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
![Page 39: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/39.jpg)
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
instrucciones fin si
Si sentencia entonces instrucciones 1 Si_no instrucciones 2 fin si
![Page 40: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/40.jpg)
Pseudocódigo (III)
mientras sentencia haga instrucciones fin mientras
Si sentencia1 entonces instrucciones1 sino si sentencia2 entonces instrucciones 2 sino si sentencia3 entonces instrucciones3 sino instrucciones4 fin si fin si fin si
![Page 41: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/41.jpg)
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
![Page 42: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/42.jpg)
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”.
![Page 43: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/43.jpg)
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.
![Page 44: Presentacion ip pseudocodigo_2012_i](https://reader034.vdocuments.co/reader034/viewer/2022052508/559755a31a28abc2238b45d1/html5/thumbnails/44.jpg)
Gracias!!!
Departamento de ingeniería