Você está na página 1de 36

Tema 02: Pseudocdigo y Programacin

estructurada
Solicitado: Ejercicios 01: Diagramas de flujo y pseudocdigo
1

M. en C. Edgardo Adrin Franco Martnez


http://www.eafranco.com
edfrancom@ipn.mx
@edfrancom

edgardoadrianfrancom

Estructuras de datos (Prof. Edgardo A. Franco)

Pseudocdigo
Qu es programacin?

Qu es el cdigo fuente?
Qu es un programa computacional?

Lenguaje de programacin

Primeras programaciones
Paradigma de programacin

Programacin estructurada

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Contenido

Paradigma de la programacin estructurada


Teorema de la programacin estructurada
Lenguajes de programacin estructurada

Pseudocdigo y la Programacin Estructurada


Ejemplo 01
Ejercicios 01: Diagramas de flujo y pseudocdigo

El pseudocdigo es una descripcin de alto nivel de un


algoritmo que emplea una mezcla de lenguaje natural con
algunas convenciones sintcticas propias de lenguajes de
programacin, a usar (es un supuesto lenguaje) .
Es utilizado para describir algoritmos de manera formal en
libros y publicaciones cientficas, y como producto intermedio
durante el desarrollo de un algoritmo.

El pseudocdigo est pensado para facilitar a las personas el


entendimiento de un algoritmo, y por lo tanto puede omitir
detalles irrelevantes que son necesarios en una
implementacin.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Pseudocdigo

Es independiente del lenguaje de programacin.


La definicin de datos se da por supuesta,
principalmente para variables sencillas, pero si se emplea
variable ms complejas, por ejemplo pilas, colas,
vectores, etc., se pueden definir en la cabecera del
algoritmo.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Programadores diferentes suelen utilizar convenciones


distintas, que pueden estar basadas en la sintaxis de
lenguajes de programacin concretos. Sin embargo, el
pseudocdigo en general es comprensible sin necesidad
de conocer o utilizar un entorno de programacin
especfico, y es a la vez suficientemente estructurado
para que su implementacin se pueda hacer
directamente a partir de l.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

La programacin es el proceso de disear,


codificar, depurar y mantener el cdigo fuente
de programas computacionales.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Qu es programacin?

El cdigo fuente de un programa computacional (o


software) es un conjunto de lneas de texto que son las
instrucciones que debe seguir la computadora, escritas
en un lenguaje de programacin para ejecutar dicho
programa.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Qu es el cdigo fuente?

Por tanto, en el cdigo fuente de un programa est


descrito por completo su funcionamiento.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

El proceso de escribir cdigo requiere frecuentemente


conocimientos en varias reas distintas, adems del
dominio del lenguaje a utilizar, algoritmos
especializados y lgica formal.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

El cdigo fuente es escrito en un lenguaje de


programacin. El propsito de la programacin
es crear programas que exhiban un
comportamiento deseado.

Un programa computacional es un conjunto de


instrucciones que una vez ejecutadas realizarn una o
varias tareas en una computadora.
Al conjunto general de programas, se le denomina
software, que se refiere al equipamiento lgico o
soporte lgico de una computadora digital.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Qu es un programa computacional?

10

Un lenguaje de programacin es un idioma artificial


diseado para expresar computaciones que pueden ser
llevadas a cabo por un equipo computacional.
Un lenguaje de programacin se usa para crear
programas que controlen el comportamiento fsico y
lgico de una mquina, esto permite crear soluciones a
problemas reales e interacciones humano-maquina.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Lenguaje de programacin

11

Sintctica (reglas que gobiernan la combinatoria de los smbolos y


la formacin de unidades superiores a estos)

Semntica (aspectos del significado, sentido o interpretacin del


significado de un determinado elemento, smbolo, palabra,
expresin o representacin formal)

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Un lenguaje de programacin est formado de un


conjunto de smbolos y reglas sintcticas y semnticas
que definen su estructura y el significado de sus
elementos y expresiones.

12

En los inicios de la programacin de computadoras


