0% encontró este documento útil (0 votos)
63 vistas

Clase 6 Intro A La Prog Con Matlab PDF

Este documento describe diferentes métodos para representar algoritmos, incluyendo diagramas de flujo, pseudocódigo y lenguaje natural. Explica el uso de estructuras de control como condicionales y ciclos para dirigir el flujo de ejecución de un algoritmo. También incluye ejemplos resueltos para ilustrar estas técnicas.

Cargado por

Kevin Guerra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
63 vistas

Clase 6 Intro A La Prog Con Matlab PDF

Este documento describe diferentes métodos para representar algoritmos, incluyendo diagramas de flujo, pseudocódigo y lenguaje natural. Explica el uso de estructuras de control como condicionales y ciclos para dirigir el flujo de ejecución de un algoritmo. También incluye ejemplos resueltos para ilustrar estas técnicas.

Cargado por

Kevin Guerra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 67

CLASE No.

INTRODUCCIÓN A LA
PROGRAMACIÓN
LOS ALGORITMOS Y
LAS DECISIONES CON
MATLAB
5) REPRESENTACIÓN GRÁFICA
DE LOS ALGORITMOS.
• Para representar un
algoritmo se debe utilizar
algún método que permita
independizar dicho
algoritmo del lenguaje de
programación elegido.
• Ello permitirá que un
algoritmo pueda ser
codificado indistintamente
en cualquier lenguaje.
• Para conseguir este objetivo se
precisa que el algoritmo sea
representado gráfica o
numéricamente, de modo que las
sucesivas acciones no dependan de la
sintaxis de ningún lenguaje de
programación, sino que la
descripción pueda servir fácilmente
para su transformación en un
programa, es decir, su codificación.
5-1) Métodos usuales para
representar un algoritmo

1. diagrama de flujo,
2. diagrama N-S (Nassi-Schneiderman),
3. lenguaje de especificación de algoritmos:
pseudocódigo,
4. lenguaje español, inglés…
5. fórmulas.
• Los métodos 4 y 5 no suelen ser fáciles de
transformar en programas.
• Una descripción en español narrativo no es
satisfactoria, ya que es demasiado prolija y
generalmente ambigua.
• Una fórmula, sin embargo, es un buen
sistema de representación matemática.
• Sin embargo, no es frecuente que un
algoritmo pueda ser expresado por medio
de una simple fórmula.
5-2) El Pseudocódigo
• El pseudocódigo es un lenguaje de
especificación (descripción) de
algoritmos.
• El uso de tal lenguaje hace el paso de
codificación final (esto es, la
traducción a un lenguaje de
programación) relativamente fácil.
• Los lenguajes APL Pascal y Ada se utilizan a
veces como lenguajes de especificación de
algoritmos.
• La ventaja del pseudocódigo es que en su uso,
en la planificación de un programa, el
programador se puede concentrar en la lógica y
en las estructuras de control y no preocuparse
de las reglas de un lenguaje específico.
• Es también fácil modificar el pseudocódigo si
se descubren errores o anomalías en la lógica
del programa, mientras que en muchas
ocasiones suele ser difícil el cambio en la
lógica, una vez que está codificado en un
lenguaje de programación.
• El pseudocódigo original utiliza para
representar las acciones sucesivas palabras
reservadas en inglés.
• —similares a sus homónimas en los lenguajes
de programación—.
• tales como:
• start, end, stop, if-then-else, while-end,
repeat-until, etc.
• La escritura de pseudocódigo exige
normalmente la indentación (sangría en el
margen izquierdo) de diferentes líneas.
• Por fortuna, aunque el pseudocódigo nació
como un sustituto del lenguaje de
programación y, por consiguiente, sus
palabras reservadas se conservaron o fueron
muy similares a las del idioma inglés, el uso
del pseudocódigo se ha extendido en la
comunidad hispana con términos en español
como inicio, fin, parada, leer, escribir, si-
entonces-si_no, mientras, fin_mientras,
repetir, hasta_que, etc.
5-3) Los Diagramas
de Flujo
• Un diagrama de flujo
(flowchart) es una de las
técnicas de representación de
algoritmos más antigua y a la
vez más utilizada, aunque su
empleo ha disminuido
considerablemente, sobre
todo, desde la aparición de
lenguajes de programación
estructurados.
• Un diagrama de flujo es
un diagrama que utiliza
los símbolos (cajas)
estándar mostrados en
la Tabla y que tiene los
pasos de algoritmo
escritos en esas cajas
unidas por flechas,
denominadas líneas de
flujo, que indican la
secuencia en que se
debe ejecutar.
Símbolos de Diagrama de Flujo
Símbolos de Diagrama de Flujo
5-4) EJERCICIOS RESUELTOS
PARA PSEUDOCODIGO
Ejemplo 1:
Describa un algoritmo para llegar a la solución.

