• No se han encontrado resultados

Algoritmos, Especificación y Pseudocódigo

N/A
N/A
Protected

Academic year: 2021

Share "Algoritmos, Especificación y Pseudocódigo"

Copied!
42
0
0

Texto completo

(1)

Universidad de la República

Informática Médica - Informática y Manejo de Imágenes Médicas

Asignatura electiva para la carrera de medicina y afines

Algoritmos, Especificación y

Pseudocódigo

Clase 3 – 8 de setiembre de 2020

Prof. Ing. Franco Simini, Ayud. Ing. Estefanía Della Mea, Ayud. Lic. Natalia Garay, Ayud. Br. Hernán Castillo

Núcleo de Ingeniería Biomédica de las Facultades de Medicina e Ingeniería www.nib.fmed.edu.uy

(2)

1. Algoritmos

2. Diagramas de flujo

3. Pseudocódigo

(3)
(4)

● Conjunto prescrito de instrucciones definidas,

ordenadas, no ambiguas y finitas

● Su fin es resolver un problema mediante pasos

sucesivos que no den lugar a ambigüedades.

(5)

● Es algoritmo si y sólo si:

● es preciso: cada uno de los pasos debe indicar de

manera precisa e inequívoca qué se debe hacer.

● es finito: número limitado de pasos.

● es definido: debe producir los mismos resultados para

las mismas condiciones de entrada.

● tiene cero o más elementos de entrada.

● produce un resultado, es decir, el elemento de salida

será la solución al problema planteado originalmente.

Definición de “algoritmo”

(6)

Entrada de datos necesarios para que el algoritmo

sea ejecutado.

Proceso: secuencia de pasos para ejecutar el

algoritmo.

Salida de datos: resultado o solución obtenida luego

de la ejecución del algoritmo.

Partes de un algoritmo

(7)

● Pasos para cambiar la rueda de un auto.

● Pasos para enviar un correo electrónico.

● Algoritmo para determinar si un paciente tiene gripe.

● Receta de cocina

(8)

● ¿Cuáles son las entradas?

● ¿El proceso?

● ¿La salida?

(9)

1) Lenguaje natural

2) Lenguajes formales:

Diagramas de flujo

Pseudocódigo

● Lenguajes de programación

(10)

Lenguaje natural

● Es el que utilizamos cotidianamente.

● Es intrínseco a las sociedades humanas, desde las

más primitiva

● Los algoritmos de la vida cotidiana están

expresados en lenguaje natural

Ejemplos: receta de cocina, manual de instrucciones, etc.

Lenguaje natural vs. Lenguaje

formal

(11)

Ejemplo de secuencia de pasos,

candidato a algoritmo

(12)

1.

2. Diagrama de

(13)

● Representación gráfica de un proceso

● Herramienta que busca ser de fácil comprensión.

● Ilustra

● sentencias

● decisiones

● flujo lógico

● terminaciones (puntos de entrada y salida)

● Utiliza símbolos estandarizados unidos por flechas

(14)

La American National Standards Institute (ANSI) estableció los símbolos estándares para los diagramas de flujo. Luego la ISO también adoptó esta simbología.

Símbolos normalizados de

diagrama de flujo

(15)

Ejemplo

Inicio Actividad Interrogante Fin Datos sí no

(16)

1) Establecer el alcance (limites del proceso, marco)

2) Listar las actividades y procesos incluidos.

3) Aclarar los puntos de decisión, que determinan los

caminos.

4) Respetar la secuencia ordenada.

5) Dibujar el diagrama resultante.

Pasos a seguir para su

realización

(17)

1)Pasos a seguir 2)si la lámpara 3)no funciona

Ejemplo

La lámpara no funciona ¿Está enchufada la lámpara? ¿Está quemada la lamparita? Comprar nueva lámpara sí sí no no Cambiar lamparita Enchufar la lámpara

(18)

4.1. Acute myocardial infarction

According to AMI management guidelines of the European Society of Cardiology (ESC) published in 2013 [2], a diagnosis is based on elevated levels of at least one cardiac biomarker above percentile 99 (especially troponin), plus at least one of the following criteria: symptoms of cardiac ischemia, electrocardiographic (EKG) abnormalities (ST segment elevation or pathological Q waves) and imaging abnormalities (echocardiogram or angiography).

“Use of formal logic and flowcharts in medical diagnosis situations to verify its validity and inclusion in clinical decision support systems” M.Sosa, L. Grundel, F. Simini.

(19)

Algoritmo para diagnóstico de

(20)

● Que queden ciclos sin salida (“loops”)