(segunda mitad de la dcada de 1950), el nacimiento de
los primeros lenguajes de alto nivel como Fortran y
Cobol apoyaban en la codificacin de soluciones a
problemas computacionales, pero la gran mayora de las
veces el diseo y la implementacin de la solucin
quedaba determinados segn criterios personales y de
cada programador.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Primeras programaciones

13

Un paradigma de programacin es una propuesta


tecnolgica que es adoptada por una comunidad de
programadores cuyo ncleo central es incuestionable en
cuanto a que unvocamente trata de resolver uno o
varios problemas claramente delimitados.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Paradigma de programacin

Un paradigma de programacin representa un enfoque


particular o filosofa para la construccin del software.
Es decir un paradigma de programacin establece como
programar la solucin a un problema de cierta manera
en un cdigo fuente bajo un lenguaje de programacin.

14

Es una forma de escribir programas de


computadora (paradigma de programacin).
Los principios que rigen este paradigma de
programacin son el uso de nicamente tres
estructuras de control: secuencia, seleccin e
iteracin

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Programacin estructurada

15

El paradigma del la programacin estructurada es un resultado en


la teora de lenguajes de programacin.
Establece a grandes rasgos que toda funcin computable puede ser
implementada en un lenguaje de programacin que combine
subrutinas en nicamente tres formas. Esas tres formas (tambin
llamadas estructuras de control) son:
1. Ejecutar una subrutina y luego otra subrutina (secuencia)
2. Ejecutar una de dos subrutinas, dependiendo del valor de una variable
booleana (seleccin)
3. Ejecutar una subrutina mientras una variable booleana sea 'verdadera'
(iteracin, ciclo o bucle)
Los cientficos de la computacin usualmente acreditan el teorema a un artculo de
1966 escrito por Corrado Bhm y Giuseppe Jacopini. Sin embargo, David Harel
rastre sus orgenes hasta la descripcin de 1946 de la arquitectura de von Neumann
y el teorema de la forma normal de Kleene.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Paradigma de la programacin estructurada

16

En 1966 los matemticos Corrado Bhm y Giuseppe


Jacopini 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:

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Teorema de la programacin estructurada

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 cdigo muerto) y no
existen lazos o bucles infinitos (sin fin).
17

Un lenguaje de programacin estructurada es aquel que establece


una sintaxis y semntica propia para expresar computaciones, y se
basa en el teorema de la "programacin estructurada", ofreciendo
instrucciones para expresar las tres estructuras de control del
teorema.

SECUENCIA
Indica que las instrucciones de un
programa se ejecutan una
despus de la otra, en el mismo
orden en el cual aparecen en el
programa.
Se
representa
grficamente como una caja
despus de otra, ambas con una
sola entrada y una nica salida

SELECCIN
Tambin conocida como la estructura
SI-CIERTO-FALSO, plantea la seleccin
entre dos alternativas con base en el
resultado de la evaluacin de una
condicin o predicado; equivale a la
instruccin IF de todos los lenguajes
de programacin.

ITERACIN
Tambin llamada la estructura
HACER-MIENTRAS-QUE,
corresponde a la ejecucin
repetida de una instruccin
mientras que se cumple una
determinada condicin.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Lenguajes de programacin estructurada

18

Asignacin
xy
yx

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Pseudocdigo y la Programacin Estructurada

Variables declaradas por el desarrollador

volumen r2h
resultadosin(a)

19

Estructuras de control

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Secuencial
Instruccin1
Instruccin2
Instruccin3
Instruccin4
Instruccinn
Diagrama de flujo

Pseudocodigo

20

Estructuras de control

Selectiva

condicin
si

Instrucciones

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

no
Simple

21

Estructuras de control

Selectiva

condicin
no

Instrucciones2

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

si
Doble

Instrucciones1
22

Estructuras de control

Selectiva

condicin1
no

condicin2

Instrucciones1

Instrucciones2

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

si
Mltiple

no

si

condicin3

si
no
23

Estructuras de control

Iterativa

condicin
si
Mientras
Algoritmia y programacin estructurada
02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

