Está en la página 1de 28

Fundamentos de

Programación
Carrera:
Ingeniería
Automotriz
Nombre:
Luis Colom
¿Qué es un programa?
“En informática, un programa es un conjunto de instrucciones u órdenes que
indican a la máquina las operaciones que ésta debe realizar con unos datos
determinados. En general, todo programa indica a la computadora cómo
obtener unos datos de salida, a partir de unos datos de entrada. En la siguiente
figura se muestra, gráficamente, el funcionamiento básico de un programa.”
(Carlospes, 2104)

Un programa informático o programa de computadora es una secuencia de


instrucciones, escritas para realizar una tarea específica en una computadora.
Este dispositivo requiere programas para funcionar, por lo general, ejecutando
las instrucciones del programa en un procesador central. El programa tiene un
formato ejecutable que la computadora puede utilizar directamente para
ejecutar las instrucciones. El mismo programa en su formato de código fuente
legible para humanos, del cual se derivan los programas ejecutables (por
ejemplo, compilados), le permite a un programador estudiar y desarrollar sus
algoritmos. Una colección de programas de computadora y datos relacionados
se conoce como software.
“Generalmente, el código fuente lo escriben profesionales conocidos como
programadores de computadora. Este código se escribe en un lenguaje de
programación que sigue uno de los siguientes dos paradigmas: imperativo o
declarativo, y que posteriormente puede ser convertido en un archivo
ejecutable (usualmente llamado un programa ejecutable o un binario) por un
compilador y más tarde ejecutado por una unidad central de procesamiento.
Por otra parte, los programas de computadora se pueden ejecutar con la ayuda
de un intérprete, o pueden ser empotrados directamente en hardware.”
(Silberschatz, 1994)
De acuerdo a sus funciones, los programas informáticos se clasifican en
software de sistema y software de aplicación. En las computadoras de 2015, al
hecho de ejecutar varios programas de forma simultánea y eficiente, se lo
conoce como multitarea.
Algoritmo
Se denomina algoritmo a un grupo finito de operaciones organizadas de
manera lógica y ordenada que permite solucionar un determinado problema. Se
trata de una serie de instrucciones o reglas establecidas que, por medio de una
sucesión de pasos, permiten arribar a un resultado o solución.
(Definicio.de, 2008-2015)

ALGORITMOS

“DEFINICIÓN: Un Algoritmo, se puede definir como una secuencia de


instrucciones que representan un modelo de solución para determinado tipo de
problemas. O bien como un conjunto de instrucciones que realizadas en orden
conducen a obtener la solución de un problema. Por lo tanto podemos decir
que es un conjunto ordenado y finito de pasos que nos permite solucionar un
problema.
Los algoritmos son independientes de los lenguajes de programación. En cada
problema el algoritmo puede escribirse y luego ejecutarse en un lenguaje de
diferente programación. El algoritmo es la infraestructura de cualquier solución,
escrita luego en cualquier lenguaje de programación.

Programa: Un programa es una serie de instrucciones ordenadas, codificadas


en lenguaje de programación que expresa un algoritmo y que puede ser
ejecutado en un computador.
CLASIFICACIÓN DE ALGORITMOS: Los algoritmos se pueden clasificar en
cuatro tipos:

Algoritmo computacional: Es un algoritmo que puede ser ejecutado en una


computadora. Ejemplo: Fórmula aplicada para un cálculo de la raíz cuadrada
de un valor x.
Algoritmo no computacional: Es un algoritmo que no requiere de una
computadora para ser ejecutado. Ejemplo: Instalación de un equipo de sonido.
Algoritmo cualitativo: Un algoritmo es cualitativo cuando en sus pasos o
instrucciones no están involucrados cálculos numéricos. Ejemplos: Las
instrucciones para desarrollar una actividad física, encontrar un tesoro.
Algoritmo cuantitativo: Una algoritmo es cuantitativo cuando en sus pasos o
instrucciones involucran cálculos numéricos. Ejemplo: Solución de una
ecuación de segundo grado.

CARACTERÍSTICAS DE UN ALGORITMO: Todo algoritmo debe tener las


siguientes características:

