figura00

abcsoft

 

FUNDAMENTO DE PROGRAMACIÓN

ORIENTADO A OBJETOS

Elaborado por: Alberto Bueno

ABCSOFT

www.abcsoftperu.com

2010 - 2012

 

INTRODUCCION

Secuencia para el procesamiento de datos

PROGRAMACIÓN

Características de los programas

Estructura general de un programa

Partes principales de un programa

Elementos de un programa

DIAGRAMA DE FLUJO

Tipos de diagramas de flujo

Simbología y significado

LOS PSEUDOCODIGOS

Forma de escribir un algoritmo en pseudocódigo

Forma de declarar las variables

Tipos de datos

Forma de declarar las constantes

Sentencia de comentario

GRUPO DE PROBLEMAS Nº 1

INSTRUCCIONES DE ENTRADA Y SALIDA DE DATOS

Instrucción de escritura

Instrucción de lectura

GRUPO DE PROBLEMA Nº 2

SENTENCIAS DE CONTROL CONDICIONAL

Sentencias de control condicional simple

Sentencias de control condicional doble

Sentencias de control condicional con condiciones múltiple

Sentencias de control condicional múltiple

GRUPO DE PROBLEMAS Nº 3

SENTENCIAS DE CONTROL REPETITIVO

Sentencias de control repetitivo no condicional

Sentencias de control repetitivo condicional

PROCEDIMIENTOS Y FUNCIONES

Subprogramas

Procedimientos

Funciones

PROGRAMACION MODULAR

Técnicas de programación

Programación modular

Tamaños de los módulos

Programación estructurada

Diseño descendente

Recursos abstractos

Estructura básica

Programa principal y los módulos

Ámbito de las variables

 

 

INTRODUCCIÓN

 

INFORMÁTICA

Ciencia que se encarga de la organización y mantenimiento de la información haciendo uso de los sistemas integrados de cómputo.

 

COMPUTACIÓN

Conjunto de métodos y técnicas que permiten administrar, manipular y controlar en forma automática y correcta la información, utilizando para ello la ayuda de un computador.

 

COMPUTADORA

Máquina electrónica capaz de ejecutar programas (listas de instrucciones), almacenar datos, realizar operaciones con ellos (procesamiento electrónico de datos) y obtener resultados o información a partir de los mismos.

 

SISTEMAS

Conjunto de elementos que interactúan entre sí para realizar una tarea o resolver un problema que se presenta en la organización.

subir

SECUENCIA PARA EL PROCESAMIENTO DE DATOS

 

LENGUAJE DE PROGRAMACION

Un lenguaje de programación es un conjunto de palabras adaptadas y/o modificadas a partir de un lenguaje humano, y que permiten comunicarnos con el computador, a través de las le indicamos a la computación los procesos a llevar a cabo.

 

ALGORITMO

Un algoritmo se puede definir como un conjunto de reglas, procedimientos y/o instrucciones lógicas que se deben ejecutar en un orden especifico para resolver un problema. El uso de los algoritmos tiene un gran valor estratégico en las computadoras; ya que ellas pueden resolver un determinado problema después de que se le ha dicho como resolverlo. Todo algoritmo debe cumplir las siguientes características fundamentales:

Un algoritmo debe ser preciso e indicar el orden de realización de cada paso.

Un algoritmo debe estar definido. Si se elabora varios algoritmos todos deben dar el mismo resultado.

Un algoritmo debe ser finito. Todo algoritmo tiene que terminar en algún momento, es decir tiene un número determinado de pasos.

subir

 

PROGRAMACIÓN

 

PROGRAMA

Denominado programa al conjunto de instrucciones escritas en un orden lógico y codificado en un determinado lenguaje de programación, las cuales permiten llevar a cabo un determinado proceso previamente establecido.

 

PROGRAMACIÓN

Es proceso de diseñar, crear, escribir, probar y depurar un código, llamado código fuente, el que está elaborado en un lenguaje de programación

 

PROGRAMACIÓN ESTRUCTURADA

La técnica actual para el desarrollo y diseño de programa, cuyo objetivo principal es la de facilitar la compresión del programa y además permitir de forma rápida, las ampliaciones y modificaciones que surjan en el período de vida de un programa o una aplicación. Esta técnica empleada se define como técnica del diseño descendente de programas (TOP-DOWN); actualmente conocida como programación estructurada.

 

PROGRAMACIÓN MODULAR

La idea de la programación modular nació con el fin de hacer más compresible y fácilmente modificable los programas mediante el desarrollo de los programas por módulos.

Todo programa puede descomponerse en pequeños subprogramas o módulos individuales y más independientes entre sí que sea posible.

Los subprogramas se ejecutarán en el orden indicado por el programa principal, el cual irá llamando a cada uno de ellos en la medida que se necesiten.

Cada subprograma tendrá acceso sólo a los datos que necesite, limitando al máximo el acceso a datos manejados por otros subprogramas o módulos.

Las variables y estructura de datos deben definirse o declararse al principio de cada módulo, no debiendo utilizar variables no definidas.

Evitar al máximo posible el emplear instrucciones de salto que hace difícil la lectura del programa.

 

PROGRAMACIÓN ORIENTADA A OBJETOS

También conocido como POO, es una programación que está orientada al objeto. Objeto es un ítem, que existe en el mundo real y tiene forma, nombre y actividades que realizan. Algunos objetos pueden ser vistos o sea son objetos físicos y otros no se les puede ver, se les considera objetos abstracto. Los objetos del mundo real pueden existir como una clase y sus respectivas herencias, ósea los objetos que heredan, considerados también como subclases y los objetos que son tipos del objeto, como objetos físicos.

 

PROGRAMACIÓN DECLARATIVA

Se base en el desarrollo de programas especificado o “declarando” un conjunto de condiciones, proposiciones, afirmaciones, restricciones, ecuaciones o transformaciones que describen el problema y detallan su solución. La solución es obtenida mediante mecanismos internos de control, sin especificar exactamente cómo encontrarla. No existen asignaciones destructivas, y las variables son utilizadas con transparencia referencial.

subir

 

CARACTERÍSTICAS DE LOS PROGRAMAS

 

La solución de un determinado problema por medios automatizados, puede ser construida por diferentes algoritmos de resolución o programas. La selección del que da solución adecuada se basará en una serie de reglas importantes que permita la evaluación del costo de diseño y mantenimiento del programa. Para lo cual las características generales que debe tener todo programa son las siguientes:

 

LEGIBILIDAD

Debe estar escrito de tal forma que facilite su lectura y compresión por cualquier persona.

 

PORTABILIDAD

Su diseño debe permitir la codificación en diferentes lenguajes de programación y la instalación en diferentes sistemas de computación.

 

MODIFICALIDAD

Debe permitir los cambios, modificaciones y actualizaciones necesarias para una nueva situación del medio ambiente. Dar facilidad al mantenimiento a las necesidades presentes y futuras del usuario.

 

EFICIENCIA

Realizar de manera adecuada, el aprovechar al máximo los recursos del computador, minimizando memoria, tiempo de proceso y ejecución en todas las etapas del proyecto a realizar.

 

