Presentacion ip pseudocodigo_2012_segunda_parte

37
Estructura general de un programa (II) Departamento de ingeniería

Transcript of Presentacion ip pseudocodigo_2012_segunda_parte

Page 1: Presentacion ip pseudocodigo_2012_segunda_parte

Estructura general de un programa (II)

Departamento de ingeniería

Page 2: Presentacion ip pseudocodigo_2012_segunda_parte

Enunciados o Instrucciones

Departamento de ingeniería

Page 3: Presentacion ip pseudocodigo_2012_segunda_parte

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 4: Presentacion ip pseudocodigo_2012_segunda_parte

Instrucciones y tipos de instrucciones

Departamento de ingeniería

Inicio / fin Inicio, fin

Instrucciones

Lectura

Asignación

Escritura

Bifurcación o decisión

Page 5: Presentacion ip pseudocodigo_2012_segunda_parte

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 6: Presentacion ip pseudocodigo_2012_segunda_parte

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 7: Presentacion ip pseudocodigo_2012_segunda_parte

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 8: Presentacion ip pseudocodigo_2012_segunda_parte

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 9: Presentacion ip pseudocodigo_2012_segunda_parte

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 10: Presentacion ip pseudocodigo_2012_segunda_parte

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 11: Presentacion ip pseudocodigo_2012_segunda_parte

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 12: Presentacion ip pseudocodigo_2012_segunda_parte

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 13: Presentacion ip pseudocodigo_2012_segunda_parte

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 14: Presentacion ip pseudocodigo_2012_segunda_parte

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 15: Presentacion ip pseudocodigo_2012_segunda_parte

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 16: Presentacion ip pseudocodigo_2012_segunda_parte

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 17: Presentacion ip pseudocodigo_2012_segunda_parte

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 18: Presentacion ip pseudocodigo_2012_segunda_parte

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 19: Presentacion ip pseudocodigo_2012_segunda_parte

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 20: Presentacion ip pseudocodigo_2012_segunda_parte

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 21: Presentacion ip pseudocodigo_2012_segunda_parte

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 22: Presentacion ip pseudocodigo_2012_segunda_parte

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 23: Presentacion ip pseudocodigo_2012_segunda_parte

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 24: Presentacion ip pseudocodigo_2012_segunda_parte

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 25: Presentacion ip pseudocodigo_2012_segunda_parte

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 26: Presentacion ip pseudocodigo_2012_segunda_parte

Pseudocódigo

Page 27: Presentacion ip pseudocodigo_2012_segunda_parte

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 28: Presentacion ip pseudocodigo_2012_segunda_parte

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 29: Presentacion ip pseudocodigo_2012_segunda_parte

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 30: Presentacion ip pseudocodigo_2012_segunda_parte

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 31: Presentacion ip pseudocodigo_2012_segunda_parte

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 32: Presentacion ip pseudocodigo_2012_segunda_parte

Actividad en Clase

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».

Entradas: tres números num1,num2,num3

Salidas: mensaje “iguales” ó “desiguales”.

Proceso: Se solicitan los números al usuario

Se comparan las tres posibles comparaciones de números

Se muestra el resultado respectivo.

Page 33: Presentacion ip pseudocodigo_2012_segunda_parte

Solución I Algoritmo comparar_iguales Var entero: num1,num2,num3 Inicio Escribir(‘Ingrese primer número’) leer(num1) Escribir(‘Ingrese segundo número’) leer(num2) Escribir(‘Ingrese tercer número’) leer(num3) si(num1+num2=num3)entonces escribir(‘iguales’) sino si(num1+num3=num2)entonces escribir(‘iguales’) sino si(num2+num3=num2)entonces escribir(‘iguales’) sino escribir(‘desiguales’) fin_si fin_si fin_si Fin

Page 34: Presentacion ip pseudocodigo_2012_segunda_parte

Solución II Algoritmo comparar_iguales Var entero: num1,num2,num3 Inicio Escribir(‘Ingrese primer número’) leer(num1) Escribir(‘Ingrese segundo número’) leer(num2) Escribir(‘Ingrese tercer número’) leer(num3) si((num1+num2=num3) ó (num1+num3=num2) ó (num2+num3=num1 ó ) )entonces escribir(‘iguales’) sino escribir(‘desiguales’) fin_si Fin

Page 35: Presentacion ip pseudocodigo_2012_segunda_parte

Actividad en Clase 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: “ganó la materia”. Si la nota está entre 4.5 y 5 presentar también un mensaje: “excelente nota”.

Entradas: nota del estudiante Salida: mensaje respectivo Proceso: Se solicita la nota del estudiante. Se valida el rango en la cual se encuentra la nota. Se presenta el mensaje respectivo.

Page 36: Presentacion ip pseudocodigo_2012_segunda_parte

Solución Algoritmo validar_nota Var real: nota Inicio Escribir(‘Ingrese la nota del estudiante’) leer(nota) si ((nota>=0) y (nota<2.9)) entonces escribir(‘perdió la materia’) sino si((nota>=3) y (nota<=5)) entonces escribir(‘ganó la materia’) si ((nota>=4.5) y (nota<=5)) entonces escribir(‘excelente nota’) fin_si sino escribir(‘La nota no está en el rango de 0 a 5’) fin_si fin_si Fin

Page 37: Presentacion ip pseudocodigo_2012_segunda_parte

Gracias!!!

Departamento de ingeniería