1. Debe ser Preciso, porque cada uno de sus pasos debe indicar de manera
precisa e inequívoca que se debe hacer.
2. Debe ser Finito, porque un algoritmo debe tener un número limitado de
pasos.
3. Debe ser Definido, porque debe producir los mismos resultados para las
mismas condiciones de entrada.
4. Puede tener cero o más elementos de entrada.
5. Debe producir un resultado. Los datos de salida serán los resultados de
efectuar las instrucciones.

PARTES DE UN ALGORITMO: Todo Algoritmo debe tener las siguientes


partes:

· Entrada de datos, son los datos necesarios que el algoritmo necesita para ser
ejecutado.
· Proceso, es la secuencia de pasos para ejecutar el algoritmo.
· Salida de resultados, son los datos obtenidos después de la ejecución del
algoritmo.

TÉCNICAS DE REPRESENTACIÓN: Para la representación de un algoritmo,


antes de ser convertido a lenguaje de programación, se utilizan algunos
métodos de representación escrita, gráfica o matemática. Los métodos más
conocidos son:

· Diagramación libre (Diagramas de flujo).


· Diagramas Nassi-Shneiderman.
· Pseudocódigo.
· Lenguaje natural (español, inglés, etc.).
· Fórmulas matemáticas.”

(Frida, 2009)

Materia asignatura
Programa: Serie de paso para llegar a algo que resuelve un problema.
Diferencia entre algoritmo y programa.
El algoritmo lo podemos realizar en un lenguaje natural- pseudocódigos
Esta hecho en un lenguaje de programación ya definido.
Características
 Pasos a seguir
 Deben ser Claras y definidas
 Precisas
 Finitas y ordenadas (Que posean un principio y un final)
Algoritmo: Es un conjunto de instrucciones para cumplir con un objetivo.
Pseudocódigo: Es la programación en nuestro propio lenguaje. Entendible por
cualquier persona.
Pasos para resolver un problema.
 Ejemplo de algoritmo: VESTIRSE
Los algoritmos sirven para especificar los pasos adecuados a seguir.
Se utiliza para transmitir conocimiento.
Sirven para el perfeccionamiento de un proceso directamente.
Ejemplos de algoritmos:
 Manual de cómo cambiar los anillos del pistón.
El proceso implica los pasos globales que vamos a realizar.
(Las pruebas se realizarán en una tabla) Pse-Int
Ejercicio 1
Problema: Tengo Hambre
1. Análisis:
Definición del problema: Tiene hambre y dispone solo de arroz, huevos, sal y
aceite.
Objetivo: Preparar arroz con huevo.
Datos de entrada:
1 cuchara de aceite.
1 huevo
1 taza de arroz
½ cucharadita de sal
Cocina
Olla
Cocina funcional
Fósforos
Datos de Salida
Arroz con huevo
Proceso
Disponer ingredientes
Preparar el Arroz
Freír el huevo
Restricciones
Disponer de 30 min
Disponer de la cocina funcional.
Diseño

Pasos
1. Poner agua en la olla
2. Encender la hornilla de la cocina a fuego lento
3. Lavar el arroz
4. Dejar que el agua hierva
5. Poner la sal en el agua
6. Poner el arroz en el agua
7. Dejar cocinar durante 30 min.
8. Escurrir el arroz
9. Poner aceite en el arroz y dejar que se seque durante 10 min.
10. Retirar la olla
11. Poner el sartén en la hornilla
12. Poner aceite en el sartén
13. Poner el huevo
14. Dejar que se fría
15. Servir en el plato
Cambiar un foco dañado
 Análisis:
Definición: el foco se quemó y se dispone de uno nuevo para cambiarlo
Objetivo:
Cambiar el foco del dormitorio
Datos de entrada: foco, escalera
Datos de salida: cambio de un foco
Proceso:
Disponer del foco
Tomar la escalera
Quitar el foco dañado y poner uno nuevo
Probar el foco nuevo
Restricciones: disponer de una escalera y un foco nuevo.
 Diseño

 Codificación
1. Identificar el foco que no funciona.
2. Conseguir un repuesto similar al foco quemado.
3. Subir a una silla o a una escalera para aproximarse al foco
quemado.
4. Desenroscar el foco girándolo hacia la izquierda y quitarlo.
5. Tomar el foco nuevo y colocarlo en la boquilla girándolo hacia la
derecha para ajustarlo.
6. Bajar del lugar de apoyo.
7. Encender el interruptor para probar el foco nuevo.