MODULARIDAD

El diseño general debe estar subdividido en bloques o módulos, cada uno de los cuales realiza una parte del conjunto del sistema, simplificando de esta manera el mantenimiento de los mismos.

 

ESTRUCTURACIÓN

La elaboración de todo programa debe cumplir la regla de la “programación estructurada”, que consiste en la solución del problema mediante el diseño descendente, arriba hacia abajo, definiendo los procedimientos para facilitar la verificación depuración y mantenimiento del programa.

 

DIAGRAMA DE FLUJO

Un diagrama de flujo es una colección de símbolos de una forma característica que están conectados por segmentos de línea y cada uno de ellos representa un tipo de actividad. El diagrama de flujo describe en forma gráfica el algoritmo que el lenguaje de programación va a emplear. De esta manera se evitará ambigüedades y malas interpretaciones a menos que el analista sea una persona extremadamente cuidadosa en la elección de sus palabras.

subir

 

ESTRUCTURA GENERAL DE UN PROGRAMA

 

Un programa se puede considerar como una secuencia de procedimientos o tareas (instrucciones) que se realizarán una tras otra para manipulación e un conjunto de objetos (datos). En todo programa se encuentran dos bloques para la descripción de dos aspectos.

 

Bloque de declaraciones

En donde se especifica todos los objetos que utilizan el programa (constantes, variables, tablas, registros, archivos, etc.)

 

Bloque de instrucciones

Compuesto por todas las expresiones que se han de realizar dentro del programa para la obtención de los resultados deseados.

 

figura03subir

 

PARTES PRINCIPALES DE UN PROGRAMA

 

Un programa tiene tres partes fundamentales, que se encuentran dentro del bloque de instrucciones; estas partes pueden estar bien diferenciadas, en la mayoría de las aplicaciones se encuentran entremezcladas en todo el programa.

 

ENTRADA DE DATOS: Son todas aquellas instrucciones que toman datos de un dispositivo externo.

 

PROCEDIMIENTO: Es la parte del proceso que está formando por las instrucciones que modifican a los objetos a partir de su estado inicial hasta su estado final.

 

SALIDA DE RESULTADOS: Conjunto de instrucciones que toman los datos finales de la memoria central y los envían a los dispositivos externos.

subir

ELEMENTOS DE UN PROGRAMA

 

figura04

 

Los elementos que conforman un programa se dividen en dos: elementos básicos y elementos auxiliares.

 

Elementos básicos

  • Palabras reservadas

  • Identificadores

  • Caracteres especiales

  • Constantes

  • Variables

  • Operadores

  • Expresiones

  • Instrucciones

 

Elementos auxiliares

  • Bucles

  • Contadores

  • Acumuladores

  • Interruptores

  • Estructuras

 

CONTANTES

Son elementos que tiene un nombre y hace referencia a una posición de memoria donde se guarda un dato, cuyo valor permanece invariable durante la ejecución del programa.

 

VARIABLES

Son elementos que tienen un nombre que hace referencia a una posición de memoria donde se guarda un dato, el cual puede ser modificado en cualquier momento de la ejecución del programa.

 

OPERADORES

Son elementos representados por símbolos que se emplean para realizar operaciones fundamentales y sirven para la construcción de expresiones. Y se puede utilizar de forma general.

 

figura05

 

EXPRESIONES

Las expresiones son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombre de funciones especiales. Cada expresión toma un valor que se determina tomando los valores de las variables y constantes implicadas para la ejecución de las operaciones indicadas. Una expresión consta de operadores y operando. Según sea el tipo de objetos que manipulan, se clasifican las expresiones en:

 

  • Numéricas: Son las que se producen resultados tipo numérico. Se construyen mediantes operadores aritméticos.

 

                   Ejemplo: Log 2*(A + B)

 

  • Alfanuméricos: Son las que producen resultado de tipo alfanumérico. Se construyen mediante los operadores alfanuméricos.

                   Ejemplo: “Sr.” + NOMBRES

 

  • Booleanas: Son las que producen resultados VERDADERO O FALSO. Se elaboran mediante los operadores relacionales y lógicos.

 

                   Ejemplo: A > 1 AND C <= (B + D)

 

BUCLE

También denominado lazo (loop) es una parte del algoritmo, cuya función principal es repetir un número determinado de veces mientras se cumpla la condición de un proceso. Los bucles se caracterizan por ser independiente o sin anidamiento. Un bucle puede ser anidado o encerrar varias condiciones.

 

CONTADOR

El contador es un elemento que forma parte del programa, el cual tiene un nombre que hace referencia a una posición de memoria donde se guarda un dato, cuyo valor se incrementa en una cantidad fija, para contar o enumerar sucesos o acciones, positivas o negativas; generalmente asociada a un bucle o proceso repetitivo.

 

ACUMULADOR

El acumulador es un elemento que forma parte del programa, el cual tiene un nombre que hace referencia a una posición de memoria donde se almacena un dato, cuyo valor acumula gradualmente el resultado de una operación.

 

INTERRUPTOR

Se le llama también conmutador (switch), es el proceso por el cual una variable puede tomar diferentes valores dentro del algoritmo de un programa, permitiendo conmutar información de una a otra parte del mismo.

 

ESTRUCTURA

La estructura en un programa consiste en que toda la estructura tenga una sola puerta de entrada y una sola puerta de salida. Y son tres única estructura de control; la estructura secuencial, la estructura alternativa y la estructura repetitiva.

Estructura Secuencial: Es una estructura con una sola entrada y una sola salida en donde existen una serie de procesos que se ejecutan en forma lineal y en el orden que se encuentran.

 

  • Estructura Selectiva: Es una estructura de una sola entrada y una sola salida en la cual re realiza un proceso selectivo entre ambas.

  • Estructura Repetitiva: Es una estructura de una sola entrada y una sola salida que repite un proceso un número determinado o indeterminado de veces dependiendo de la condición que tenga.

subir

DIAGRAMA DE FLUJO

 

Una de las primera formas de realizar un programa, es primero desarrollando su algoritmo, esto permite visualizar en forma panorámica como está formado el programa y como se llega a la solución. El algoritmo define el problema, además permite analizar los datos y luego diseñar una solución. Mientras que el diagrama de flujo establece la secuencia lógica y las diferentes alternativas a seguir en la solución del caso. El diagrama de flujo visualiza en donde empieza el caso, como único punto de inicio y en donde acaba este, como único punto de finalización; además muestra las rutas o bifurcaciones que pudiera seguir la solución del caso a través del programa. Para luego codificarlo a través de un lenguaje de programación, generando el código fuente. O en otro caso puede ser con el lenguaje natural, conocido también como pseudocódigo.subir

 

Tipos de diagramas de flujo

Formato Vertical: En él el flujo o la secuencia de las operaciones, va de arriba hacia abajo. Es una lista ordenada de las operaciones de un proceso con toda la información que se considere necesaria, según su propósito.

Formato Horizontal: En él, el flujo o la secuencia de las operaciones, va de izquierda a derecha.

