Você está na página 1de 39

Docente: Ing.

Nelson Huaman Villalva


Email: nelhv@hotmail.com
Tema:
Estructura de un programa
UNIVERSIDAD NACIONAL DE HUANCAVELICA
Facultad de Ciencias de Ingeniera
Escuela Acadmico Profesional de Ingeniera Civil
Programacin Digital
Realizar el anlisis de problema, diagrama de flujo y pseudocdigo
de los siguientes ejercicios:
Trabajo N 01
1. Cocinar un huevo duro.
2. Hallar el producto de dos nmeros A y B.
3. Leer un nmero y escribir si es mayor o menor o igual que 100.
4. Calcular una tabla de cuadrados para los enteros que varan de
-10 a +10, ambos inclusive.
5. Calcular la suma de los nmeros de 1 a 1000.
S = 1 + 2 + 3 + 4 + + 999 + 1000.
La suma se realiza con totalizador S que ira realizando las
sucesivas sumas parciales 1, 1+2, 1+2+3, 1+2+3+4 etc.
Para ello se inicializar la variable del sumador S a cero y el
contador I representar los nmeros sucesivos 1 al 1000.


1. Algoritmo para cocinar un huevo duro

Seudocdigo
Inicio
Llenar una olla con agua
Encender el fuego de la cocina
Poner la olla al fuego
Esperar hasta que hierva el agua
Introducir el huevo en la olla
Esperar 10 minutos
Apagar el fuego
Tirar el agua
Sacar el huevo de la olla
fin
Llenar una olla con agua
Encender el fuego de la cocina
Poner la olla al fuego
Esperar hasta que hierva el agua
Introducir el huevo en la olla
Esperar 10 minutos
Apagar el agua
Tirar el agua
Sacar el huevo de la olla
Inicio
Fin
Anlisis del problema:
Cocinar un huevo duro.
Datos de entrada: Huevo, olla, agua, cocina.
Datos de salida : Huevo sancochado.
Modelo: Cocinar el huevo en agua hervida.
Diagrama de flujo
2. Algoritmo para hallar el producto de dos nmeros A y B.
Seudocdigo:

Producto de dos nmeros
Inicio
Leer A y B
Operar P = A * B
Visualizar P
fin
Inicio
Leer A, B
Visualizar
P
Fin

P A x B
Anlisis del problema:
Muliplicar dos nmeros.
Datos de entrada: A y B
Datos de salida : P
Modelo matemtico: P = A * B
Diagrama de flujo
3. Algoritmo para leer un nmero y escribir si es mayor o menor o
igual que 100.
Pseudocdigo:

Inicio
Leer numero
Si numero > 100
Escribir Mayor
Si no
Escribir Menor o Igual
fin si
fin
Inicio
Leer
nmero
Escribir
Menor o Igual
Fin

numero > 100
Escribir
Mayor
Si No
Anlisis del problema:
Leer un nmero e identificar si es > o 100.
Datos de entrada: nmero.
Datos de salida :
Escribir Mayor si nmero > 100.
Escribir Menor o igual si nmero 100.
Modelo matemtico: numero >100
Diagrama de flujo

4. Algoritmo para calcular los cuadrados para los enteros que varan de
-10 a +10, ambos inclusive.

Pseudocdigo:
Calcula cuadrados de -10 a +10
Inicio
X -10
repetir
Y X
2
escribir X, Y
X X + 1
hasta que X 10
fin
Inicio
X -10
Fin

X 10
Escribir
X, Y
Y X
2
X X + 1
no
si
Anlisis del problema:
Calcular cuadrados de -10 a + 10.
Datos de entrada: inicializar X 10.
Datos de salida : cuadrados de -10 a +10.
Modelo matemtico: Y = X
2.
Diagrama de flujo
5. Algoritmo para calcular la suma de los nmeros de
1 a 1000.
Pseudocdigo:
Calcula la suma de 1 a 1000
Inicio
S 0
I 1
mientras I 100 hacer
S S + I
I I + 1
fin mientras
Escribir S
fin
Inicio
S 0
Fin

I 1000
Escribir
S
I 1
S S + I
I I + 1
si
no
Anlisis del problema:
Calcular la suma de los nmeros de 1 a 1000.
Datos de entrada: inicializar S 0, I 1.
Datos de salida :
S = 1 + 2 + 3 + 4 + + 999 + 1000.
Modelo matemtico: S S+I.

Diagrama de flujo
Un programa de computadora es un
conjunto finito de instrucciones que
producirn la ejecucin de una determinada
tarea. Un programa es un medio para llegar
a un fin. Proceso para solucionar un
problema.
El proceso de programacin es un proceso de
solucin de problemas y requiere las siguientes
fases:
Concepto de Programa
Estructura de un Programa
Pasos para la solucin de problemas
1. Definicin y anlisis del problema.
2. Diseo de algoritmo:
Diagrama de flujo.
Pseudocdigo.
3. Codificacin en un lenguaje de programacin.
4. Depuracin y verificacin del programa.
5. Documentacin.
7. Mantenimiento.
Proceso de programacin
Entrada:
Datos
Programa:
Algoritmo de
solucin
Salida:
Resultado
Partes de Programa
Estructura de un Programa
Tipos de Instrucciones
Instrucciones de inicio/fin:
Inicio begin
fin end
Instrucciones de asignacin:
variable valor
Instrucciones de lectura:
leer read input
Instrucciones de escritura:
Escribir write print
Instrucciones de bifurcacin:

Estructura de un Programa
Instrucciones de asignacin
Ejemplos:
a) A 80 la variable A toma el valor de 80.
b) Cul ser el valor que tomar la variable C tras la ejecucin de
las siguientes instrucciones?:
A 12
B A
C B
A contiene 12, B contiene 12 y C contiene 12.
Antes de la ejecucin de las tres instrucciones, el valor de A, B y C es
indeterminado. Si se desea darles un valor inicial habr que hacerlo
explcitamente.
A 0
B 0
C 0


Estructura de un Programa
Instrucciones de asignacin
c) Cul es el valor de la variable AUX al ejecutarse la instruccin 5?:
1. A 10
2. B 20
3. AUX A
4. A B
5. B AUX

en la instruccin 1, A toma el valor 10;
en la instruccin 2, B toma el valor 20;
en la instruccin 3, AUX toma el valor anterior de A, o sea, 10;
en la instruccin 4, A toma el valor anterior de B, o sea, 20.
en la instruccin 5, B toma el valor anterior de AUX, o sea, 10.


Estructura de un Programa
Instrucciones de asignacin
d) Cul es el significado de N N + 5 si N tiene el valor actual de 2.

N N + 5

Se realiza el clculo de la expresin N + 5 y su resultado es 2+5=7,
se asigna a la variable situada a la izquierda, es decir, N tomar un
nuevo valor 7.

Se debe pensar en la variable como una posicin de memoria cuyo
contenido puede variar mediante instrucciones de asignacin.
Estructura de un Programa
Instrucciones de lectura de datos
Ejemplos:
Cul ser el significado de las instrucciones siguientes?:
a) leer (NUMERO, HORAS, COSTO)
leer del terminal los valores NUMERO, HORAS y COSTO archivndolos
en la menora: si los tres nmeros que se teclean en respuesta a la
instruccin son 12325, 32, 1200, significara que se han asignado a las
variables esos valores y equivaldra a la ejecucin de las instrucciones:
NUMERO 12325
HORAS 32
COSTO 1200
b) leer (A, B, C)
Si se leen del terminal 100, 200, 300, se asignarn a las variables los
siguientes valores:
A 100
B 200
C 300

Estructura de un Programa
Instrucciones de escritura de resultados
Ejemplo:

Explicar el resultado de la ejecucin de las siguientes
instrucciones:

A 100
B 200
C 300
escribir (A, B, C)

Se visualizarn en la pantalla o imprimirn en la impresora los
valores 100, 200 y 300 que contienen las variables A, B y C.

Estructura de un Programa
Instrucciones de bifurcacin
El desarrollo lineal de un programa se interrumpe cuando se ejecuta
una bifurcacin


Estructura de un Programa
Bifurcacin adelante (positiva)

Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
Instruccin 8
.
.
.
ltima instruccin



Bifurcacin atrs (negativa)

Instruccin 1
Instruccin 2
Instruccin 3
.
.
.
Instruccin 12
.
.
.
ltima instruccin



Instrucciones de bifurcacin
Las bifurcaciones en el flujo de un programa se realizarn de modo
condicional en funcin del resultado de la evaluacin de la condicin.


Estructura de un Programa
Bifurcacin incondicional Bifurcacin condicional
Se realiza siempre que el flujo del
programa pasa por la instruccin sin
necesidad de cumplimiento de
ninguna condicin.
Depende del cumplimiento de una
determinada condicin, si se cumple
ejecuta la accin S2, si no ejecuta
accin S1.
Elementos de un programa
Palabras reservadas (inicio, fin, si,
entonces... etc.)
Identificadores (nombres de variables)
Constantes
Variables
Expresiones
instrucciones
Estructura de un Programa
Elementos de un programa
Variables
Los datos son almacenados en la memoria de la
computadora. Una variable es una referencia a un
rea especfica de la memoria de la computadora
donde se guardan los datos.
Constantes
Una constante es un objeto de datos con un
nombre, un tipo y un valor asociado que no puede
modificarse una vez definido.
Estructura de un Programa
Expresiones
Aritmticas
5 + 3
5 * 4 + 6 (5 * 4)+6
Lgicas
(A > B) (verdadero)
relacionales
> , <, =

Estructura de un Programa
Elementos de un programa
Algoritmo areatriangulo
Inicio
Leer altura
Leer base
Area = (base * altura ) / 2
Presentar area
fin
Estructura de un Programa
Elementos de un programa
Algoritmo areatriangulo
Inicio
Leer altura
Leer base
Area = (base * altura ) / 2
Escirbir area
fin
variables
operadores
expresin
Estructura de un Programa
Estructuras Selectivas
Estructura Secuencial
La estructura secuencial es
aquella en la que una
instruccin sigue a otra en
secuencia. Suceden de tal
modo que la salida de una
es la entrada de la siguiente
y as sucesivamente.