Cambiar una llanta


 Análisis
Definición: la llanta se ponchó y se dispone de una llanta de emergencia para
cambiarla.
Objetivo: cambiar la llanta del auto
Datos de entrada: llanta de emergencia, gata, llaves,
Datos de salida: cambio de llanta
Proceso: estacionar el auto de manera correcta
Tomar las herramientas necesarias
Quitar la llanta dañada
Ubicar la llanta de emergencia
Acudir a un mecánico.
Restricción: cambiar la llanta en el menor tiempo posible.
 Diseño

 Codificación

1. Estacionar el auto dentro de lo posible en algún lugar nivelado, libre de


riesgos, encender las intermitentes y poner el freno de mano.
2. Reunir las herramientas necesarias para el cambio: gata, llaves, llanta de
emergencia.
3. Ubicar la gata debajo del auto, bajo el marco de la rueda a cambiar.
4. Aflojar las tuercas con la llave pertinente o de cruz, mientras aun el vehículo
está totalmente apoyado en el suelo.
5. Levantar el vehículo utilizando el gato, hasta que el neumático a cambiar se
encuentre totalmente levantado.
6. Seguir aflojando las tuercas hasta remover el neumático desinflado o
ponchado.
7. Colocar el neumático de repuesto y ajustar levemente las tuercas en el orden
correcto, es decir ajustando los pares de tuercas opuestas.
8. Bajar el vehículo
9. Utilizando la llave pertinente o de cruz y respetando el orden correcto, ajustar
las tuercas con más fuerza.
10. Verificar la instalación de la llanta, guardar todos los implementos

Tema: Variable-tipos de datos- operadores


 Algoritmos cualitativos: se consideran cualidades a modificar
 Algoritmos cuantitativos: En el proceso realizo operaciones matemáticas
y cuantificar números
Variable: Algo cambia varias veces
 A quien puedo asignar un valor
 A quien puedo asignar un valor
 Espacio de memoria que puede almacenar un valor
Para definir una variable se debe identificar el tipo de dato y el nombre de
identificador / una característica
Identificador: Es una característica define la función que cumple la variable
 Debe tener recomendablemente máximo 8 caracteres
 Debe iniciar con una letra del idioma INGLÉS
 Un identificador es el nombre de la variable que definir la función que
cumple
El tipo de dato es el atributo que define el valor almacenado en la variable
-Tenemos datos de
 Tipo numérico
Entero: -32768 hasta 32767
Real: Son números que sobrepasan el rango de los enteros y/o tienen parte
entera o parte decimal.
 Datos de tipo caracter
Caracter: almacena un solo carácter *
Cadena: almacena un conjunto de caracteres- hola amigos
Lógicos o booleano: Almacena Verdad- true o Falso- False

APLICAR la definición de variable utilizaremos PseInt (Pseudocódigo


interprete)
Interprete: El intérprete traduce y corrige los errores línea a línea
Instrucción de asignación: Asigna un valor a la variable. Su formato es
formato sintaxis: Se debe poner:
 variable <- valor
 variable<- variable
 variable<- expresión
 Una variable es un operador +-*/
Ejemplo: anio_nac<- 1984
Anio_act<- 2015
Anios<- anio_act – anio_ nac
Anio5<- anios-5;
//Instrucción de Asignación: Permite asignar las variables.
//instrucción escribir: Permite visualizar un mensaje o un valor de una
variable.
Sintaxis:
Escribir (“mensaje”);
Escribir (variable);
Escribir ‘Mensaje’, variable; (Lo que está entre comillas puede ser lo que yo
quiera)

Tema: instrucción leer


