You are on page 1of 56

Instituto Universitario de Tecnologa

Jos Antonio Anzotegui


Ingeniera en Informtica
Ncleo: El Tigre

Programacin Estructurada

Ing. Thais T. Hernndez C.


Algortmica y Programacin

Programa
Es un conjunto de instrucciones rdenes dadas
a la mquina que producirn la ejecucin de una
determinada tarea.
En esencia, un programa es un medio para
conseguir un fin. El fin ser probablemente definido
como la informacin necesaria para solucionar un
problema

Instrucciones
El proceso de diseo del algoritmo o posteriormente
de codificacin del programa consiste en definir las
acciones o instrucciones que resolvern el problema.

Las acciones o instrucciones se deben escribir y


posteriormente almacenar en memoria en el mismo
orden en que han de ejecutarse, es decir, en
secuencia.
Un programa puede ser
Instruccin
1
lineal o no lineal. Un programa
es lineal si las instrucciones se
Instruccin
2
ejecutan secuencialmente, sin
bifurcaciones,
decisin,
ni
comparaciones

Instrucciones
En el caso del algoritmo, las instrucciones se
suelen conocer como acciones, y se tendra:
Accin 1
Accin 2
Accin n

Un programa es no lineal
cuando
se
interrumpe
la
secuencia
mediante
instrucciones de bifurcacin.

Accin 1
Accin 2
Accin 3

Accin x
Accin n

Tipos de
Instrucciones
Las instrucciones disponibles en un lenguaje de
programacin dependen del tipo de lenguaje, es decir,
las instrucciones bsicas son independientes del
lenguaje.

La clasificacin ms usual, es la siguiente:

Instrucciones de Inicio / Fin

Instrucciones de Asignacin

Instrucciones de Lectura

Instrucciones de Escritura

Instrucciones de Bifurcacin

Tipos de Instrucciones
Instrucciones o Acciones Bsicas

Pseudocdigo

Tipo de Instruccin

Comienzo del Programa

Fin del Proceso

Entrada (Lectura)

Salida (Escritura)

Asignacin

Espaol
Inicio
Fin
Leer
Escribir
B7

Ingls

Begin
End
Read
Write
B7

Instrucciones de
Asignacin
Son aquellas que nos permiten asignar a una
variable un valor.
Ejemplos:

A3

nombre 'thais'

CA

Instrucciones de
Entrada
Son aquellas que nos permiten leer datos de un
dispositivo de entrada.
Ejemplos:

Leer (numero)

Leer (nombre)

Leer (horas)

Instrucciones de
Escritura
Son aquellas que nos permiten escribir datos en
un dispositivo de salida.
Ejemplos:

Escribir (numero)

Escribir (nombre)

Escribir (horas)

Instrucciones de
Bifurcacin
El desarrollo lineal de un programa se interrumpe
cuando se ejecuta una bifurcacin. Las bifurcaciones
pueden ser, segn el punto del programa donde se
bifurca, hacia delante o hacia atrs.
Bifurcacin delante
(positivo)

Bifurcacin atrs (negativo)

Accin 1

Accin 1

Accin 2

Accin 2

Accin 3

Accin 3

Accin x

Accin x

Accin n

Accin n

Elementos Bsicos de
un Programa
En programacin se debe separar el diseo del
algoritmo y su implementacin en un lenguaje
especfico.
Los lenguajes de programacin tienen
elementos bsicos que se utilizan como bloques
constructivos, as como reglas para las que esos
elementos se combinan. Estas reglas se denominan
sintaxis del lenguaje.
Slo las instrucciones sintcticamente
correctas pueden ser interpretadas por el
computador y los programas que contengan
errores de sintaxis son rechazados por la mquina
(errores de compilacin).

Elementos Bsicos de
un Programa