Formato Panorámico: El proceso entero está representado en una sola carta y puede apreciarse de una sola mirada mucho más rápido que leyendo el texto, lo que facilita su comprensión, aun para personas no familiarizadas. Registra no solo en línea vertical, sino también horizontal, distintas acciones simultáneas y la participación de más de un puesto o departamento que el formato vertical no registra.

Formato Arquitectónico: Describe el itinerario de ruta de una forma o persona sobre el plano arquitectónico del área de trabajo. El primero de los flujogramas es eminentemente descriptivo, mientras que los utilizados son fundamentalmente representativos. subir

Simbología y significado

figura06subir

LOS PSEUDOCODIGOS

 

El Pseudocódigo es un lenguaje de especificación de algoritmos, que a través de un conjunto de palabras  permiten representar la solución a un problema previamente planteado.

Pseudocodificación de Programas: Los pseudocodificación de programas, puede describir la solución de un problema en forma de algoritmo dirigido a un computador, utilizando frases y palabras del lenguaje natural, sujeta a reglas especificas.

Los Pseudocódigos son una herramienta para la programación. Debido a su flexibilidad, permite obtener la solución a un problema mediante aproximaciones sucesivas, es decir, mediante lo que se define como diseño descendente.

Todo pseudocódigo debe posibilitar lo siguiente:

 

  • Instrucciones de entrada y salida.

  • Instrucciones de proceso.

  • Sentencias de control de flujo y de ejecución.

  • Acciones compuesta que hay que refinar posteriormente.

 subir

Forma de describir un algoritmo en pseudocódigo: Un algoritmo constará de dos componentes principales: una cabecera de programa y un bloque algoritmo.

La cabecera del programa es una acción simple que comienza con la palabra algoritmo. Esta palabra está seguida por el nombre asignado al programa completo. El bloque algoritmo es el resto del programa y consta de dos componentes o secciones: las acciones de declaración y las acciones ejecutables. Las declaraciones definen o declaran las variables y constantes. Las acciones ejecutables son las acciones que posteriormente deberá realizar la computadora cuando el algoritmo convertido en programa se ejecute.

 

figura07

subir

Forma de declarar las variables: La declaración de variables consiste en indicar el nombre y tipo de dato que almacenará cada una de las variables que intervienen en el algoritmo. Esta sección comienza con la palabra reservada VAR.

 

Sintaxis:

VAR Lista de variables 1: tipo 1

VAR Lista de variables 2: tipo 2

    ….

 VAR Lista de variables n: tipo n

 subir

Los tipos de datos que se pueden especificar son:

 

1 Entero

2 Real

3 Carácter

4 Cadena

5 Lógico

 

Ejemplo

             VAR Contar, sumar tipo entero

             VAR Sueldo, neto, impuesto tipo real

             VAR Trabajador tipo cadena

 subir

Forma de declarar las constantes: La declaración de constantes consiste en indicar el nombre de la constante y el valor que tendrá durante la ejecución del programa.

 

Sintaxis:

         CONST Nombre = valor

 

Ejemplo

         CONST pi = 3.141592

         CONST max = 99

         CONST min = 0

 

Sentencias de asignación de información: Es el modo de darle valor a las variables.  La operación se presenta por un símbolo u operador. La operación de asignación se conoce con el nombre de instrucción o sentencia de asignación cuando se refiere al lenguaje de programación.

 

Nombre de variable ← expresión

 

Ejemplo:

    var1 ← 10

    var2 ← 23

    nombre ← “OPERACIONES”

    suma ← var12 + var2

 subir

Sentencias de comentario: Los comentarios dentro de un programa tienen la finalidad de identificar y documentar dicho programa. Los comentarios en algoritmo pseudocodificados se representa por las llaves {}

 

Ejemplo

    {Programa de actualización (ARTICULO)}

subir

 

GRUPO DE PROBLEMAS Nº 1

(1) Convertir en expresiones aritméticas algorítmicas las siguientes expresiones:

 

 (a)  5(x + y) 2      (b) a2 + b2  _  a            (c)  2(x - a)(a + x)(x - a2)

                                a2 -  b2      b

(2) Calcule el valor de las siguientes expresiones:

 

(a) 2 + 2 * 2 + 2 * 2     (b) 2 ^ 2 * 2      (c) -2 ^ 3        (d) 1 * 1 / 1 + 1 - 1

 

(3) Encontrar el valor de la variable ABCSOFT después de la ejecución de las siguientes operaciones.

 

ABCSOFT = 4.0 * 5                             (c) ABCSOFT = A * B * C * S * O *  F  * T

A = 2.5

        B = 1.5

        C = 3.8

        ABCSOFT = A ^ B - C

 

(4) Escribir las siguientes expresiones en forma de expresiones algorítmica.

figura

(5) Deducir  el valor que toman las variables tras la ejecución de las siguientes instrucciones:

X = 4

Y = X

Y = X + 5

 

(6) ¿Qué se obtiene de las variables M, N y O después de ejecutar las instrucciones siguientes?

M = 3, N= 20, P = M + N, N = M + N, M = N

 

(7) Si el valor de X es 3, Y es 3 y Z es 2, evaluar la expresión

X ^ Y ^Z

 

(8) Escribir las siguientes expresiones algorítmicas como expresiones algebraicas:

 

(a) b ^2 + 4 *a *c                (b) 5 * a ^ 2 – 4 * a ^2 + 12 * b ^ 2 – 20

(c) (a + b) / (a – b)  ^ 2       (d)  ((c * (1 + i)  ^ 2) – 1) / (((1 + i ) ^ n) * i))

 

(9) Evaluar la expresión:

 

4 / 2 * 8 /4 + 1 / 2 ^ 1 / 3 ^ 2 / 4 * 2

subir

 

INTRUCCIONES DE ENTRADA Y SALIDA DE DATOS

Instrucción: ESCRIBIR

Muestra en pantalla un mensaje, el contenido de una variable, constante, campo o el resultado de una expresión.

 

Sintaxis:

         ESCRIBIR <mensaje/variable/campo/expresión>

 

Ejemplos:

ESCRIBIR “Ingreso de datos “

ESCRIBIR código

ESCRIBIR nombre

ESCRIBIR sumax + sumay

 

Instrucción: LEER

Permite el ingreso de datos, almacenado dichos valores en las variables de memoria correspondientes.

 

Sintaxis:

LEER <lista de variables>

Ejemplo:

LEER código

LEER nombre

subir

GRUPO DE PROBLEMAS Nº 2

 

  1. Se desea obtener el salario neto de un trabajador conociendo el número de horas trabajadas, el salario hora y la tasa de impuestos que se le desea deducir.
  2. Un corredor de maratón (distancia = 42.195 Km) ha recorrido la distancia en 2 horas 25 minutos. Se desea un algoritmo que calcule el tiempo medio en minutos por Kilómetros.
  3. Escriba un algoritmo para calcular el área de un triángulo dada la base y la altura
  4. Dado un Número, contestar si es positivo o negativo.
  5. Diseñar un algoritmo que realice la siguiente conversión. Una temperatura dada en grados Celsius a grados Fahrenheit. Nota: La fórmula de conversión es ºF = 9/5 ºC + 32