• En el gráfico siguiente se muestra un recipiente


grande con algún refresco y se propone el
problema de obtener exactamente 4 cc. del
refresco usando solamente los instrumentos
mostrados cuya capacidad en cc. está indicada.
• Es posible trasladar el contenido entre
recipientes pero no se dispone de ningún
instrumento adicional de medición.
Objetivo propuesto: Que el recipiente de 5 cc.
contenga 4 cc. del refresco
Variables

• Sean
• A: Representación del recipiente cuya
capacidad es 5 cc.
• B: Representación del recipiente cuya
capacidad es 3 cc.
• C: Representación del recipiente grande
con cantidad suficiente de refresco.
Algoritmo
1. Llene A con el refresco de C
2. Vierta A en B hasta llenarlo
3. Vierta todo el contenido de B en C
4. Vierta todo el contenido de A en B
5. Llene A con el refresco de C
6. Vierta el contenido de A en B hasta
llenarlo
7. El recipiente A contendrá 4 cc.
Prueba
Recorrer el algoritmo anotando los valores que toman
las variables A y B

Resultado
Se verifica que en el recipiente A quedarán 4 cc.
6) ESTRUCTURAS DE CONTROL
DE FLUJO DE UN ALGORITMO.
6-1) Ejecución condicionada
de un bloque
• La ejecución de los bloques de un
algoritmo es secuencial, pero Ejecución condicionada
puede alterarse mediante de un bloque
estructuras de control de flujo que
permiten establecer un orden
especial en la ejecución.
• Decisiones
• Describen la ejecución selectiva
de bloques usando como criterio el
resultado de una condición
• Al entrar a esta estructura,
se evalúa la condición.
• Si el resultado es verdadero
(V) se ejecutarán las
instrucciones en el bloque P
caso contrario, si el
resultado es falso (F) el
bloque no será ejecutarlo.
• En ambos casos el algoritmo
continua abajo del bloque.
• La condición es cualquier
expresión cuyo resultado
puede ser únicamente
verdadero (V) o falso (F).
• Puede incluir operadores
para comparar el
contenido de variables y
también se pueden usar
los conectores de la
lógica matemática.
• Expresiones que pudieran ser usadas como una
condición.
n0
a5
x4
a  3 x 1
• Para que una expresión pueda ser usada como una
condición, las variables incluidas en la expresión
deben tener asignado algún valor, caso contrario
será un error pues la condición no podría evaluarse.
6-2) Ejercicios resueltos para
ejecución condicionada de un bloque
Ejemplo 2.-
Describa en notación algorítmica como reducir en
10% el valor almacenado en la variable p en caso
de que su valor actual sea mayor a 40

• Antes del bloque, la


variable p tiene
que haber sido
asignada algún
valor, caso contrario
sería un error.
Ejemplo 3
Presente el flujograma para resolver
el siguiente problema.

• Calcular el valor total que una persona debe