Leer: permite leer un dato por teclado y asignarlo a la variable.
Sintaxis: Leer (variable);
Leer variable;
Leer var1,var2,var3;
Programa: realice un programa que permita calcular el sueldo de una persona
considerando el valor de cada hora y el número de horas.
1. Análisis
Objetivo: calcular el sueldo
Datos de entrada: valor, num_hor, nombre
Datos de salida: sueldo
Datos de proceso: leer datos de entrada
Calcular sueldo= num_hor *valor
Imprimir resultado
Restricciones: valor>0 num_hor>0
2. Diseño
Calculando sueldo ……*
Empleado:
Elena
Horas trabajadas:
40
Cual es el valor hora:
10
Elena tu sueldo es 400$
3. Codificación
Proceso Salario
//Declaración de variables
Definir valor, sueldo como Real;
Definir num_hor como Entero;
Definir nombre como Cadena;
//leer datos
Escribir (“Calculando sueldo…*”);
Escribir (“Empleado:”);
Leer nombre; //permite ingresar un nombre por teclado
Escribir(“Horas trabajadas”);
Leer num_hor;
Escribir(“Cual es tu valor hora”);
Leer valor;
Sueldo<- num_hor*valor;
Escribir nombre,’ Tu sueldo es’, sueldo, ‘$’;
Fin de proceso
4. Pruebas
Pantalla Valor Sueldo Num_hor Nombre
Pantalla 10 400 40 Elena
Calculando
sueldo….*
Empleado
Elena
Horas trabajadas
40
Cuál es tu valor
hora
10

Tarea
Programa: realice un programa que calcule el área de un triángulo rectángulo.
1. Análisis
Objetivo: calcular el área de un triangulo
Datos de entrada: bas, alt,
Datos de salida: area_tri
Datos de proceso:
Leer datos de entrada
Calcular área= bas*alt/2;
Imprimir resultado
Restricciones: bas>0. Alt>0
2. Diseño
Calculando área ……*
Base:
20
Altura:
10
El área del triángulo es: 100
3. Codificación
Proceso área del triangulo
//Declaración de variables
Definir bas, alt, do como Entero;
Definir área_tri como Entero;
Definir valor como Cadena;
//leer datos
Escribir (“Calculando área…*”);
Escribir (“Base del triángulo:”);
Leer bas; //permite ingresar un nombre por teclado
Escribir (“Altura del triángulo”);
Leer alt;
Sueldo<- bas*alt/2;
Escribir’ El área del triangulo es’, are_tri, ‘cm^2’;
Fin de proceso
4. Pruebas
Pantalla Base Altura Área
10 20 100

Programa: calcular promedio de tres calificaciones y cuál es la asignatura


favorita
1. Análisis
Objetivo: calcular el promedio y la asignatura favorita
Datos de entrada: calif1, calif2, calif3
Datos de salida:
Promedio
Asignatura favorita
Datos de proceso: leer datos de entrada
Calcular el promedio: (calif1+calif2+calif3)/3
Imprimir resultado
Restricciones: calif1, calif2, calif3mayores o iguales a cero
2. Diseño
Calculando promedio……*
Estudiante
Pablo
Física
14
Química
16
Algebre lineal
18
Pablo tu promedio es: 16
Pablo tu asignatura favorita es: Física
3. Codificación
Proceso Promedio y asignatura favorita
//Declaración de variables
Definir calif1, calif2, calif 3com real;
Definir promedio como real;
Definir nombre como Cadena;
//leer datos
Escribir (“Calculando promedio…*”);
Escribir (“Estudiante:”);
Leer nombre; //permite ingresar un nombre por teclado
Escribir (“Física”);
Leer Calif1;
Escribir (“Química”);
Leer calif2;
Escribir (“Algebra Lineal”);
Leer Calif3;
Sueldo<- (calif1+calif2+calif3)/3;
Escribir estudiante,’ Tu sueldo promedio es:’, promedio;
Escribir ‘Asignatura favorita:
Fin de proceso
4. Pruebas
Pantalla
Estudiante Física Química Algebra Lineal
Luis 14 16 18

Instrucción Si
“Las estructuras condicionales comparan una variable contra otro(s) valor (es),
para que en base al resultado de esta comparación, se siga un curso de acción
dentro del programa. Cabe mencionar que la comparación se puede hacer
contra otra variable o contra una constante, según se necesite. Existen tres
tipos básicos, las simples, las dobles y las múltiples.

Simples:
Las estructuras condicionales simples se les conocen como “Tomas de
decisión”. Estas tomas de decisión tienen la siguiente forma:

Pseudocódigo: Diagrama de flujo:

Dobles:
Las estructuras condicionales dobles permiten elegir entre dos opciones o
alternativas posibles en función del cumplimiento o no de una determinada
condición. Se representa de la siguiente forma:

Pseudocódigo: Diagrama de flujo:


Dónde:
Si: Indica el comando de comparación
Condición: Indica la condición a evaluar
Entonces: Precede a las acciones a realizar cuando se cumple la condición
Instrucción(es): Son las acciones a realizar cuando se cumple o no la
condición
si no: Precede a las acciones a realizar cuando no se cumple la condición
Dependiendo de si la comparación es cierta o falsa, se pueden realizar una o
más acciones.

Múltiples:
Las estructuras de comparación múltiples, son tomas de decisión especializada
que permiten comparar una variable, contra distintos posibles resultados,
ejecutando para cada caso una serie de instrucciones específicas. La forma
común es la siguiente:

Pseudocódigo: Diagrama de flujo:

Múltiples (En caso de):


Las estructuras de comparación múltiples, es una toma de decisión
especializada que permiten evaluar una variable con distintos posibles
resultados, ejecutando para cada caso una serie de instrucciones específicas.
La forma es la siguiente:

Pseudocódigo: Diagrama de flujo:


Veamos algunos ejemplos donde se aplique todo lo anterior:

Realizar un algoritmo en donde se pide la edad del usuario; si es mayor de


edad debe aparecer un mensaje indicándolo. Expresarlo en Pseudocódigo y
Diagrama de flujos.

Pseudocódigo: Diagrama de flujo:

Se pide leer tres notas del alumno, calcular su definitiva en un rango de 0-5 y
enviar un mensaje donde diga si el alumno aprobó o reprobó el curso. Exprese
el algoritmo usando Pseudocódigo y diagrama de flujos.

Pseudocódigo:

INICIO
Not1, Not2, Not 3 :REAL
Def: REAL
LEA Nota1, Nota2, Nota3
Def ß (Not1 + Not2 + Not3) /3
Si Def < 3 entonces
Escriba “Reprobó el curso”
Sino
Escriba “Aprobó el curso”
Fin-Si
FIN

Diagrama de flujo:

Se desea escribir un algoritmo que pida la altura de una persona, si la altura es


menor o igual a 150 cm envíe el mensaje: “Persona de altura baja”; si la altura
está entre 151 y 170 escriba el mensaje: “Persona de altura media” y si la
altura es mayor al 171 escriba el mensaje: “Persona alta”. Exprese el algoritmo
usando Pseudocódigo y diagrama de flujos.

Pseudocódigo:

INICIO
Altura: ENTERO
ESCRIBA “Cuál es tu altura? ”
LEA Altura
Si Altura <=150 entonces
ESCRIBA “persona de altura baja”
Sino
Si Altura <=170 entonces
ESCRIBA “persona de altura media”
Sino
Si Altura>170 ENTONCES
ESCRIBA “persona alta”
Fin-Si
Fin-Si
Fin-Si
FIN

¡Es importante ser ordenado en el código que se escribe!

Diagrama de flujo:

(Urbaez, 2005)
Bibliografía
Definicio.de. (2008-2015). Obtenido de
http://definicion.de/algoritmo/#ixzz3ppZh5rmu
Carlospes. (2104). carlospes.com. Obtenido de
http://www.carlospes.com/minidiccionario/programa.php
Fiorela Castillo, F. R. ( 2013). Monografias.com. Obtenido de
http://www.monografias.com/trabajos-pdf5/los-programas-formaticos/los-
programas-formaticos.shtml
Frida, P. (24 de Maro de 2009). blogspot. Obtenido de
http://informaticafrida.blogspot.com/2009/03/algoritmo.html
Silberschatz, A. (1994). Operating System Concepts. Addison-Wesley.
Urbaez, W. (25 de Octubre de 2005). desarrolloweb.com. Obtenido de
http://www.desarrolloweb.com/articulos/2225.php

Tarea
Realice un programa que lea la edad de una persona y determine si es mayor
de edad o menor de edad.
1. Análisis
Objetivo: Calcular la edad de una persona y determinar si es
mayor de edad o menor de edad.
Datos de entrada: Edad actual
Datos de salida: mayor de edad o menor de edad
Datos de proceso:
Leer datos de entrada
Si edad>=18 Entonces mayor de edad
Sino menor de edad
Restricciones: edad>0
2. Diseño
Ingrese su nombre:
Luis
Ingrese su edad:
18
Luis tu eres: mayor de edad
3. Codificación
Proceso Edad
Definir edd como entero;
Definir nombre como cadena;
Escribir ("Ingrese su nombre");
Leer nombre;
Escribir ("¿Cuál es tu edad?");
Leer edd;
Escribir nombre,' eres:';
Si edd>=18 Entonces;
Escribir ("Mayor de edad");
Sino
Escribir ("Menor de edad");
FinSi
FinProceso