subir

 

SENTENCIAS DE CONTROL CONDICIONAL

 

SENTENCIA DE CONTROL CONDICIONAL SIMPLE

Instrucción: SI_ENTONCES

Permite evaluar una expresión lógica en un punto específico del programa. Si la condición establecida se cumple, entonces se ejecutará un determinado proceso, si es falsa se continuará la ejecución del programa después de FIN_SI.

 

Sintaxis:

SI  <condición> ENTONCES

     <instrucción 1>

     <instrucción 2>

     ….

     <instrucción n>

FIN_SI

 

figura08

subir

SENTENCIA DE CONTROL CONDICIONAL DOBLE

Instrucción: SI_ENTONCES_SINO

Permite evaluar una expresión lógica en un punto específico del programa, ejecutándose un proceso cuando la condición establecida se cumple y otro cuando es falso. Luego de ejecutado uno de los procesos se continuará la ejecución del programa después de FIN_SI.

 

Sintaxis:

SI  <condición> ENTONCES

         <instrucción 1>   {proceso que realizan la parte verdadera}

         <instrucción 2>

         ….

         <instrucción n>

     SINO

     <instrucción 1>   {proceso que realizan la parte falsa}

     <instrucción 2>

     ….

     <instrucción n>

FIN_SI

 

figura08

 

Ejemplo:

Se tiene un algoritmo que desea saber si la edad de una persona la cual se ingresa por teclado conjuntamente con su nombre es mayor de edad o no es mayor de edad; si es mayor de edad preguntar por su DNI; en caso contrario mostrar la edad de la persona.

 

PLANTEAMIENTO DE RESOLUCION DEL CASO

  1. Se desea saber la edad de una persona.

  2. Edad

  3. Se debe ingresar por teclado: nombre de la persona, edad y su dni si es mayor de edad.

  4. NOMBRE, EDAD, DNI

  5. Determinar la edad de la persona:

  6. SI EDAD >17 años entonces le preguntará por su DNI

  7. Ingresar el DNI si la persona es mayor de 17 años

DEFINICION DE LAS VARIABLES DEL CASO

  1. Edad: permite saber la edad de una persona. La variable es: VAR EDAD de tipo entero corto. Por ser una variable que captura la edad de la persona y esta no pasa de 200.
  2. Nombre: permite saber el nombre de la persona que se ingresa por teclado. La variable es: VAR NOMBRE de tipo cadena. Por ser una variable que captura el nombre de la persona y el nombre tiene varios caracteres alfabéticos.
  3. Dni: es el documento que entrega a las personas que tienen 18 años o más y además se le considera mayores de edad. La variable es: VAR DNI de tipo entero largo. El la variable que captura el número de documento de identidad de la persona y este posee varios dígitos.

 

RESUMEN:

VAR EDAD de tipo entero corto

VAR NOMBRE de tipo cadena

VAR DNI de tipo entero largo

 

ALGORITMO DEL CASO

 

algoritmo

 

PSEUDOCODIGO DEL CASO

{Programa que permite saber si la persona es mayor de edad}

INICIO

{Definición de las variables del caso, esta parte corresponde a las declaraciones del programa}

VAR EDAD de tipo entero corto

VAR NOMBRE de tipo cadena

VAR DNI de tipo entero largo

ESCRIBIR”Ingrese apellidos y nombres: “

LEER NOMBRE

ESCRIBIR”Ingrese su edad: “

LEER EDAD

SI EDAD >= 18 ENTONCES

ESCRIBIR “Es ud., mayor de edad…”

ESCRIBIR ”Ingrese su dni: “

LEER DNI

SINO

         ESCRIBIR “Es ud., menor de edad…”

FIN_SI

FINAL

subir

SENTENCIA DE CONTROL CONDICIONAL CON MULTIPLES CONDICIONES

Instrucción: SI_ENTOCES_SINOSI_SINO

Permite al programa tener un común uso de una selección múltiple que equivaldría a anidar varias funciones de selección. Una vez que se cumpla con una de las condiciones que se presenta esta excluye a las demás condiciones que se presenta, siendo estas falsas. Pero si la condición previa no cumple, entonces se recurre a una segunda condición a ser evaluada, y también se tiene dos alternativas la verdadera y la falsa; y esto se seguirá hasta un máximo de siete condiciones, como validad permitidas. Una vez seleccionada una de ellas de las posibles alternativas se continuarán ejecutándose las instrucciones del programa que siguen a FIN_SI. Esta estructura ejecutará solo las instrucciones que cumpla con las condiciones esperadas en el programa.

 

Sintaxis:

SI <condición> ENTONCES

         <instrucción 1>   {proceso que realizan la parte verdadera}

         <instrucción 2>

         ….

         <instrucción n>

     SINO SI <condición> ENTONCES

     <instrucción 1>   {proceso que realizan la parte falsa, pero se vuelve a evaluar}

     <instrucción 2>

     ….

     <instrucción n>

         ….

     SINO SI <condición> ENTONCES

     <instrucción 1>   {proceso que realizan la parte falsa, pero se vuelve a evaluar}

     <instrucción 2>

     ….

     <instrucción n>

     SINO

     <instrucción 1>   {proceso que realizan la parte falsa}

     <instrucción 2>

     ….

     <instrucción n>

FIN_SI

 

figura10

subir

SENTENCIA DE CONTROL CONDICIONAL MULTIPLE

Instrucción: HACER_SEGUN CASO

Permite al programa seleccionar una de las varias alternativas codificadas y ejecutar el proceso que corresponde. Una vez seleccionada cualquiera de las posibles alternativas se continuarán ejecutándose las instrucciones del programa que siguen a FIN_SEGUN. Una vez seleccionada el valor coincidente ejecuta las instrucciones y luego se salta fuera de la estructura.

 

Sintaxis:

HACER SEGÚN <condición>

             SEGÚN <valor 1>

     <instrucción 1>

     <instrucción 2>

     ….

     <instrucción n>

             SEGÚN <valor 2>

     <instrucción 1>

     <instrucción 2>

     ….

     <instrucción n>

             …

             SEGÚN <valor n>

     <instrucción 1>

     <instrucción 2>

     ….

     <instrucción n>

              DEFECTO <mensaje/instrucción>

FIN_SEGUN

 

figura11

subir