pagar en un almacén por comprar de llantas.
• Los datos son la cantidad de llantas
compradas y el precio unitario.
• Si la cantidad comprada es mayor a 4 llantas,
el almacén reduce el precio unitario en el 10%.
• Flujograma.- Compra de
llantas con descuento.
• Variables
n: Cantidad de llantas
p: Precio unitario
t: Valor a pagar
6-3) Ejecución selectiva de
uno entre dos bloques
Ejecución selectiva de
• Al entrar a esta estructura,
se evalúa la condición. uno entre dos bloques
• Si el resultado es verdadero
(V) se ejecutará el bloque P
asociado al valor verdadero,
caso contrario, si el resultado
es falso (F) se ejecutará el
bloque Q.
• El algoritmo continua abajo,
después de ejecutar alguno
de los dos bloques.
6-4) Ejercicios resueltos para ejecución
selectiva entre uno de dos bloques
• Ejemplo 4
• Describa en notación
algorítmica como
asignar a la variable m
el mayor entre dos
valores almacenados
respectivamente en las Antes del bloque, las variables a y
variables a y b. b tienen que haber sido asignadas
algún valor, caso contrario sería un
error.
Ejemplo 5

• Para el pago semanal a un


obrero se consideran los • Algoritmo: Pago semanal a
siguientes datos: horas un obrero
trabajadas, tarifa por hora • Variables
y descuentos.
• c: Cantidad de horas
• Si la cantidad de horas trabajadas en la semana
trabajadas en la semana es • t: Tarifa por hora d:
mayor a 40, se le debe Descuentos que se aplican al
pagar las horas en exceso pago semanal
de 40 con una bonificación • p: Pago que recibe el obrero
de 50% adicional al pago
normal.
7) LOS CICLOS DE PROGRAMACIÓN
• Los ciclos o repeticiones son estructuras
de control que se usan para describir la
ejecución repetida de un bloque de
instrucciones.
• Hay dos formas comunes de ciclos que
se usan en la construcción de algoritmos.
7-1) El Ciclo
<<Para>>
Ejecución repetida de un bloque
• Para usar esta estructura de mediante un conteo de ciclos.
control es necesario
especificar el conteo de
ciclos indicando el valor
inicial del conteo, el
incremento y el valor final.
• Al ejecutarse la estructura el
valor de la variable del
conteo cambiará siguiendo la
especificación establecida.
• Al entrar a esta estructura, se inicia el conteo, si
la variable del conteo no excede al valor final, se
ejecuta el bloque, regresa nuevamente al inicio
del ciclo y se incrementa la variable del conteo.
• Mientras el valor del conteo no exceda al valor
final, el bloque será nuevamente ejecutado.
Cuando el conteo exceda al valor final, la
ejecución continuará después del bloque.
• El conteo de ciclos se lo puede definir
especificando el valor inicial, el valor final y
el incremento, con la siguiente sintaxis:
• i ← a : b: c
• En donde
• i: Variable que toma los valores del conteo
• a: Valor inicial del conteo
• b: Valor con el que se incrementa el conteo
• c: Valor final del conteo
7-2) Ejercicios resueltos
para los ciclos de
programación <<para>>.
• Ejercicio 6

• Especificar en forma
abreviada el conteo
para que el bloque
de instrucciones se
repita 20 veces.
• Ejercicio 7

• Dado un número entero positivo n


calcular y mostrar la suma de los cubos
de los primeros n números naturales.
• Algoritmo: Suma de cubos
• Variables
n: Cantidad de números naturales
x: Cada número natural
s: Suma de los cubos
i: Conteo de ciclos
7-3) El ciclo <<mientras>>
Ejecución repetida de un bloque
mediante una condición.

• Esta es otra forma para