4. Prueba

Pantalla Edad Menor Mayor


de de
edad edad
18 X
Realice un programa que lea las dos notas o calificaciones y determine la
observación:
Promedio<10 Reprobado
10<promedio<14 Suspenso
14<=promedio<18 Aprobado
Promedio =>18 Becado

1. Análisis
Objetivo: determinar el estatus del estudiante basado en sus
calificaciones.
Datos de entrada: calificación 1, calificación 2
Datos de salida: Promedio, estatus académico.
Datos de proceso:
Leer datos de entrada
Calcular promedio= (calif1+calif2)/2
Imprimir resultado
Restricciones: calif1, calif2>=0
Determinar si:
Promedio<10 Reprobado
10<promedio<14 Suspenso
14<=promedio<18 Aprobado
Promedio =>18 Becado

2. Diseño
Calculando promedio y estatus académico*
Nombre del Estudiante:
Luis
Física
17
Química
18
Tu promedio es: 17.5
Luis tu estatus es:
Aprobado
3. Codificación
Proceso Promedio
//Declaración de variables
Definir calif1, calif2 como real;
Definir prome como real;
Definir nombre como Cadena;
Escribir ("Calculando promedio y estatus académico*");
Escribir ("Nombre del Estudiante:");
Leer nombre;
Escribir ("Física");
Leer calif1;
Escribir ("Química");
Leer calif2;
prome<- (calif1+calif2)/2;
Escribir 'Tu promedio es:',prome;
//Instrucción si
Escribir nombre,(" tu estatus es:");
Si prome<10 Entonces;
Escribir ("Reprobado");
Sino
Si 10<prome y prome<14 Entonces;
Escribir ("Suspenso");
Sino
Si 14<=prome y prome<18 Entonces;
Escribir ("Aprobado");
Sino
Si prome>=18 Entonces;
Escribir ("Becado");
Sino
FinSi
FinSi
FinSi
FinSi
Finproceso
4. Pruebas
Pantalla Física Química Promedio Estatus
17 18 17,5 Aprobado
Tema: Instrucción si
Instrucción condicional que se ejecuta dependiendo del resultado de una
operación lógica.
Condición
Variable-operador lógico-valor
Variable-operador lógico-variable
<
<=
>
>=
!= <> diferente
Si (condición) entonces
Verdadero
Instr1
Instr2
Finsi
Si (condición) entonces
Verdadera
Instr1
Instr2
Sino
Falsa
Instr3
Instr4
Finsi
Ejercicio
Programa 8
Realizar un programa que permita ingresar el número de horas, valor_h y
calcule el sueldo de una persona, emita la observación dependiendo de la
tabla.
Sueldo<500 básico
500<=sueldo<1000 normal
1000<=sueldo<=2000 bueno
Sueldo>=2000 excelente

Objetivo: calcular el sueldo y determinar la observación


Datos de entrada: num_h, val_h, nombre
Datos de salida: sueldo, observación
Datos del proceso
Leer datos de entrada
Calcular el sueldo
Determinar la observación
Imprimir resultados
Restricciones: num_h>0, val_h>0
Diseño

Sueldo del empleado


Empleado:
________
Num. Horas:
_________
Valor hora:
_________
Tu sueldo es: _______
Observación: sueldo, ______

Codificación
Proceso Salario
Definir num_h, val_h, sueldo Como Real;
Definir nombre como cadena;
Escribir ("Sueldo del empleado");
Escribir ("Empleado");
Leer nombre;
Escribir ("Num.Horas");
Leer num_h;
Si (num_h<0) Entonces
Escribir ("Error número de horas debe ser +");
Sino
Escribir ("Ingrese valor hora");
Leer val_h;
si (val_h<0) Entonces
Escribir ("Error valor hora debe ser +");
Sino
Escribir ("Tu sueldo es:");
sueldo<-num_h*val_h;
Escribir sueldo;
Escribir ("Observación sueldo");
Si (sueldo<500) Entonces
Escribir ("Básico");
Sino
Si(sueldo<1000) Entonces
Escribir ("Normal");
Sino
Si (sueldo<2000) Entonces
Escribir ("Bueno");
Sino
Escribir ("Excelente");