GRUPO DE PROBLEMAS Nº 3

 

  1. Se desea obtener la nómina semanal (salario neto) de los empleados de una empresa cuyo trabajo se paga por horas y del siguiente modo:
    • Las horas inferiores a 35 horas (normales) se pagan a una tarifa determinada que se debe introducir por teclado al igual que el número de horas y el nombre del trabajador.
    • Las horas iguales o superiores a 35 se pagarán como extras a un precio de 1.5 horas normales.
    • Los impuestos a deducir a los trabajadores varían en función de su sueldo mensual.
      • Sueldo menor o igual a 20000 libres de impuestos
      • Las siguientes 15000 el 20%
      • El resto al 30%
  2. Se desea detectar cualquier entrada comprendida entre 1 y 12 rechazando los restantes, ya que se trata de leer los números correspondientes de los meses del año.
  3. Diseñar un algoritmo que lea 3 números A, B, C y visualice en la pantalla el valor más grande. Se supone que los tres valores son diferentes.
  4. El siguiente algoritmo lee tres números  diferentes: A, B, C, e imprimir los valores máximo y mínimo.
  5. Se tiene un archivo de solicitudes de crédito en el que figuran los siguientes datos de los solicitantes: código, ingreso mensual, edad, estado civil. Los parámetros utilizada por la entidad para evaluar a los solicitantes es la siguiente:
    • Si el solicitante es menor de 25 años y soltero se le otorgará un crédito igual al 40% de su ingreso mensual.
    • Si el solicitante tiene 25 años o más se le otorgará un crédito igual al 60% de su ingreso mensual.
    • Si el solicitante es menor de 25 años y casado su solicitud será denegada.
    • El cualquier caso sólo será aprobado los solicitantes que presenten un ingreso mensual no menor de 180.
    • El límite máximo de crédito es de 150.
  6. Determinar el precio del billete de ida y vuelta en ferrocarril, conociendo la distancia a recorrer y sabiendo que si el Número de días de estancias es superior a 7 y la distancia es superior  a 800 Km. El billete tiene una reducción del 30%. El precio por Km es de 2.5.
  7. Una empresa tiene trabajadores con sueldo fijo y otros por horas. Los que tienen sueldo por horas se les paga de la siguiente manera: los que pertenecen a la categoría A se les paga 10; los de la categoría B se les paga 8; los de la categoría C se les paga 7.5 y los de la categoría D se les paga 6. Desarrolle y algoritmo que permita calcular el sueldo neto de un trabajador, sabiendo que todos tienen descuentos de AFP el 8.5%, seguro 1.8% y comisión 2.5%  de sueldo.
  8. Los alumnos de un Instituto se les clasifica en cuatro categorías: los que tuvieron notas entre 0 y 10 "Deficiente"; Los que tuvieron notas entre 11 y 14 "Regulares"; los que tuvieron notas entre 15 y 17 "Buenos" y los que tuvieron notas entre 18 y 20 "Excelentes". La entrada de las notas de los alumnos debe ser validada, o sea no deben ingresar notas menores de 0, ni notas mayores de 20. Elabore un algoritmo que permita establecer la clasificación que el Instituto necesita.
  9. Elabore el algoritmo de un programa que permita ingresar dos números A y B, y luego pueda escoger que tipo de operación puede realizar con los dos números ingresados; deberá escoger entre sumar, restar, multiplicar o dividir los números entre sí.
  10. Se desea diseñar un algoritmo que escriba los nombres de los días de la semana en función del valor de una variable DIA introducida por teclado. Los días de la semana son 7; por consiguiente, el rango de DIA será 1 hasta 7, y si DIA toma un valor diferente de este rango se deberá producir un mensaje de error advirtiendo la situación anómala.

subir

 

SENTENCIAS DE CONTROL REPETITIVO

 

SENTENCIA DE CONTROL REPETITIVO NO CONDICIONAL

Instrucción: PARA

Permite al programa llevar a cabo la ejecución secuencial de un proceso (instrucción o conjunto de instrucciones) desde un valor inicial hasta un  valor final sin interrupciones. Esta instrucción se utiliza como un contador, el cual cuenta procesos, valores, enumera acciones y repite actividades. Esta instrucción cuenta en forma ascendente o sea desde 1,2,3,4,5,6,…, hasta el  último valor o forma descendente o sea desde el último valor …,6,5,4,3,2,1; hasta un valor inicial o valor inicial predeterminado. Cuando se termine la cuenta se continuará la ejecución del programa después de FIN_PARA.

 

Sintaxis:

PARA <variable> <valor inicial> hasta <valor final> paso <valor>

          <instrucción 1>

          <instrucción 2>

          ….

          <instrucción n>

FIN_PARA

 

Variable: Es la variable que permite contar los procesos que ocurren en la instrucción para, esta cuenta lo hace desde un valor inicial hasta un valor final; en forma ascendente o en forma descendente.

Valor Inicial: Es el valor en donde se inicia la cuenta de los sucesos; y puede ser cualquier valor de inicio. Si se desea contar sucesos este puede empezar desde 0 ó desde 1. Para el caso de los arreglos o matrices se empieza desde 0; para el caso que se desea contar eventos esta puede empezar desde 1; y para otros casos se puede empezar de cualquier valor. Para el caso de cuentas regresivas o descendentes esta se empieza del último valor hacia el principio.

Valor Final: Es el valor en donde se finaliza la cuenta de los sucesos; para el caso de cuentas regresivas o descendentes esta será el valor final de la cuenta, así sea el número 1 ó 0.

Paso: Es el valor el cual determina como se realizará la cuenta ascendente o descendente; para el caso de cuentas de enumeración (contar de uno en uno), no es necesario colocar esta parámetro de cuenta, para el caso en donde se realice cuentas regresivas si es necesario colocar este parámetro, porque si no se colocar no se podrá realizar la cuenta regresiva. Para otros casos en donde la cuenta no sea de enumeración sino se cuente en forma par o de otro forma menos de enumeración se colocará un valor de incremento o decremento. Los valores de incrementos son positivos, los valores de decrementos son negativos.

 

figura12

 

Ejemplo 01:

Se desea realizar la cuenta de los valores que se ingresa por teclado, desde 1 hasta 10.

INICIO

    VAR x tipo entero corto

    VAR y tipo entero

   PARA x = 1 hasta 10   {definición de la variable desde donde cuenta y hasta donde contará}

         ESCRIBIR “Ingrese un número por teclado “             

LEER y

   FIN_PARA

   ESCRIBIR “Total de número ingresados “, x

FINAL

 

En este ejemplo no se incluyo el parámetro de paso, porque no es necesario indicar que la cuenta es de uno en uno, el programa ya lo define y la computadora ya no entiende.

 

Ejemplo 02:

Se desea presentar los números pares desde el 2 hasta 100.

INICIO

   VAR x tipo entero corto

   PARA x = 2 hasta 100 paso 2  {inicia en 2 y cuenta hasta 100 con incremento de dos en dos}

         ESCRIBIR x             

   FIN_PARA

FINAL

 

En este ejemplo se incluye el parámetro de paso y se indica que la cuenta se hará de dos en dos hasta el final de la cuenta, que la define el valor final.

 subir

SENTENCIA DE CONTROL REPETITIVO CONDICIONAL

Instrucción: HACER_MIENTRAS

Permite al programa llevar a cabo la ejecución secuencial de un proceso (instrucciones o conjunto de instrucciones) mientras la condición establecida se cumpla o sea verdad. Cuando la condición establecida deja de cumplirse o es falsa se continuará la ejecución del programa después de FIN_MIENTRAS.

 

Sintaxis:

HACER MIENTRAS <condición>

          <instrucción 1>

          <instrucción 2>

          ….

          <instrucción n>