Palabras reservadas: (inicio, fin, si entonces,


leer, escribir, repita para, repita mientras,
repita hasta, nombre de funciones, etc.)
Identificadores: (nombres de las variables
esencialmente, procedimientos, funciones,
nombres del programa, etc.
Caracteres especiales: (coma, apostrofo, etc.)
Constantes
Variables
Expresiones
Instrucciones

Elementos Bsicos de
un Programa
Adems de estos elementos bsicos, existen
otros elementos que forman parte de los
programas, cuya comprensin y funcionamiento
ser vital para el correcto diseo de un algoritmo y
naturalmente la codificacin del programa

Bucles
Contadores
Acumuladores
Interruptores
Estructuras:
repetitivas

secuenciales,

selectivas,

Cuerpo del Programa


(Instrucciones)
Esta parte del programa contiene
instrucciones que implementan los pasos
algoritmo,
puede
incluir
instrucciones
asignacin, entrada, salida, entre otras.
Sintaxis:
{
instruccin_1;
instruccin_2;
instruccin_3
}

las
del
de

Tipo de Instrucciones
Las instrucciones disponibles en un lenguaje de
programacin dependen del tipo de lenguaje. Las
instrucciones bsicas que se pueden implementar
de modo general en un algoritmo y que
bsicamente puedan soportar todos los lenguajes
son:
Instrucciones de Inicio / Fin
Instrucciones de Asignacin
Instrucciones de Lectura
Instrucciones de Escritura
Instrucciones de Bifurcacin

Comentarios
La documentacin de un programa es el
conjunto de informacin interna - externa al
programa, que facilitar su posterior mantenimiento
y puesta en punto. La documentacin puede ser
interna o externa.
Documentacin Interna:
La documentacin interna es aquella que
acompaa al cdigo o programa fuente y se realiza
a base de comentarios significativos.
Sintaxis:
//

Ejemplo:
//Calcula el precio
//Calcula
el
acumulado de las

Programa
En C++ los programas contienen una o ms
funciones, una de los cuales es el programa
principal que se denominara main.
Todos los programas en C++, comienzan a
ejecutarse con la funcin main, la cual es un
bloque constructivo conocido como una funcin.
La llave izquierda ({), debe iniciar el cuerpo de
cada funcin. La llave derecha (}), da por terminada
cada funcin.
Este par de llaves, y la porcin de programa
existente entre ambas, tambin se conoce como un
bloque. El bloque es una importante unidad de

Instrucciones de Inicio / Fin


Son las que le indican al sistema que comienza
o termina un programa, una funcin o un
procedimiento.
Estas son:
{
}

(indica inicio del programa)


(indica fin del programa)

Instrucciones de Escritura
de Datos
En un programa se suele mostrar mensajes al
usuario solicitndoles informacin en su defecto
despus de calcular resultados, se han de emitir al
exterior a travs de una unidad de salida (pantalla,
etc.) para luego ser utilizados por el usuario.
Sintaxis:
printf (mensaje);
Ejemplo:
printf (introduzca el numero de horas diurnas
trabajadas: );
printf (Nombre: );

Instrucciones de Escritura
de Datos
La instruccin printf, instruye a la
computadora para que ejecute una accin, es decir,
que imprima en la pantalla la cadena de caracteres
descritas por las comillas.
Una cadena a veces se conoce como una
cadena de caracteres, un mensaje o una literal.
Toda la lnea, incluyendo a printf, sus
argumentos dentro de los parntesis, y el punto y
coma (;), se llama enunciado.
Los caracteres por lo regular se imprimirn
exactamente como aparecen entre las dobles
comillas del enunciado printf.

Ejercicio 1

Algoritmo Hola
Mundo
Inicio
Escribir (Hola Mundo);
Fin

Pseudo - Cdigo

Ejercicio 1
# include <stdio.h>
main()
Inicio del programa
{
printf (Hola Mundo);

Librera

Salida

fflush (stdin);
getchar ();
}

Funciones
Fin del programa

Codificacin del Ejercicio

Programa

Ejercicio 1

Compilacin del Ejercicio

Ejercicio 1

Corrida del Ejercicio en C++

Instrucciones de Escritura
de Datos
Advierta que los caracteres ( \n ) no
aparecieron impresos en pantalla. La diagonal
invertida (\) se llama un carcter de escape, es
decir, indica que debe ejecutar una accin.
Cuando se encuentra con una diagonal
invertida, printf mira hacia adelante, lee el
siguiente carcter y lo combina con la diagonal
invertida para formar una secuencia de escape.
La secuencia de escape (\) significa nueva lnea,
y hace que en pantalla el cursor se coloque al
principio de la siguiente lnea.

Instrucciones de Escritura
de Datos
Secuencia

Descripcin

\n

Nueva lnea. Coloca el cursor al principio de la


siguiente lnea

\t

Tabulador horizontal. Mueve el cursor al siguiente


tabulador

\r

Retorno de carro. Coloca el cursor al principio de la


lnea actual; no avanza a la lnea siguiente

\a

Alerta. Hace sonar la campana del sistema

\\

Diagonal invertida. Imprime un carcter de


diagonal invertida en un enunciado printf

Doble comilla. Imprime un carcter de doble


comilla en un enunciado printf

Instrucciones de Lectura de
Datos
La mayora de los programas necesitan una
serie de datos. Estos datos suelen ser introducidos
usando alguna unidad de entrada (teclado, etc.)
para luego guardarlos en una variable.
Sintaxis:

Argumentos:

scanf (%identificador, &nombre_variable);


Ejemplo:
scanf (%i,&horasdiurnas);
Cadena de
scanf (%f, &costocasa);
Control de
Formato

Operador
de
direcci
n
en C

Instrucciones de Lectura de
Datos
El scanf tiene dos argumentos:

Cadena de control de formato:


Indica el tipo de dato que deber ser escrito
por el usuario. El especificador de conversin
indica los datos que se han de utilizar. El signo de
% en este contexto es tratado por el scanf
como un carcter de escape, y la combinacin
%d es una secuencia de escape, indicando que
es un entero decimal.

Instrucciones de Lectura de
Datos

Operador de direccin en C:
El segundo argumento de scanf empieza con
un ampersand (&), llamado el operador de
direccin en C,
seguido por un nombre de
variable.
El ampersand, al ser combinado con el
nombre de la variable, le indica a scanf la
posicin en memoria en la cual est almacenada
la variable. La computadora a continuacin
almacena el valor correspondiente a la variable
en dicha posicin.
El usuario responder escribiendo un entero y
presionando la tecla de retorno (a veces conocida
como tecla de entrar) para enviar el nmero a la
computadora. La computadora entonces asigna
este nmero, o valor a la variable.

Instrucciones de Lectura de
Datos
El uso del ampersand (&) resulta con
frecuencia confuso para los programadores
nefitos o para personas que hayan programado
en otros lenguajes que no requieran de esta
notacin.
Por ahora, slo recuerde de anteceder cada
variable en todos los enunciados scanf con un
ampersand. El verdadero significado del uso del
ampersand ser aclarado una vez que se estudie
el uso de los apuntadores.
Ejemplo:
scanf (%i,&edad);
scanf (%f, &estatura);

(enteros)
(real)

Ejercicio 2
Algoritmo
Pseudo - Cdigo
Fuerza_Electrica
Inicio
Escribir (' Introduzca el valor de la carga 1:');
Leer (q1);
Escribir (' Introduzca el valor de la carga 2:');
Leer (q2);
Escribir (' Introduzca la distancia entre las
cargas:');
Leer
(d);
K
1 / (4 * 3.14159 *
Eo);
Fe
K * q1 * q2 / (d *
d);
Escribir ('Fuerza
Electrica:', Fe);
Fin

Ejercicio 2
# include <stdio.h>
main()
Inicio del programa
{
Float e0=8.9e-12, q1, q2, k, d;

Librera
Constante
Variables
Entradas

printf (Introduzca el valor de la carga 1: );


scanf (%f,&q1);
printf (Introduzca el valor de la carga 2: );
scanf (%f,& q2);
printf (Introduzca la distancia entre las
cargas: );
scanf (%f,& d);

Ejercicio 2
k = 1 / (4 * 3.14159 * eo);
fe = K * q1 * q2 / (d * d);

Proceso

printf (La fuerza electrica es %f,fe); Salida


fflush (stdin);
getchar ();
}

Funciones
Fin del programa

Codificacin del Ejercicio

Recomendaciones

Los programas deben ser legibles y comprensibles.


Use identificadores con significado.
Use comentarios para describir el objetivo de un
programa o de otros segmentos de programa.
Etiquete toda la salida producida por un
programa.

Estructuras Secuenciales
Una estructura secuencial es aquella en la que
una accin (instruccin) sigue a otra en secuencia.
Las tareas se suceden de tal modo que la salida de
una es la entrada de la siguiente y as
sucesivamente hasta el final del proceso.
La estructura secuencial
tiene una entrada y una
salida.
Su
representacin
grfica
se
muestra
a
continuacin:

Accin
1
Accin
2
Accin
N

Estructuras Selectivas
Las estructuras selectivas se utilizan para tomar
decisiones lgicas; de ah que suelen denominarse
tambin estructuras de decisin o alternativas
En las estructuras selectivas se evala una
condicin y en funcin del resultado de la misma se
realiza una opcin u otra.
Las condiciones
expresiones lgicas.

se

especifican

usando

Tipos de Estructuras
Selectivas
Tipo

Algoritmo

Simples

Si - entonces

Dobles

Mltiple
s

Si entonces,
de
lo
contrario
Segn sea el
caso

Codificacin
If
If
else
Case

Estructuras Selectivas
Simple
Esta estructura ejecuta una determinada accin
cuando se cumple una determinada condicin.
La seleccin Si entonces evala la condicin y
Si la condicin es verdadera, entonces ejecuta la
accin_1 (o acciones en caso de ser una accin
compuesta y constar de varias acciones)

Si la condicin es falsa, entonces no hace nada

En C++, cuando la condicin es verdadera, las


ordenes se ejecutan, pero se encuentran escritas
con sangra (aunque es opcional, es muy
recomendable hacerlo ya que enfatiza la estructura

Representaciones de la
Estructura Condicional
Simple

Pseudocdig
o:
Accin Compuesta

Accin
Sencilla
Si
<condicin>
entonces
<accin 1>
Fin_Si

Si

<condicin>
entonces
<accin 1>
<accin 2>
<accin N>
Fin_Si

Representaciones de la
Estructura Condicional
Simple
Diagrama de Flujo

Condicin

Diagrama de N - S

Falsa

Condicin
S

No

Verdadera
Accin 1

Acciones

Ninguna

Estructuras Selectivas
Simple (Codificacin en C+
+)
Sintaxis:
If (expresion_booleana)
Instruccin;
Donde:
If: es una palabra reservada
instruccin: Es una instruccin en C++
vlida
Objetivo: Si la expresin booleana es cierta; se
ejecuta la instruccin especificada; en caso
contrario no se ejecuta. En cualquier caso, la
ejecucin contina con la siguiente instruccin
del programa.
C

Ejercicio 3
Algoritmo del Ejercicio
Algoritmo Calculadora
Pseudo - Cdigo
Inicio
Escribir (' Introduzca la operacion:');
Leer (op);
Escribir (' Introduzca el numero 1:');
Leer (N1);
Escribir (' Introduzca el numero 2:');
Leer (N2);

Ejercicio 3
Si (op=1);
Inicio
resultado = N1 + N2;
Escribir (La suma es :, resultado);
Fin
Si (op=2);
Inicio
resultado = N1 - N2;
Escribir (La resta es :, resultado);
Fin
Algoritmo del Ejercicio

Ejercicio 3
Si (op=3);
Inicio
resultado = N1 * N2;
Escribir (La multiplicacion es :, resultado);
Fin
Si (op=4);
Inicio
resultado = N1 / N2;
Escribir (La division es :, resultado);
Fin
Fin

Algoritmo del Ejercicio

Ejercicio 1
Inicio Diagrama de Flujo
Leer op, N1, N2
Si
resultado=N1+N
2
Escribir
resultado

op=1

No

Ejercicio 1
Si

op=2

No

resultado=N1N2
Escribir
resultado

Algoritmo del Ejercicio

Ejercicio 1
Si

op=3

No

resultado=N1*N
2
Escribir
resultado

Algoritmo del Ejercicio

Ejercicio 1
Si

op=4

No

resultado=N1/N
2
Escribir
resultado
Fin
Algoritmo del Ejercicio

Ejercicio 1
Diagrama de Nassi - Schneiderman
leer op, N1, N2
Si

op=1

No

resultado = N1 + N2
escribir resultado
Si

op=2

resultado = N1 - N2
escribir resultado

No

Ejercicio 1
Si

op=3

No

resultado = N1 + N2
escribir resultado
Si

op=4

resultado = N1 / N2
escribir resultado

Algoritmo del Ejercicio

No

Ejercicio 3
# include <stdio.h>
main()
Inicio del programa
{
int op;
float N1, N2,resultado;

Librera

Declaracin
de
Variables

Entradas

printf (Introduzca la operacin a realizar: );


scanf (%i,&op);
printf (Introduzca el numero 1: );
scanf (%f,&N1);
printf (Introduzca el numero 2: );
scanf (%f,&N2);

Ejercicio 3
If (op=1) then
{
resultado = N1 + N2;
printf (La suma es
resultado);
}
If (op=2) then
{
resultado = N1 - N2;
printf (La resta
resultado);
}

es

Codificacin del Ejercicio

:%f,

:%f,

Ejercicio 3
If (op=3) then
{
resultado = N1 * N2;
printf (La multiplicacion
resultado);
}

es

:%f,

If (op=4) then
{
resultado = N1 / N2;
printf (La division es :%f, resultado);
}
Codificacin del Ejercicio

Ejercicio 3
fflush (stdin);
getchar ();
}

Funciones
Fin del programa

Codificacin del Ejercicio

GRACIAS
ATENCION.

POR

SU

You might also like