describir ciclos o
repeticiones. Al entrar a
esta estructura, se evalúa
la condición, si el
resultado es verdadero
(V) se ejecutará el bloque
y regresará nuevamente
a evaluar la condición.
• Mientras la condición mantenga el valor
verdadero (V), el bloque de instrucciones
se ejecutará nuevamente.
• Esto significa que en algún ciclo al evaluar
la condición deberá obtenerse el
resultado falso (F) para salir de la
estructura y continuar la ejecución
después del bloque.
• Al diseñar el algoritmo deberán escribirse
las instrucciones necesarias.
• La condición es cualquier
expresión cuyo resultado
puede ser únicamente
verdadero (V) o falso (F).
• Puede incluir operadores
para comparar el contenido
de variables y también se
pueden usar los conectores
de la lógica matemática.
• Ejemplo de expresiones que pudieran
ser usadas como una condición.
• El resultado de cada una dependerá
del contenido de las variables:
• n>0
•a ≤ 5
•x ≠ 4
•a < 3 ∨ x > 1
• Las estructuras de repetición son necesarias
cuando un bloque del algoritmo debe ejecutarse
más de una vez para construir la solución.
• Es importante distinguir el uso de cada una:
• Si se conoce la cantidad de ciclos que se deben
realizar, entonces conviene usar la repetición
controlada con un conteo de ciclos.
• Pero si el algoritmo que se propone para
resolver un problema requiere repetir
un bloque pero no se puede anticipar la
cantidad de ciclos que deben realizarse,
entonces debería usarse la repetición
controlada con una condición.
7-4) Ejercicios resueltos para los
ciclos de programación <<mientras>>
• Ejercicio 8
• Dada una cantidad inicial de bacterias,
determine en que día la cantidad de
bacterias excede a un valor máximo sabiendo
que cada día se duplica esta cantidad.
• Algoritmo: Crecimiento de la cantidad de
bacterias.
• Variables
• x: Cantidad inicial de bacterias
• m: Cantidad máxima de bacterias
• d: día.
Note que se debe usar el
ciclo condicionado pues no
se puede anticipar la
cantidad de repeticiones
necesarias para que la
cantidad de bacterias
exceda al valor máximo.
Ejercicio 9:

Presentar el Diagrama de Flujo


Calcular el salario bruto y el
salario neto de un trabajador “por
horas” conociendo el nombre,
número de horas trabajadas,
impuestos a pagar y salario neto.
Ejercicio 10

Escriba el pseudocódigo
del siguiente Flujograma
Pseudocódigo
• entero: numero, Suma
• Suma ← 2
• numero ← 4
• mientras (numero <= 100) hacer
suma ← suma + numero
numero ← numero + 2
• fin mientras
• escribe ('Suma pares entre 2 y 100 =', suma)
• Ejercicio 11:

• Se desea realizar el algoritmo y el flujograma que


resuelva el siguiente problema:

• Cálculo de los salarios mensuales de los


empleados de una empresa, sabiendo que éstos se
calculan en base a las horas semanales trabajadas
y de acuerdo a un precio especificado por horas.
• Si se pasan de cuarenta horas semanales, las horas
extraordinarias se pagarán a razón de 1,5 veces la
hora ordinaria.
• Los cálculos son:

1. Leer datos del archivo de la empresa,


hasta que se encuentre la ficha final del
archivo (HORAS, PRECIO_HORA,
NOMBRE).
2. Si HORAS <= 40, entonces SALARIO es el
producto de horas por PRECIO_HORA.
3. Si HORAS > 40, entonces SALARIO es la
suma de 40 veces PRECIO_HORA más 1.5
veces PRECIO_HORA por (HORAS-40).
Pseudocódigo
• real: horas, precioHora, salario
• cadena: nombre
• caracter: masDatos
• inicio
• escribir(' Introducir horas, precio hora y nombre')
• repetir
• escribir ('Nombre’)
• leer (Nombre)
• escribir ('Horas trabajadas’)
• leer (horas)
• escribir ('Precio hora’)
• leer (precio Hora)
• si (horas <= 40) entonces
Salario ← horas * precioHora
• sino
Salario ← 40 * precioHora + 1.5 * (horas - 40)
* preciohora
• fin si
escribir ( 'Salario de', nombre, salario)
escribir ('Mas trabajadores S/N’)
leer (masDatos)
hasta masDatos = 'N’
fin
Diagrama de Flujo

También podría gustarte