FinSi
FinSi
FinSi
FinSi
FinSi
FinProceso

Condicionales múltiples
Si (Cond1) y (cond2) entonces
Inst1;
Inst2;
Finsi
Si (cond1) y (cond2) entonces
Inst3;
Inst4;
Finsi

Cond1 Cond2 Y O
V V V V
V F F V
F V F V
F F F F

Se demora más tiempo en procesar


Si (sueldo<500) entonces
Escribir (“Básico”);
Finsi
Si (sueldo>=500) y (sueldo<1000) entonces
Escribir (“Normal”);
Finsi
Si (sueldo>=1000) y (sueldo<2000) entonces
Escribir (“Bueno”);
Sino
Si (sueldo>2000) entonces
Escribir (“Excelente”);
Finsi
Prueba de escritorio
Pantalla Num_h Val_h Sueldo
55 10 550

Programa 9: realice un programa que resuelva una ecuación de segundo


grado.
Proceso Ecuación
Definir a,b,c como real;
Definir x1, x2,disc como real;
Escribir ("Ecuación de segundo grado");
Escribir ("Ingresar el valor de a");
Leer a;
Si a<>0 Entonces;
Escribir ("Ingrese el valor de b");
Leer b;
Escribir ("Ingrese el valor de c");
Leer c;
disc<-(b*b-4*a*c);
Si disc>=0 Entonces;
Escribir a, b, c;
x1<-(-b+rc(disc))/(2*a);
x2<-(-b-rc(disc))/(2*a);
Escribir "x1= ",x1;
Escribir "x2= ",x2;
Sino
Escribir ("Error matemático, raiz imaginaria");
FinSi
Sino
Escribir ("Error matemático división para cero");
FinSi
FinProceso

Programa 10: Calcule la edad de una persona considerando que cada mes
tiene 30 días, lea la fecha actual y la fecha de nacimiento.
Análisis:
Objetivo calcular la edad de una persona
Datos de entrada: an_act, an_ nac, mes_act, mes_nac,dia_act, dia_nac,
nombre
Datos de salida: Edad en días, meses y años.
Datos del proceso
Leer datos de entrada
Calcular los años, meses y días
Imprimir resultados
Restricciones: años, mese, días>0
Diseño
Edad de una persona
Nombre:
________
Año de nacimiento:
_________
Mes de nacimiento:
_________
Día de nacimiento:
_______
Año actual:
_________
Mes actual:
_________
Día actual:
_________
Nombre, tu edad es:
_______

Codificación
Proceso Edad
Definir an_act, an_nac, mes_act, mes_nac, di_nac, di_act como entero;
Definir anios, meses, dias como entero;
Definir nombre como cadena;
Escribir ("Edad de una persona");
Escribir ("Nombre");
Leer nombre;
Escribir ("Año de nacimiento");
Leer an_nac;
Escribir ("Mes de nacimiento");
Leer mes_nac;
Escribir ("Día de nacimiento");
Leer di_nac;
Escribir ("Año actual");
Leer an_act;
Escribir ("Mes actual");
Leer mes_act;
Escribir ("Día actual");
Leer di_act;
Si di_act>di_nac Entonces
dias<-di_act-di_nac;
Sino
dias<-di_act+30-di_nac;
mes_act<-mes_act-1;
FinSi
Si mes_act>mes_nac Entonces
meses<-mes_act-mes_nac;
Sino
meses<-mes_act+12-mes_nac;
an_act<-an_act-1;
Finsi
Si an_act>an_nac Entonces
anios<-an_act-an_nac;
Sino
Escribir ("Error año actual mayor al año de nacimineto");
FinSi
Escribir ("Tu edad es:"),dias,( "días"),meses,( "meses"),anios,( "años");
FinProceso

Prueba de escritorio

Pantalla Año Mes Día


actual actual actual
2105 11 7

Año Mes Día nac.


nac. nac.

1997 1 28

Total: 18 9 9