Estructura de un Programa
Ejemplo
//permite calcular el permetro de un cuadriltero
Algoritmo perimetrorectangulo
inicio
Leer lado
Leer ancho
Permetro = (lado*2)+(ancho*2)
Presentar permetro
fin
Programas
Estructuras Selectivas
Estructuras de seleccin
Permiten la decisin entre
acciones alternativas,
Llevar a cabo una accin en
base a una condicin
(lgica).
Pueden ser simples o
mltiples
Se pueden utilizar de
manera anidada de forma
indefinida.
Estructura de un Programa
si (condicin) (lgica verdadero)
. instrucciones
fin si



si (condicin) (lgica verdadero)
instrucciones
sino (caso contrario falso)
instrucciones
fin si
Estructuras Selectivas
Programas
acciones
Ejemplo
Algoritmo numeropar
Inicio
entero numero
Leer numero
residuo = res (numero/2)
Si residuo = 0
presentar numero par
Finsi
fin
Algoritmo numeroparimpar
Inicio
entero numero
Leer numero
residuo = res(numero/2)
Si residuo = 0
presentar numero par
Sino
presentar numero impar
Finsi
fin
Programas
Realizar el anlisis de problema, diagrama de flujo y pseudocdigo
de los siguientes ejercicios:
Trabajo N 02
1. Clculo de la media aritmtica de 50 nmeros ingresados por el usuario e
imprimir la media.
2. Las races de la ecuacin cuadrtica: ax
2
+ bx + c = 0, se pueden
calcular usando la frmula:


siempre y cuando a 0 y b2 4ac no sea negativo.
Escribir un programa que calcule las races y las imprima junto con uno
de los siguientes cdigos y de acuerdo a las circusntancias.
cdigo 0: no es una ecuacin lineal o cuadrtica, no hay races.
cdigo 1: no es cuadrtica, slo una raz.
cdigo 2: races iguales.
cdigo 3: races distintas.
cdigo 4: races complejas.



a
ac b b
x
2
4
2

Estructuras repetitivas
Repeticin de un nmero determinado de sentencias en
base a una condicin lgica.
Se conoce tambin como bucle.
Es importante tener en cuenta:
cuantas veces se repite el bucle o ciclo,
cul es el cuerpo del mismo.
El cuerpo del bucle lo constituyen:
una serie de sentencias, que pueden ser de cualquier
tipo,
las que sern repetidas de acuerdo a lo que indique la
condicin de finalizacin del bucle.
Programas
Estructuras repetitivas anidadas
Todos aquellos bucles que estn contenidos
dentro de otro bucle.
Cuando se anidan bucles, se debe tener cuidado
que el bucle inferior este contenido
completamente dentro del bucle exterior.
Todos los tipos de bucles pueden anidarse, sea
entre si o entre cada uno.
Programas
Mientras (condicin) hacer
.. instrucciones
Fin_mientras

Desde num 20 hasta 30 hacer
. instrucciones
Fin_desde

Hacer
. instrucciones
Mientras (condicin)

Repetir

Hasta_que (condicin)
variable
inicio Fin incluye limite
Programas
Ejemplo
// realizar la tabla de multiplicar
Algoritmo tablademultiplicar
Inicio
entero c,n
leer n
desde c 1 hasta n hacer
presentar n, * ,c, = , n *c
findesde
fin
Programas
Si n = 5 presentara
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
Ejemplo
//realiza la tabla de multiplicar
Algoritmo tablademultiplicar
Inicio
entero c, n
c 1
Leer n
Mientras (c <= n) hacer
presentar n, *,c, = , n *c
c = c +1
Finmientras
Fin
Si n = 5 presentara
5 * 1 = 5
5 * 2 = 10
5 * 3 = 15
5 * 4 = 20
5 * 5 = 25
Programas
// algoritmo para calcular el factorial de un numero
Algoritmo factorial
Inicio
entero f, numero
leer numero
f 1
desde (i 1 hasta numero) hacer
f f * i
findesde
presentar el factorial de, numero,es,f
fin
Programas
Ejemplo
Aplicacin en Visual Basic 6.0
Factorial de un nmero

Factorial

Numero:

Factorial:




Calcular Salir




Aplicacin en Visual Basic 6.0
Function Factorial(VN As Integer) As Double
Dim i As Integer, Fac As Double
Fac = 1
For i = 1 To VN
Fac = Fac * i
Next i
Factorial = Fac
End Function
Aplicacin en Visual Basic 6.0
Private Sub cmdCalcular_Click()
Dim Num As Integer
Dim F As Double
Num = Val(txtNumero.Text)
F = Factorial(Num)
txtFactorial.Text = F
End Sub
Aplicacin en Visual Basic 6.0
Private Sub cmdSalir_Click()
End
End Sub

Você também pode gostar