Download - Programación Estructurada y Pseudocódigo
-
8/19/2019 Programación Estructurada y Pseudocódigo
1/36
Estructuras de datos (Prof. Edgardo A. Franco)
1
Tema 02: Pseudocódigo y Programación
estructurada
Solicitado:Ejercicios 01: Diagramas de flujo y pseudocódigo
M. en C. Edgardo Adrián Franco Martínezhttp://www.eafranco.com
@edfrancom edgardoadrianfrancom
http://www.eafranco.com/mailto:[email protected]:[email protected]://www.eafranco.com/
-
8/19/2019 Programación Estructurada y Pseudocódigo
2/36
Contenido• Pseudocódigo
• ¿Qué es programación?
• ¿Qué es el código fuente?
• ¿Qué es un programa computacional?
• Lenguaje de programación
• Primeras programaciones• Paradigma de programación
• Programación estructurada
• Paradigma de la programación estructurada
• Teorema de la programación estructurada
• Lenguajes de programación estructurada
• Pseudocódigo y la Programación Estructurada
• Ejemplo 01
•
Ejercicios 01: Diagramas de flujo y pseudocódigo
2
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t
í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
3/36
Pseudocódigo
• El pseudocódigo es una descripción de alto nivel de unalgoritmo que emplea una mezcla de lenguaje natural conalgunas convenciones sintácticas propias de lenguajes deprogramación, a usar (es un supuesto lenguaje) .
• Es utilizado para describir algoritmos de manera formal en
libros y publicaciones científicas, y como producto intermedio
durante el desarrollo de un algoritmo.
• El pseudocódigo está pensado para facilitar a las personas elentendimiento de un algoritmo, y por lo tanto puede omitirdetalles irrelevantes que son necesarios en una
implementación. 3
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u
r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t
í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
4/36
• Programadores diferentes suelen utilizar convencionesdistintas, que pueden estar basadas en la sintaxis delenguajes de programación concretos. Sin embargo, elpseudocódigo en general es comprensible sin necesidadde conocer o utilizar un entorno de programaciónespecífico, y es a la vez suficientemente estructuradopara que su implementación se pueda hacerdirectamente a partir de él.
• Es independiente del lenguaje de programación.
• La definición de datos se da por supuesta,
principalmente para variables sencillas, pero si se empleavariable más complejas, por ejemplo pilas, colas,vectores, etc., se pueden definir en la cabecera delalgoritmo.
4
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t
í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
5/36
5
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t
í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
6/36
¿Qué es programación?
• La programación es el proceso de diseñar,codificar, depurar y mantener el código fuentede programas computacionales.
6
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t
í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
7/36
¿Qué es el código fuente?
• El código fuente de un programa computacional (osoftware) es un conjunto de líneas de texto que son lasinstrucciones que debe seguir la computadora, escritasen un lenguaje de programación para ejecutar dicho
programa.
• Por tanto, en el código fuente de un programa estádescrito por completo su funcionamiento.
7
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
8/36
• El proceso de escribir código requiere frecuentemente
conocimientos en varias áreas distintas, además deldominio del lenguaje a utilizar, algoritmosespecializados y lógica formal.
8
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
9/36
• El código fuente es escrito en un lenguaje de
programación. El propósito de la programaciónes crear programas que exhiban uncomportamiento deseado.
9
A l g o
r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
10/36
¿Qué es un programa computacional?
• Un programa computacional es un conjunto deinstrucciones que una vez ejecutadas realizarán una ovarias tareas en una computadora.
• Al conjunto general de programas, se le denomina
software, que se refiere al equipamiento lógico osoporte lógico de una computadora digital.
10
A l g o
r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
11/36
Lenguaje de programación
• Un lenguaje de programación es un idioma artificialdiseñado para expresar computaciones que pueden serllevadas a cabo por un equipo computacional.
• Un lenguaje de programación se usa para crearprogramas que controlen el comportamiento físico ylógico de una máquina, esto permite crear soluciones aproblemas reales e interacciones humano-maquina.
11
A l g o
r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
12/36
• Un lenguaje de programación está formado de unconjunto de símbolos y reglas sintácticas y semánticasque definen su estructura y el significado de sus
elementos y expresiones.
• Sintáctica (reglas que gobiernan la combinatoria de los símbolos y
la formación de unidades superiores a estos)
• Semántica (aspectos del significado, sentido o interpretación del
significado de un determinado elemento, símbolo, palabra,
expresión o representación formal)
12
A l g o
r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
13/36
Primeras programaciones
• En los inicios de la programación de computadoras(segunda mitad de la década de 1950), el nacimiento de
los primeros lenguajes de alto nivel como Fortran yCobol apoyaban en la codificación de soluciones a
problemas computacionales, pero la gran mayoría de lasveces el diseño y la implementación de la soluciónquedaba determinados según criterios personales y decada programador.
13
A l g o
r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
14/36
Paradigma de programación
• Un paradigma de programación es una propuestatecnológica que es adoptada por una comunidad deprogramadores cuyo núcleo central es incuestionable encuanto a que unívocamente trata de resolver uno o
varios problemas claramente delimitados.
• Un paradigma de programación representa un enfoque
particular o filosofía para la construcción del software.
• Es decir un paradigma de programación establece como
programar la solución a un problema de cierta manera
en un código fuente bajo un lenguaje de programación. 14
A l g o
r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
15/36
Programación estructurada
• Es una forma de escribir programas de
computadora (paradigma de programación).
• Los principios que rigen este paradigma deprogramación son el uso de únicamente tresestructuras de control: secuencia, selección eiteración
15
A l g o
r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
16/36
Paradigma de la programación estructurada
• El paradigma del la programación estructurada es un resultado enla teoría de lenguajes de programación.
• Establece a grandes rasgos que toda función computable puede serimplementada en un lenguaje de programación que combine
subrutinas en únicamente tres formas. Esas tres formas (tambiénllamadas estructuras de control) son:1. Ejecutar una subrutina y luego otra subrutina (secuencia)
2. Ejecutar una de dos subrutinas, dependiendo del valor de una variablebooleana (selección)
3. Ejecutar una subrutina mientras una variable booleana sea 'verdadera'
(iteración, ciclo o bucle)
• Los científicos de la computación usualmente acreditan el teorema a un artículo de1966 escrito por Corrado Böhm y Giuseppe Jacopini. Sin embargo, David Harelrastreó sus orígenes hasta la descripción de 1946 de la arquitectura de von Neumanny el teorema de la forma normal de Kleene.
16
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
17/36
Teorema de la programación estructurada
• En 1966 los matemáticos Corrado Böhm y GiuseppeJacopini demostraron que: "Un programa propio puede
ser escrito utilizando solamente 3 tipos de estructuras
de control (Secuenciales, selectivas e iterativas)" .
• A su vez un programa propio:• Posee un solo punto de entrada y uno de salida o fin.
• Existen caminos desde la entrada hasta la salida que se
pueden seguir y que pasan por todas partes del programa.• Todas las instrucciones son ejecutables (sin código muerto) y no
existen lazos o bucles infinitos (sin fin).
17
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
18/36
Lenguajes de programación estructurada
• Un lenguaje de programación estructurada es aquel que establece
una sintaxis y semántica propia para expresar computaciones, y sebasa en el teorema de la "programación estructurada", ofreciendoinstrucciones para expresar las tres estructuras de control delteorema.
18
SECUENCIAIndica que las instrucciones de un
programa se ejecutan una
después de la otra, en el mismo
orden en el cual aparecen en el
programa. Se representa
gráficamente como una caja
después de otra, ambas con una
sola entrada y una única salida
SELECCIÓNTambién conocida como la estructura
SI-CIERTO-FALSO, plantea la selección
entre dos alternativas con base en el
resultado de la evaluación de una
condición o predicado; equivale a la
instrucción IF de todos los lenguajes
de programación.
ITERACIÓNTambién llamada la estructura
HACER-MIENTRAS-QUE,
corresponde a la ejecución
repetida de una instrucción
mientras que se cumple una
determinada condición.
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
19/36
Pseudocódigo y la Programación Estructurada
• Asignación
• Variables declaradas por el desarrollador
x←y
y→x
volumen←∏ r 2h
resultado←sin(a) 19
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o
c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
20/36
• Estructuras de control
Secuencial
Instrucciónn
Instrucción1 Instrucción2
Instrucción3
Instrucción4
Diagrama de flujo Pseudocodigo 20
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
21/36
• Estructuras de control
• Selectiva
Simple
condición
no
si
Instrucciones
21
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
22/36
• Estructuras de control
• Selectiva
Doble
condición
si
no
Instrucciones2
Instrucciones1
22
A l g o r i t m i a y p r o g r a m a c i ó n e s
t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s
t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
23/36
-
8/19/2019 Programación Estructurada y Pseudocódigo
24/36
• Estructuras de control
• Iterativa
Mientras
condición
no
si
Instrucciones
24
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
25/36
• Estructuras de control
• Iterativa
Repetir
condición
si
no
Mientras ≈ Repetir
Instrucciones
25
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
26/36
• Estructuras de control
• Iterativa
Para
Para → mientras
i ≤ n
no
si
Instrucciones
i ← i+1
i ← x
26
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
27/36
• Anidamiento
27
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
28/36
Ejemplo 01
• Calcular la media de una serie denúmeros positivos, suponiendo que
los datos se leen uno a uno.
• Un valor de cero como entrada
indicará que se ha alcanzado el final
de la serie de números positivos.
28
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
29/36
29
Inicio
dato 0
media
Fin
dato
media ← suma/ (numdatos-1)
1
1
numdatos ← numdatos + 1suma← suma+ dato
numdatos ← 0
suma← 0
nosi
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
Ejemplo 01 (Algoritmo en diagrama de
flujo)
-
8/19/2019 Programación Estructurada y Pseudocódigo
30/36
Procedimiento Media()
numdatos
-
8/19/2019 Programación Estructurada y Pseudocódigo
31/36
Realizar diagrama de flujo y pseudocódigo
1. Diseñar un algoritmo para calcular la longitud de la
circunferencia y el área de un círculo, para un radio
introducido.
2. Diseñar un algoritmo que convierta un número dado de
segundos en el equivalente de minutos y segundos.
3. Realizar un algoritmo que obtenga 100 términos de una
serie numérica de dos en dos a partir de un númerodado.
4. Construir un algoritmo que imprima la suma de los 100
primeros números de la serie numérica anterior.
31
A l g o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
Ejercicios 01: Diagramas de flujo y
pseudocódigo
Ejercicios 01: Diagramas de flujo ypseudocódigo
-
8/19/2019 Programación Estructurada y Pseudocódigo
32/36
5. Hacer el algoritmo que calcule la máxima área de un
terreno rectangular de lados 100-2x y x
respectivamente, para valores de x entre 10 y 300.
6. Crear una algoritmo que reciba un número entero mayor
a 0 y menor a 10. El número recibido, será el número de
minutos que se deberá contar en forma regresiva hasta
llegar a 0 segundos, se debe mostrar en todo momento
los minutos y segundos faltantes para llegar a cero.Finalmente cuando el contador regresivo llegue a cero
segundos, se debe mostrar el mensaje “Se terminó el
tiempo”.
7. Construya un algoritmo que calcule el factorial de un
número dado.
32
A l g
o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
33/36
8. Hacer el algoritmo que al recibir una calificación entre 0
y 100 determine si esta es aprobatoria o no en ESCOM.
9. Crear un algoritmo que muestre la multiplicación de losdos números mayores de una serie de números
positivos, suponiendo que los datos se leen uno a uno.
Un valor de cero como entrada indicará que se ha
alcanzado el final de la serie de números positivos.
10. Construya un algoritmo que reciba dos puntos de un
plano 2D y muestre la distancia entre estos.
11. Construya un algoritmo que reciba dos puntos de un
plano 3D y muestre la distancia entre estos.
12. Cree un algoritmo que al recibir un numero de año
determine si este es bisiesto o no. 33
A l g
o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a
c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
34/36
13. Crear un algoritmo capaz de recibir las horas trabajas de
un empleado y la paga por hora para calcular el sueldo
semanal de un empleado . Cuando la horas de trabajo
exceden de 40 se consideran horas extra; las primeras 8se pagan al doble; si las horas extra exceden de 8 se
pagan las primeras 8 al doble de lo que se pagan las
horas normales y el resto al triple.
14. Crear un algoritmo que reciba 3 números naturales yeste sea capaz de obtener estos en orden ascendente y
descendente.
15. Cree un algoritmo capaz de leer una lista de
calificaciones (0.00-10.00) y calcular el promedio, el
número de aprobados y el número de reprobados; el
final de la lista de calificaciones será si se introduce un
número menor a cero.34
A l g
o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a
c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
35/36
16. Crear un algoritmo capaz de recibir un número y
determinar si este es primo no.
17. Crear un algoritmo capaz de recibir un número yobtenga su representación en binario.
18. Crear un algoritmo capaz de recibir un número y
obtenga su representación en hexadecimal.
19. Crear un algoritmo que reciba una medida en metros y
sea capaz de obtener su equivalente en Pies, Yardas y
Millas.
20. Crear un algoritmo que reciba un número x a partir delcual calcula: =
+10 2
35
A l g
o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a
c
a r t í
z
-
8/19/2019 Programación Estructurada y Pseudocódigo
36/36
3636
• Realizar los algoritmos para ejercicios 01 al 20 y representarlosmediante diagrama de flujo y pseudocódigo
• Observaciones
1. Reportar el texto del ejercicio y su algoritmo en diagrama de flujoy pseudocódigo y las pruebas en PSeInt.
2. Incluir al reporte las capturas de pantalla de cada algoritmo enPSeInt
3. El reporte es individual y tiene portada con fotografía, índice y
encabezados de pagina con número de pagina , titulo y nombredel alumno.
4. Enviar vía Web en un archivo comprimido (ZIP, RAR o TAR),reporte y archivos psc (PSeInt) de cada ejercicio.
*Se entregará antes del día Jueves 25 de Febrero de 2016(23:59:59 hora limite).
Grupo Contraseña
1CV8 algoritmia1cv8
A l g
o r i t m i a y p r o g r a m a c i ó n e s t r u c t u r a d a
0 2 P s e u d
o c ó d i g o y P r o g r a m a c i ó n e s t r u c t u r a d a
r f . E
a r
r i á
F r a
c
a r t í
z