FIN_MIENTRAS

 

Ejemplo 01:

Realizar un algoritmo que permita ingresar los siguientes datos de alumnos: apellidos y nombres, primera y segunda nota. El algoritmo deberá calcular y mostrar el promedio obtenido y además determinar las condiciones del alumno (Aprobado o Desaprobado). Este proceso se repetirá mientras el usuario así lo desee.

 

{Programa que repite el proceso de ingreso de datos}

INICIO

         VAR nombre tipo cadena

         VAR nota1, nota2 tipo entero

         VAR promedio tipo real

         VAR rpta tipo carácter

         rpta = ‘s’

         HACER MIENTRAS rpta=’s’

                   ESCRIBIR “Ingrese apellidos y nombres “

                   LEER nombre

                   ESCRIBIR “Ingrese primera nota “

                   LEER nota1

                   ESCRIBIR “Ingrese segunda nota “

                   LEER nota2

                   {Calculando el promedio}

                   Promedio = (nota1 + nota2)/2

                   {Determinar la condición del alumno}

                   SI promedio >= 10.5 ENTONCES

                            ESCRIBIR “Condición: APROBADO”

                   SINO

                            ESCRIBIR “Condición: DESAPROBADO”

                   FIN_SI

                   {Preguntando si desea repetir el proceso}

                   ESCRIBIR “Desea continuar (S/N)”

                   LEER rpta

         FIN_MIENTRAS

FINAL

 

figura12

 

Ejemplo 02:

Desarrolle un programa que permita ingresar los datos de n alumnos. Para cada alumno se ingresará su nombre y 6 notas. Calcular y mostrar en pantalla el promedio para cada uno de estos alumnos. El proceso terminará cuando se ingrese la palabra “FIN” como nombre del alumno. Al finalizar mostrar el promedio general de todos los alumnos.

 

{Generación de Actas}

INICIO

         VAR nombre tipo cadena

         VAR x, numalumnos tipo entero

         VAR nota, suma, media, sumamedia, mediatotal tipo reales

         numalumno = 0

         sumamedia = 0

         nombre = “ “

         HACER MIENTRAS <> “FIN”

                   numalumno = numalumno + 1

                   suma = 0

                   i = 0

                   HACER MIENTRAS i<=6

                            i = i + 1

                            ESCRIBIR “Ingrese la nota  “,i”:  “

                            LEER nota

                            suma = suma + nota

                   FIN_MIENTRAS

                   media = suma / 6  {también puede haber divido entre i}

                   ESCRIBIR nombre, media

         FIN_MIENTRAS

         mediatotal = sumamedia / numalumno

         ESCRIBIR “Nota media total es: “, mediatotal

FINAL

    subir           

GRUPO DE PROBLEMAS Nº 3

 

  1. Una empresa paga a sus diez operarios semanalmente de acuerdo con el número de horas que han trabajado, a razón de D soles por hora y de 1.5 D soles por todas aquellas horas que exceden de 40. Indicar el total de salarios a percibir por cada uno de los operarios.

subir

PROCEDIMIENTOS Y FUNCIONES

 

SUBPROGRAMAS

Los subprogramas son pequeños módulos que están diseñados para llevar a cabo una tarea específica. Los subprogramas pueden ser de dos tipos: PROCEDIMIENTOS Y FUNCIONES.

 

PROCEDIMIENTOS

Un procedimiento es un subprograma que ejecuta un proceso específico. Un procedimiento es llamado desde el algoritmo o programa principal mediante su nombre y una lista de parámetros actuales o bien con la instrucción LLAMAR. Al llamar al procedimiento de detiene momentáneamente el programa que se estuviera realizado y el control pasa al procedimiento llamado. Después que las acciones del procedimiento se ejecutan, ser regresa a la acción siguiente a la que se llamo.

Un procedimiento se declara igual que una función, pero su nombre no está asociado a ninguno de los resultados que obtiene.

 

Sintaxis:

Declaración de procedimientos

PROCEDIMIENTO <nombre> <lista de parámetros> <declaración de variables o constantes>

INICIO

          <instrucción 1>

          <instrucción 2>

          ….

          <instrucción n>

FINAL

Invocación de procedimientos

LLAMAR <nombre del procedimiento> <lista de parámetros>

 

LLAMAR A UN PROCEDIMIENTO

figura13

subir

PROCEDIMIENTO

figura13

FUNCIONES

Matemáticamente una función es una operación que toma una o más valores llamados argumentos y produce un valor denominado resultado (valor de la función para los argumentos dados).

Cada función invoca utilizando su nombre en una expresión con los argumentos actuales o reales encerrados entre paréntesis.

Las funciones incorporadas al sistema de denominan FUNCIONES INTERNAS y las funciones definidas por el usuario FUNCIONES EXTERNAS. Cuando las funciones estándares o internas no permite realizar el tipo de cálculo deseado es necesario recurrir a las funciones externas que pueden ser definidas por el usuario mediante una declaración de función.

Declaración de funciones: La declaración de una función requiere de una serie de pasos que la definen. Una función como subprograma tiene una constitución similar a los algoritmos; por consiguiente, constará de una cabecera con la definición de la función y segundo por el cuerpo de la función, que serán una serie de instrucciones cuya ejecución hará que se asigne un valor al nombre de la función.

Invocación a las funciones: Una función puede ser llamada solo por referencia. Cada vez que se llama a una función desde el algoritmo principal se establece automáticamente una correspondencia entre los parámetros formales y los parámetros actuales. Debe haber exactamente el mismo número de parámetros actuales que de parámetros formales en la declaración de la función y se presupone una correspondencia uno a uno de izquierda a derecha entre los parámetros formales y los actuales.

 

Sintaxis:

FUNCION <nombre> <lista de parámetros> <declaración de variables o constantes>

INICIO

          <instrucción 1>

          <instrucción 2>

          ….

          <instrucción n>

FINAL

 

LLAMAR <nombre del procedimiento> <lista de parámetros>

 

LLAMAR A UNA FUNCION

figura13

 

FUNCIÓN

figura14

Ejemplo 01:

Se pide crear una función que permita ingresar un número y que a través de una función permita calcular el factorial de dicho número.

{Programa que demuestra el uso de una función}

INICIO {Programa principal}

         VAR x, y tipo entero

         ESCRIBIR “Ingrese un número: “

         LEER x

         y = factorial(x)

         ESCRIBIR “El factorial es: “,y

FINAL

{Función factorial}

FUNCION factorial(n)

INICIO

         VAR f, i tipo entero

         {Cuerpo de la función}

         f = 1

         PARA i = 1 hasta n

                   f = f * i

         FIN_PARA

         factorial = f

FINAL

 

Ejemplo 02:

Crear un procedimiento llamado raya que permita trazar una línea. A dicho procedimiento se le pasará el número de la línea y el ancho de dicha línea.

{Programa de demuestra el uso de un procedimiento}

INICIO

         {Trazar una línea en la fila 1 con un ancho de 70 caracteres}

         LLAMAR raya (1,70)

         {Trazar una línea en la fila 3 con un ancho de 70 caracteres}

         LLAMAR raya (3, 70)

FINAL

{Procedimiento raya}

PROCEDIMIENTO raya(lin, ancho)

INICIO

         VAR i tipo entero

         PARA i =1 hasta ancho

                   POSICION (lin, 1)

                   ESCRIBIR “=”

         FIN_PARA

FINAL

subir

PROGRAMACIÓN MODULAR

 

TÉCNICAS DE PROGRAMACIÓN

Las técnicas que constituyen la programación son los diagramas de flujo, es la primera representación grafica de algoritmos y programas. Las nuevas técnicas se centran en la programación modular y programación estructurada de manera que se puede conseguir un programa eficaz.

 

PROGRAMACIÓN MODULAR

La programación modular enseñará la descomposición de un programa en modulo más simples de programar, y la programación estructurada permitirá la escritura de programas fáciles de leer y modificar. En un programa estructurado el flujo lógico se gobierna por las estructuras de control básicas:

 

  1. Secuencial

  2. Condicional

  3. Repetitivas

 

figura14

 

TAMAÑO DE LOS MODULOS

En la elaboración de un modulo no existe una regla fija que permita determinar el tamaño; un tamaño adecuado que se debe considerar es una página (30 a 50 líneas de programación). Si no es posible se tendrán que descomponer el modulo en otros submódulos, de tal manera de no realizar esfuerzos para su diseño. Si el modulo tuviera pocas líneas sería conveniente incorporarlo a otro modulo; los módulos de mayor tamaño es probable que ejecuten tareas múltiples y no siempre se conseguirá descomponer en unidades más pequeñas.

 subir

PROGRAMACIÓN ESTRUCTURADA

El término de programación estructura; es un conjunto de técnicas que han evolucionado desde los primeros trabajos de Edgar Dijktra. Estas técnicas aumenta considerablemente la productividad del programa reduciendo en elevado grado el tiempo que se requiere para escribir, verificar, depurar y mantener los programas.

La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y por consiguiente reducen los errores.

La programación estructurada hace que los programas sean más fáciles de escribir, verificar, leer y mantener. Los programas deben estar dotados de una estructura. A esta se incorpora un conjunto de técnicas que son:

 

  • Diseño descendente (top–down)

  • Recursos abstractos

  • Estructuras básicas

 

DISEÑO DESCENDENTE

El diseño descendente, es el proceso por el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento. La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que se relacionen una con otras mediante entrada y salidas de información. De tal modo que el problema se descomponga en etapas o estructuras jerárquicas, de modo que se pueda considerar cada estructura como uno solo e independiente.

subir 

RECURSOS ABSTRACTOS

La programación estructurada se auxilia de los recursos abstractos en lugar de los recursos concretos de que dispone. Descomponer un programa en términos de recursos abstractos según Dijktra consiste en descomponer una determinada acción compleja en términos de un número de acciones más simples capaz de ejecutarlas o constituyan instrucciones de computadora disponibles.

 

ESTRUCTURA BASICA

En mayo de 1966 Böhm y Jacopini demostraron que un programa propio puede ser escrito utilizando solamente tres tipos de estructuras de control.

 

  • Selectivas

  • Repetitivas

 

Un programa se define como propio si cumple las siguientes características:

 

  • Posee un solo punto de entrada y uno de salida para el control del programa.

  • Existe caminos desde la entrada hasta la salida que se pueden seguir y que pasan por todas las partes del programa.

  • Todas las instrucciones son ejecutables y no existen lazos o bucles infinitos.

 subir

PROGRAMA PRINCIPAL Y LOS MODULOS

Un programa que está diseñado mediante la técnica de modularidad quedará construido por dos partes claramente diferenciadas.

 

EL PROGRAMA PRINCIPAL

Describe la solución completa del problema y costa principalmente de llamar a los módulos que necesita. Al llamar a un módulo, se indica que el proceso de ejecución del programa debe continuar en el módulo que  se llama, regresando luego al principal después de que concluya el proceso.

El programa principal debe contener, además, instrucciones y sentencias de control, que se ejecutan de forma inmediata por el procesador. Una característica del programa principal es que debe contener pocas líneas de codificación, en donde se debe diferenciar los procesos que se debe seguir por medio de los módulos para obtener los resultados deseados.

 

LOS MODULOS

Los módulos se pueden encontrar en distintas partes del programa principal. Su estructura coincide básicamente con la del programa con algunas diferencias en el encabezamiento y finalización. En consecuencia un módulo puede tener sus propios submódulos correspondiente a un refinamiento del mismo.

Un módulo es ejecutado por el procesador exclusivamente al ser llamado por el programa principal o por otro módulo.

Los módulos que tiene un programa principal pueden ser de dos maneras: módulos internos o módulos externos. Los módulos internos son los que figuran junto al programa principal, se encuentra en el mismo listado. Mientras que los módulos externos, son aquellos que figuran físicamente separados del programa principal. Son compilados separadamente, e incluso pueden haber sido codificado en un lenguaje de programación distinto al del programa principal.

 subir

AMBITO DE LAS VARIABLES DE UN PROGRAMA

Las variables de un programa, cuando este está compuesto de módulos, funciones y procedimientos tiene un ámbito o lugar en donde pueden desarrollarse o sea ser utilizada por el programa y por los módulos que tiene este. Existe dos tipos de ámbitos par las variables; las variables locales, consideradas como variables privadas, por que se usa solo en módulo y no pueden ser empleadas por otros módulos, como tampoco trasferir sus resultados a otros módulos ni al principal. El otro tipo de ámbito de las variables son las variables globales, consideradas como variables públicas, por que se utilizan en los diferentes módulos que tiene el programa como también el módulo principal.

 

Ejemplo 01

Desarrollar un programa mostrar el promedio de un alumno; pero los alumnos se dividen en tres categorías: alumnos del nivel inicial, alumnos del nivel primario y alumnos del nivel secundario. Cada nivel se compone de un módulo, además del menú de opciones.

 

INICIO

{Programa elegir un nivel y procesar sus notas}

VAR GLOBAL p tipo entero

VAR GLOBAL n tipo cadena

VAR LOCAL a tipo entero

VAR LOCAL opción tipo entero

a = 1

HACER

LLAMAR menú

ESCRIBIR “Opción a elegir? “

LEER opción

HACER SEGÚN opción

         SEGÚN 1

                   LLAMAR inicial

         SEGÚN 2

                   LLAMAR primaria

         SEGÚN 3

                   LLAMAR secundaria

         SEGÚN 4

                   a = 0

         DEFECTO

                   ESCRIBIR “Opción no validad”

FIN_SEGUN

         SI a = 0 ENTONCES

                   BORRAR PANTALLA

         SINO

                   ESCRIBIR “Resultado final del alumno “

                   ESCRIBIR “Alumno: “, n

                   ESCRIBIR “Promedio: “, p

MIENTRAS (a)

FINAL

PROCEDIMIENTO menú

INICIO

         ESCRIBIR “             Menú Principal”

         ESCRIBIR “Elige una de las siguientes opciones”

         ESCRIBIR “1. Secciones de Inicial”

         ESCRIBIR “2. Secciones de Primaria”

         ESCRIBIR “3. Secciones de Secundaria”

         ESCRIBIR “4. Salir”

FINAL

PROCEDIMIENTO inicial

INICIO

         ESCRIBIR “Procedimiento Inicial”

         ESCRIBIR “Nombre del Alumno”

         LEER n

         ESCRIBIR “Promedio del Alumno”

         LEER p

FINAL

PROCEDIMIENTO primaria

INICIO

         ESCRIBIR “Procedimiento Primaria”

         ESCRIBIR “Nombre del Alumno”

         LEER n

         ESCRIBIR “Promedio del Alumno”

         LEER p

FINAL

PROCEDIMIENTO secundaria

INICIO

         ESCRIBIR “Procedimiento secundaria”

         ESCRIBIR “Nombre del Alumno”

         LEER n

         ESCRIBIR “Promedio del Alumno”

         LEER p

FINAL

 

Ejemplo 02

Desarrolle un programa que permita ingresar tres notas y obtener el promedio de la notas. Para lo cual tendremos un módulo de ingreso de notas, una función que permita calcular el promedio.

 

INICIO

{Programa que pasa parámetros a un modulo y este devuelve un resultado

PROCEMIENTO ingresar {declaración del módulo}

         FUNCION promedio (i tipo real, j tipo real, k tipo real)

         VAR x, y, z tipo entero

         VAR nombre tipo cadena

         VAR suma tipo real

         ESCRIBIR “Programa que calcula el promedio de notas”

         LLAMAR PROCEDIMIENTO ingresar

         suma = promedio(x, y, z) {muestra el promedio de notas}

         ESCRIBIR “Promedio: “, suma

FINAL

{ingresar las notas al módulo ingresar}

PROCEMIENTO ingresar

INICIO

         ESCRIBIR “Ingreso de Notas del Alumno”

         ESCRIBIR “Alumno: “

         LEER nombre

         ESCRIBIR “Nota 1: “

         LEER x

         ESCRIBIR “Nota 2: “

         LEER y

         ESCRIBIR “Nota 3: “

         LEER z

FINAL

{calcular el promedio de notas}

FUNCION promedio (i tipo real, j tipo real, k tipo real)

INICIO

         VAR s tipo real

         s = (i + j + k)/3

         RETORNAR s

FINAL 

 

Ejemplo Nº 3

El jefe de proyecto le ha pedido que desarrolle una calculadora como aplicación de un sistema contable, esta calculadora deberá realizar solo las cuatro operaciones que son suma, resta, multiplicación y división. El procedimiento de la calculadora es como cualquiera deberá ingresar los valores de cálculo y el operador de la operación.

 

PLANTEAMIENTO DE LA SOLUCION DEL CASO

  1. Determinar los módulos de programación para este proyecto. Los módulos pueden ser: principal, ingreso, calculo y mostrar resultado.

    1. El modulo principal: es el ejecutor del proyecto, el cual llamará cada modulo de programación y además contendrá las variables de ámbito para los demás módulos.

    2. Modulo de ingreso: este modulo captura los datos por teclados y luego lo pasa ser calculados, además debe capturar el operador para realizar las operaciones.

    3. Modulo de cálculo: este modulo se encargara de procesar la operación de los datos que se han capturado desde el modulo de ingreso.

    4. Modulo de mostrar resultado: este modulo se encargará de mostrar el resultado de la operación realizada en el módulo de cálculo.

  2. Con este proyecto se desea obtener un resultado con los datos ingresados según la operación a realizar; pudiendo ser: suma, resta, multiplicación o división; para lo cual se deberá ingresar el dato1 y el dato2, además del operador.

  3. Realizar la operación según el tipo de operador se ha ingresado al programa.

    1. Si el operador es (+) suma: realizar la operación de suma. Resultado = dato1 + dato 2.

    2. Si el operador es (-) resta: realizar la operación de resta. Resultado = dato1 – dato 2.

    3. Si el operador es (*) multiplicación: realizar la operación de multiplicación. Resultado = dato1 * dato2.

    4. Si el operador es (/) división: realizar la operación de división. Resultado = dato1 / dato2.

  4. Finalmente mostrar el resultado de la operación en pantalla o en otro dispositivo de salida.

DEFINICIONES DEL PROYECTO

DEFINICIONES DE LOS MODULOS DEL PROYECTO

  1. Modulo principal del proyecto

  2. Modulo de ingreso de datos

  3. Modulo de cálculo de las operaciones

  4. Modulo de mostrar el resultado

DEFICIONES DE LAS VARIABLES DEL PROYECTO

  1. Dato1: Está es la primera variable que contendrá el dato que se va a ingresar y ser calculado. La variable es: VAR dato1 de tipo real. Por ser una variable que captura un número que puede ser entero o real.

  2. Dato2: Esta es la segunda variable que contendrá el dato que se va a ingresar y ser calculado. La variable es: VAR dato2 de tipo real. Por ser una variable que captura un número que puede ser entero o real.

  3. Operador: Esta es la variable que definirá el tipo de operador para realizar la operación de cálculo. La variables es: VAR operador de tipo carácter. Por ser una variable que captura el símbolo del operador.

  4. Resultado: Esta es la variable que contendrá el resultado de la operación dada entre los datos ingresados y el operador seleccionado. La variable es: VAR resultado de tipo real. Por ser una variable que podrá dar un resultado entero o un resultado real.

Nota: todas las variables son globales, porque su ámbito es en todo el proyecto de la calculadora, por lo tanto deberán ingresar a cada modulo para realizar la operaciones.

 

ALGORITMO DEL CASO

modelocaso

 

PSEUDOCODIGO DEL CASO

{Programa de calculadora}

INICIO {Definición del módulo principal}

         {Definición de los módulos del proyecto de sistema}

         MODULO ingreso

         MODULO calculo

         MODULO mostrar

         VAR dato1, dato2, resultado tipo real

         VAR operador tipo carácter

         {Llamar a los módulos}

         LLAMAR MODULO ingreso

         LLAMAR MODULO calculo

         LLAMAR MODULO mostrar

         MODULO ingreso

         INICIO

                   ESCRIBIR “ingrese primer dato: “

                   LEER dato1

                   ESCRIBIR “ingrese segundo dato: “

                   LEER dato2

                   ESCRIBIR “¿Qué operación desea realizar (+,-,*,/): “

                   LEER operador

         FINAL

         MODULO calculo

         INICIO

                   HACER SEGÚN operador

                            SEGÚN ‘+’

                                      resultado = dato1 + dato2

                            SEGÚN ‘-’

                                      resultado = dato1 - dato2

                            SEGÚN ‘*’

                                      resultado = dato1 * dato2

                            SEGÚN ‘/’

                                      resultado = dato1 / dato2

                   FIN_SEGUN

         FINAL

         MODULO mostrar

         INICIO

                   ESCRIBIR “El resultado es: “, resultado

         FINAL

FINAL