no

Instrucciones
24

Estructuras de control

Iterativa
Repetir

Instrucciones

condicin

si

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

no
Mientras Repetir
25

Estructuras de control

Iterativa

ix

in

no
Para

Instrucciones
i i+1
Para mientras

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

si

26

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Anidamiento

27

Calcular la media de una serie de


nmeros 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 nmeros positivos.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Ejemplo 01

28

Inicio
numdatos 0
suma 0

1
media suma/ (numdatos-1)

media

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Ejemplo 01 (Algoritmo en diagrama de


flujo)

dato
Fin
numdatos numdatos + 1
suma suma+ dato
si

dato <>0

no

29

Procedimiento Media()
numdatos<-0
suma<-0
repetir
dato<-Entrada()
numdatos<-numdatos+1
suma->suma+dato
hasta que (dato<>0)
media<-suma/(numdatos-1)
media->Salida()
fin procedimiento

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Ejemplo 01 (Algoritmo en pseudocdigo)

30

Realizar diagrama de flujo y pseudocdigo


1. Disear un algoritmo para calcular la longitud de la
circunferencia y el rea de un crculo, para un radio
introducido.
Ejercicios 01: Diagramas de flujo y
un pseudocdigo
algoritmo que convierta un

2. Disear
nmero dado de
segundos en el equivalente de minutos y segundos.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Ejercicios 01: Diagramas de flujo y


pseudocdigo

3. Realizar un algoritmo que obtenga 100 trminos de una


serie numrica de dos en dos a partir de un nmero
dado.
4. Construir un algoritmo que imprima la suma de los 100
primeros nmeros de la serie numrica anterior.

31

Hacer el algoritmo que calcule la mxima 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 nmero entero mayor


a 0 y menor a 10. El nmero recibido, ser el nmero 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


nmero dado.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

5.

32

Hacer el algoritmo que al recibir una calificacin entre 0


y 100 determine si esta es aprobatoria o no en ESCOM.

9.

Crear un algoritmo que muestre la multiplicacin de los


dos nmeros mayores de una serie de nmeros
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 nmeros positivos.

10. Construya un algoritmo que reciba dos puntos de un


plano 2D y muestre la distancia entre estos.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

8.

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 ao
determine si este es bisiesto o no.

33

14. Crear un algoritmo que reciba 3 nmeros naturales y


este 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
nmero de aprobados y el nmero de reprobados; el
final de la lista de calificaciones ser si se introduce un
nmero menor a cero.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

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 8
se 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.

34

17. Crear un algoritmo capaz de recibir un nmero y


obtenga su representacin en binario.
18. Crear un algoritmo capaz de recibir un nmero y
obtenga su representacin en hexadecimal.
19. Crear un algoritmo que reciba una medida en metros y
sea capaz de obtener su equivalente en Pies, Yardas y
Millas.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

16. Crear un algoritmo capaz de recibir un nmero y


determinar si este es primo no.

20. Crear un algoritmo que reciba un nmero x a partir del


2
cual calcula: +10
=
35

Observaciones
1. Reportar el texto del ejercicio y su algoritmo en diagrama de flujo
y pseudocdigo y las pruebas en PSeInt.
2. Incluir al reporte las capturas de pantalla de cada algoritmo en
PSeInt
3. El reporte es individual y tiene portada con fotografa, ndice y
encabezados de pagina con nmero de pagina , titulo y nombre
del alumno.
4. Enviar va Web en un archivo comprimido (ZIP, RAR o TAR),
reporte y archivos psc (PSeInt) de cada ejercicio.

Algoritmia y programacin estructurada


02 Pseudocdigo y Programacin estructurada
Prof. Edgardo Adrin Franco Martnez

Realizar los algoritmos para ejercicios 01 al 20 y representarlos


mediante diagrama de flujo y pseudocdigo

*Se entregar antes del da Jueves 25 de Febrero de 2016


(23:59:59 hora limite).
Grupo

Contrasea

1CV8

algoritmia1cv8

36

Você também pode gostar