● No utilizar los símbolos del estándar

● Que la extensión del diagrama haga que sea poco

claro.

(21)

Ejemplo de errores

comunes

(22)

Fuente: http://www.disaster-info.net/desplazados/documentos/ops/pautas2004/6anexo4.htm Ejemplo de

errores comunes

(23)

● Que queden ciclos sin salida (“loops”)

● No utilizar los símbolos del estándar

● Que la extensión del diagrama haga que sea poco

claro.

(24)

Trabajo en subgrupos!

Buscar un diagrama de flujo que responda a una situación de diagnóstico y discutir su análisis.

(25)
(26)

● Descripción de alto nivel compacta e informal del

principio de un programa informático u otro algoritmo.

● Utilizado en computación y análisis numérico.

● Descripción de algoritmos, para que los lectores

puedan entenderlo sin ser expertos un lenguaje de programación.

(27)

● Nombre

● Concepto de “indentación” (anidación)

● El punto y coma “;”

● Comienza / Termina

Estructura de un

(28)

Variables: Una variable es un espacio de memoria del

ordenador a la que asignamos un contenido.

● Tiene un identificador (id) que la representa y puede

cambiar su valor durante la secuencia de instrucciones dentro del pseudocódigo

Definición de datos del

(29)

Tipos de datos de una variable: ● Simples: ● Entero (int) ● Real ● Booleano (lógico) ● Carácter ASCII

Definición de datos del

(30)

Tipos de datos estructurados:

● Cadena / String: de caracteres ASCII

● Vector / Array: conjunto de variables ordenadas

Definición de datos del

(31)

Conocer el tipo de datos es conocer:

● Cuales son los valores posibles de la variable

● Cuales son las operaciones (primitivas) que se le

pueden aplicar

Definición de datos del

(32)

Tipos de datos dinámicos : se van adjudicando valores en tiempo de ejecución.

● Listas (sin restricciones de acceso definido: lista de

compras)

● Pilas (LIFO: pila de platos)

● Colas (FIFO: cola del cajero)

Definición de datos del

(33)

Asigne a x el valor de y x ← y

x := y x = y

Las operaciones aritméticas se representan de la forma usual en matemáticas

{ Esto es un comentario normalmente matemático } volumen ← πr2h

// y este es otro comentario normalmente de texto Hipotenusa ← sqrt(a2 + b2)

Resultado ← sin (a)

Definición de datos del

(34)

Secuencia de instrucciones que se ejecutan en orden instruccion1; instruccion2; instrucción3; … instruccionn; ●

Estructuras de control

(35)

Selectivas (if)

si condición entonces

instrucciones; fin si

(36)

Doble selectivas (if, elsif o else if) si condición entonces instrucciones1; si no entonces instrucciones2; fin si ●

Estructuras de control

(37)

Mientras (while)

mientras condición hacer

instrucciones; fin mientras

(38)

Repetir (do loop)

repetir

instrucciones;

hasta que condicion

(39)

Para cada (for each)

para i ← 0 hasta n hacer

x ← Li

instrucciones; fin para

(40)

Leer / Escribir de la entrada

Escribir “Ingrese su nombre”;

Leer nombre;

Escribir “Ingrese su edad”;

Leer edad;

Escribir “Usted ingresó el nombre: ”, nombre, “ y la edad: ”, edad;

(41)

Funcion area_cuadrado(lado):

Devolver lado2;

area_salon ← area_cuadrado(800);

Escribir “El área del salón es: ”, area_salon, “m².”

(42)

Referencias

Documento similar

[r]

DECORA SOLO LAS IMÁGENES QUE NECESITES PARA LLEGAR AL NÚMERO CORRESPONDIENTE... CEIP Sansueña/CEIP Juan XXIII Infantil

Las personas solicitantes deberán incluir en la solicitud a un investigador tutor, que deberá formar parte de un grupo de investigación. Se entiende por investigador tutor la

Caracterizar los presupuestos antropológicos y morales que surgen de la triada vulnerabilidad, reconocimiento y reparación como experiencia humana que legitima la

Sin embargo, la experiencia religiosa vivida dentro de los AVA, no solo requiere ser propiciada y favorecida por los docentes y desde los programas de educación virtual,

LA IGUALDAD DE TRATO POR RAZÓN DE EDAD CAUSAS DE NUEVA GENERACIÓN:. LA IGUALDAD DE TRATO POR RAZÓN

 Los Estados miembros disponen de un amplio margen para JUSTIFICAR medidas con el fin de lograr objetivos en material SOCIAL y de EMPLEO..  El control del TJUE de

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados