Sie sind auf Seite 1von 28

PERIODO ACADEMICO II - 2012 Documento elaborado por el Gonzlez Informacin Extractada de: Apuntes personales e Internet

CONCEPTUALIZACION UNIDAD 2 UNIDAD 2 : SEUDOCODIGO Objetivos


Ing.

Alvaro

Meja

ANLISIS

DEL

PROBLEMA

SECUENCIAL,

ALGORITMOS

Explicar los diferentes pasos que se consideran en el anlisis del problema secuencial e indicar la incidencia de stos en la solucin algortmica Establecer el concepto de variables y los tipos de variables que se emplean en programacin Definir el concepto de lgica de programacin Establecer el concepto de algoritmo y los tipos de algoritmos Emplear los diferentes pasos del anlisis para obtener la solucin algortmica de problemas que se ejecutan una sola vez

TEMTICA :
2.1 Variables : Qu son ? Tipos de variables : :numricas enteras y reales, alfanumricas 2.2 Aspectos a tener en cuenta en el anlisis del problema 2.3 Lgica de programacin : Lgica general de un programa, lgica especfica del procesamiento 2.4 Definicin de algoritmo 2.5 Tipos de Algoritmos : Descriptivo, Diagrama de flujo, seudocdigo y cdigo

2.6 Sentencias bsicas del seudocdigo. Forma como se escribe el seudocdigo 2.7 Ejercicios sobre anlisis del problema y definicin de la lgica del procesamiento 2.8 Ejercicios sobre seudocdigo de la solucin algortmica de problemas secuenciales DESARROLLO DE LA TEMATICA
2.1 Variables: Qu son? Tipos de variables: numricas enteras y reales, alfanumricas

En fsica se emplean expresiones matemticas como x=v*t Dnde x v t representa el espacio recorrido por un mvil, en metros representa la velocidad del mvil en metros / seg. representa el tiempo en segundos y se conocen como variables

Las letras x, v y t representan cantidades

En los problemas de programacin hay cantidades involucradas que pueden ser numricas y alfanumricas. Las cantidades numricas pueden ser valores enteros o valores reales.

Valores enteros como el conjunto de los nmeros naturales ( enteros positivos ) o el conjunto de los nmeros enteros negativos. Ejemplos de cantidades numricas enteras: El salario mensual de un operario de una empresa, las ventas mensuales de un vendedor, el salario mnimo, el valor de la retencin mensual, el numero de horas laboradas por mes en una empresa que no controla la entrada ni la salida de sus empleados, etc Son valores reales aquellos que estn conformados por una parte entera y una parte decimal ( el valor de pi (3.141546 )). Ejemplos de cantidades tipo real : la nota de una evaluacin, un porcentaje expresado como una fraccin de 1, la edad de una persona, el conjunto de los nmeros reales, una fraccin, etc.

Las cantidades alfanumricas pueden contener : Slo caracteres alfabticos como un nombre, un mensaje, etc. Slo caracteres numricos como el nmero de una cuenta bancaria, el cdigo de una artculo o el cdigo de una persona ante una institucin o empresa, el nmero de la cdula de ciudadana, el nmero de identificacin tributario, el nmero de una lnea telefnica, etc. Normalmente un cdigo adems de identificar una persona, un artculo o una cuenta bancaria, contienen informacin adicional. En el caso del cdigo de un estudiante de la UFPS, el primer dgito de la izquierda identifica el pensum ( 0 : pensum viejo, 1 : pensum nuevo ), los dos siguientes dgitos representan la carrera que cursa y el resto de dgitos es un consecutivo que define el nmero de estudiantes que han ingresado a dicho plan de estudio.

Ejemplo : El cdigo de la asignatura Programacin de Computadores es 1110103A-01. Este cdigo contiene la siguiente informacin : El primer dgito de la izquierda ( 1 ) representa el pensn nuevo, los siguientes dos dgitos ( 11 ) representa la carrera de Ingeniera Civil, los siguientes dos dgitos ( 01 ) representa el semestre de ubicacin de la asignatura (primer semestre de la carrera), los siguientes dos dgitos ( 03 ) es un consecutivo de la asignatura dentro del semestre ( la tercera asignatura del primer semestre ) y los ltimos dos dgitos ( 01 ) representa la seccional ( Ccuta )
Pensn Carrera ( Ingeniera ) Semestre Consecutivo de asignatura Dentro del semestre Primera : 01 Segunda : 02 Tercera : 03 Cuarta : 04 la Sede seccional Ccuta : 01 Tib : 03 o

Antiguo : Nuevo :

0 1

Electromecnica : 09 Minas : 10 Civil : 11 Mecnica : 12 Sistemas : 15 Electrnica : 16

Primer : 01 Segundo : 02 Tercero : 03 Cuarto : 04 Quinto : 05 Sexto : 06

Prod. Industrial : 19

Sptimo : 07 Octavo : 08 Noveno : 09 Dcimo : 10

Tenga en cuenta la siguiente norma : las cantidades que identifican personas u objetos se manipulan como alfanumricas, y toda cantidad involucrada que slo contiene dgitos numricos y que no interviene en clculo alguno, se manipula como alfanumrica, como por ejemplo el nmero que identifica una lnea telefnica o el # de la cdula de ciudadana de una persona o el # de una cuenta bancaria o el # de identificacin tributaria ( NIT ) o el cdigo que los identifica ante la Universidad o el cdigo de barras ( que en la prctica es una cadena de caracteres numricos ), etc Caracteres alfabticos y numricos como una direccin, el nmero de la placa de un vehculo, la marca de un vehculo, la especificacin de un aceite de motor para carros, el serial que identifica el chasis de un carro, el serial que identifica el motor de un carro, etc. Caracteres alfabticos y numricos y otros caracteres o smbolos como un cdigo de barra, una direccin electrnica, mensajes encriptados, los smbolos : +, *, /, - , &, %, $, # @ etc.

Qu es una variable?
En programacin una variable es un nombre corto que representa una cantidad involucrada en un problema. Toda variable tiene asociado un tipo de dato. El tipo de dato en el caso de cantidades numricas es : entero ( en Visual Basic : Byte, integer o long ) o real ( en Visual Basic : Single o Double ), y en el caso de cantidades alfanumricas el tipo es : cadena de caracteres o alfanumricas ( en Visual Basic : String ) En programacin se usa el trmino identificador para referirse a las variables o los nombres cortos Los programas se cargan y se ejecutan en la RAM. Cuando se ejecuta un programa que manipula cantidades, cada una de las variables usadas representa una direccin en la memoria en la cual se almacena el dato de la cantidad asociada a la variable. En la memoria RAM cada byte se identifica mediante una direccin. Toda la memoria RAM est direccionada. Hay dos reglas para establecer el nombre de las variables : Regla 1 : El primer carcter de toda variable debe ser un carcter alfabtico o debe ser el smbolo del subrayado ( _ ) ( algunos lo denominan PISO ) Regla 2 : El segundo y dems caracteres pueden ser caracteres alfabticos o caracteres numricos o el smbolo del subrayado Recomendaciones al establecer el nombre de los variables : Usar el menor nmero de caracteres. En Visual Basic una variable puede tener hasta 255 caracteres El nombre de la variable debe sugerir la cantidad que representa Escribir las variables en minscula, pues en el cdigo todas las rdenes o comandos se escriben en minscula. Visual Basic no distingue entre

minsculas y maysculas, por tanto al declarar variables en Visual, es mejor escribirlas en minsculas. Normalmente cuando se edita el nombre de una variable en mayscula, se bloquea la tecla de las maysculas, y si no se desbloquea, tambin se escriben los comandos de Visual en Mayscula. Visual Basic reconoce las rdenes ( comandos ) en minscula. Cuando las rdenes o comandos se escriben en mayscula, Visual Basic considera que son variables y seguramente visualizar un error ( variable no declarada, si se usa la opcin Option Explicit ). Esta orden Option Explicit obliga a declarar todas las variables que se usan en el programa Las palabras claves del lenguaje de programacin no se pueden usar como variables

Antes de hacer el anlisis del problema se debe establecer el listado descriptivo de variables Es un cuadro en el cual se especifica : Descripcin de la cantidad involucrada en el problema, el nombre corto que se usa para representar tal cantidad y el tipo de dato asociado a tal variable Cantidad involucrada Nombre del operario Sueldo mensual devengado Valor retencin mensual Salario neto devengado Salario mnimo mensual Porcentaje de retencin Variable nom_op sue_men val_ret sal_net sal_min pr Tipo de dato Cadena de caracteres Entero Entero Entero Entero entero

2.2 Aspectos a tener en cuenta en el anlisis del problema secuencial


El anlisis se relaciona directamente con las cuatro acciones CALCULAR Y VERIFICAR : LEER, MOSTRAR,

Mediante el anlisis se define la secuencia lgica de ejecucin de acciones o el ALGORITMO DE LA SOLUCION DEL PROBLEMA, teniendo en cuenta el esquema lgico general DEL ALGORITMO DE LA SOLUCION DE LOS PROBLEMAS SECUENCIALES : En el anlisis se debe responder los siguientes interrogantes Qu Qu Qu Qu se se se se lee? visualiza? calcula? verifica?

En el anlisis se considera los siguientes aspectos : Cules son los datos conocidos que se deben leer (Qu se lee? )

Se debe identificar las cantidades o datos conocidos a leer. Todo programa involucra un sujeto que es objeto del proceso; de tal sujeto se conoce algunos datos y corresponden a los datos conocidos. Los datos conocidos de dicho sujeto son los datos que se deben leer, y definen la ENTRADA DE DATOS del esquema lgico general de los programas secuenciales. Por lo anterior primero se identifica el sujeto que es objeto del proceso y por ende se est definiendo o identificando los datos a leer Hay algn o algunos datos conocidos que no son propios del sujeto objeto del proceso y por tanto no se leen, sino que se establecen como constantes al declarar las variables o se definen al inicio del proceso ( paso 2 del esquema lgico general ) Ejemplos de estos datos conocidos se tiene: El salario mnimo mensual vigente en Colombia, el da, el mes y el ao actual, el valor del punto en la UFPS, mediante el cual se define el sueldo de los docentes de planta ( Tiempo Completo y Medio Tiempo ), el valor de pi, etc Cules son los datos que representan los resultados (Qu se visualiza?) Se debe identificar las cantidades o datos que representan los datos a mostrar. Hay datos que se generan en el proceso, mediante clculos, y normalmente stos se deben visualizar Hay datos que se leen y se deben visualizar como el cdigo y el nombre de un artculo o de una persona Estos datos representan la SALIDA DE DATOS del esquema lgico general de los programas secuenciales. Cules son las condiciones involucrada en el problema (Qu se verifica?) Una condicin involucra una comparacin o verificacin, y sta involucra una expresin de comparacin. La comparacin puede ser Verdadera o Falsa Se debe identificar los datos a verificar segn las condiciones o restricciones del problema. Adems de identificar las condiciones, o los datos a verificar, se debe establecer el propsito de la verificacin. Toda verificacin tiene una finalidad o propsito; generalmente se verifica un dato para definir otro o para establecer expresiones de clculo Cuando existe ms de una condicin, se debe especificar en lo posible el orden de evaluacin de las verificaciones asociadas a las condiciones del problema Cules son los datos a calcular (Qu se calcula?)

Con base al enunciado del problema se debe identificar los datos a calcular. Normalmente en el enunciado se especifica en forma explcita que datos se calculan. Adems de identificar los datos a calcular, se debe establecer las expresiones de clculo de cada uno de cada una de las cantidades a calcular, y el orden de ejecucin de los diferentes clculos

Hay problemas tericos o hipotticos y problemas reales. Son tericos aquellos que se plantean en una asignatura tal como matemticas, fsica, programacin, y se cuenta con el enunciado que contiene toda la informacin necesaria para solucionarlo En los problemas reales de programacin lo nico que se conoce ltima instancia debe ejecutar el programa Ejemplo de un problema terico Dados los coeficientes de la ecuacin cuadrtica a X programa que calcule e indique :
2

es lo que en

+ b X + c = 0, elaborar un

Las races reales de la ecuacin cuadrtica, en el caso que las races sean reales El valor numrico de la parte real y el valor numrico de la parte imaginaria de las races imaginarias, en el caso que las races sean imaginarias

Adems, se debe indicar los siguientes mensajes : Si las races son REALES RAICES REALES PRIMERA RAIZ REAL SEGUNDA RAIZ REAL Si las races son IMAGINARIAS RAICES IMAGINARIAS PARTE REAL DE LA RAIZ IMAGINARIA PARTE IMAGINARIA DE LA RAIZ IMAGINARIA Ejemplo de un problema real La EPS Todo Salud necesita un programa que asigne citas de consulta externa a sus usuarios en forma telefnica o por medio de la pgina Web de tal EPS En este caso no se cuenta con el enunciado del problema, lo nico que se conoce es el propsito del programa. La persona o el equipo contratado para elaborar dicho programa primero debe establecer el enunciado del problema, indagando en la empresa la informacin necesaria para poder asignar citas y los procesos que se emplean para asignacin de tales citas. Desde el punto de vista de los pasos de la lgica general de un programa secuencial PASOS 1. Entrada de Datos : la accin relacionada con este primer paso es la de LEER Se debe identificar primero cual es el sujeto objeto del proceso o que es lo que se va a procesar : una persona o un artculo o una empresa.

Cuando se procesa una persona, se conoce ciertos datos de esta y tales datos son los que se deben leer. Si es un artculo, el enunciado establece cuales son los datos que se conocen del mismo, y son los datos a leer. En el caso del primer ejemplo visto en clase se LEIA el cdigo de barra de un artculo Qu se lee?

Pues lo que se conoce del sujeto a procesar

Normalmente se procesa algo que puede ser una persona o un artculo o un objeto, y de ese ente que se va a procesar se conoce algunos datos. Esos datos conocidos son los que se deben LEER 2. Proceso o procesamiento : Las acciones relacionadas con el procesamiento son las de CALCULAR y VERIFICAR En el enunciado del problema se especifica las cantidades a calcular, si hay clculos. Tambin estn involucradas las condiciones del problema. Toda condicin involucra una comparacin o verificacin Adems de identificar las cantidades a calcular se debe escribir o establecer las expresiones de calculo y el orden de ejecucin de las mismas. Ese orden define toda o parte de la lgica del procesamiento Se debe establecer o identificar cuales son los datos a verificar. Toda verificacin tiene un propsito; cuando se verifica un dato se define uno o ms datos ya sea mediante un clculo o una asignacin. Si hay ms de una verificacin o condicin establecer en lo posible el orden de evaluacin de las verificaciones 3. Salida de datos : La accin relacionada con este paso de la secuencia lgica es MOSTRAR o VISUALIZAR o INDICAR Son cuatro los aspectos a considerar en el anlisis: Primer aspecto Identificar los DATOS CONOCIDOS : Con base a la lectura y compresin del enunciado, se debe establecer cules son los datos conocidos o datos a partir de los cuales se resuelve el problema ( Datos que se conocen del sujeto objeto del proceso) . Estos datos son los datos que se incorporan al programa o los datos que se deben leer y definen el primer paso de la lgica general de un programa secuencial. Normalmente se procesa la informacin de una persona o un artculo y se debe establecer qu datos se conocen del objeto a procesar ( persona, artculo u otra entidad ) Los datos conocidos ( o sea los del sujeto objeto del proceso ) son los datos que se LEEN, y corresponde a la ENTRADA DE DATOS. Hay otros datos que se conocen como el salario mnimo que no es un dato propio del sujeto objeto del proceso pero que se deben incorporan o se definen como una constante. El Salario Mnimo es un dato que fija el gobierno al final de cada ao, es un dato de referencia

Segundo aspecto Identificar los DATOS A MOSTRAR : Representan los resultados del proceso o la solucin del problema. Estos datos representan la salida de datos del esquema secuencial. Hay algunos datos que no se averiguan o calculan en el proceso y que se deben mostrar como el nombre de una persona, el cdigo o el documento que lo identifica Los datos a mostrar definen la SALIDA DE DATOS Tercer aspecto Identificar los DATOS A VERIFICAR O LAS CONDICIONES DEL PROBLEMA: Cuando en el enunciado hay involucradas condiciones, stas estn asociadas a comparaciones o verificaciones. Identificadas las condiciones se establecen las correspondientes expresiones de verificacin o en su defecto se define el dato que se verifica y la finalidad de la verificacin de tal dato. En lo posible se debe establece cual es el orden de evaluacin de las diferentes expresiones de verificacin, cuando hay ms de una comparacin o verificacin Las comparaciones o verificaciones se ejecutan en el Proceso o Procesamiento : Accin Verificar o Comparar Cuarto aspecto Identificar los DATOS A CALCULAR : Se debe identificar, con base al enunciado, cules datos se deben calcular; adems se debe establecer la expresin de clculo de cada uno de ellos. Tambin es indispensable definir el orden de ejecucin de los diferentes clculos cuando exista ms de un dato a calcular. Este orden define parte de la secuencia lgica del procesamiento Los clculos se ejecutan en el Proceso o Procesamiento : Accin calcular Mediante el anlisis se va bosquejando mentalmente el algoritmo de la solucin del problema teniendo en cuenta el esquema :

Entrada de datos ( accin de leer ; se lee los datos conocidos) Procesamiento de los datos ledos ( accin de calcular y / o
verificar )

Salida de datos ( accin de mostrar; se visualiza los resultados )

Ejemplo de Anlisis del problema de la ecuacin cuadrtica


Enunciado del problema de la ecuacin cuadrtica:

Dados los coeficientes de la ecuacin cuadrtica a X anlisis del problema para calcular e indicar:

+ b X + c = 0, escribir el

Las races reales de la ecuacin cuadrtica, en el caso que las races sean reales

El valor numrico de la parte real y el valor numrico de la parte imaginaria de las races imaginarias, en el caso que las races sean imaginarias

Adems, se debe indicar los siguientes mensajes : Si las races son REALES RAICES REALES PRIMERA RAIZ REAL SEGUNDA RAIZ REAL Si las races son IMAGINARIAS RAICES IMAGINARIAS PARTE REAL DE LA RAIZ IMAGINARIA PARTE IMAGINARIA DE LA RAIZ IMAGINARIA

Para establecer o escribir el Anlisis de este problema, primero se debe escribir el listado descriptivo de las variables a manipular en el problema En que consiste el listado? Es una tabla de tres columnas y varias filas. En la primera columna se describe cada una de las cantidades involucradas en el enunciado del problema, en la segunda columna se escribe el nombre corto ( la variable ) correspondiente de cada una de las cantidades involucradas, y en la tercera columna se especifica el tipo de dato correspondiente de cada una de las cantidades involucradas

Listado descriptivo de variables del problema de la ecuacin cuadrtica Una vez ledo y entendido el enunciado del problema, se establece el listado descriptivo de variables del problema Para este problema se tiene el siguiente listado Cantidad Involucrada Variable Tipo de dato en seudocodigo real real real real Cadena de caractres real Tipo de Dato en Visual Basic Single Single Single Single string Single x1, x2

Coeficientes de la ecuacin cuadrtica Races reales de la ecuacin cuadrtica Valor numrico de la parte real de las races imaginarias Valor numrico de la parte imaginaria de las races imaginarias Mensajes asociados a las races reales o las races imaginarias Variables auxiliares o transitorias para manipular las races reales o la parte real y la parte imaginarias de las races imaginarias. Se usan para ejecutar una salida nica de resultados Anlisis del problema:

a, b, c r1, r2 prri piri m1, m2, m3

Sujeto objeto del proceso: Una ecuacin cuadrtica De este sujeto se conoce los coeficientes Datos conocidos o datos a leer: a, b, c

Datos a mostrar o indicar o que representan los resultados: Si las races son reales : m1, m2, m3, r1, r2 Si las races son imaginarias : m1, m2, m3, prri, piri Como se debe ejecutar una salida nica de datos, se emplean las variables transitorias x1, x2. Cuando las races son reales, x1 y x2 representan respectivamente la primera y segunda raz real. Cuando las races son imaginarias, x1 y x2 representan respectivamente el valor numrico de la parte real y el valor numrico de la parte imaginaria de las races imaginarias Por tanto los datos a mostrar son : m1, m2, m3, x1, x2

Datos a calcular : Si las races son reales : r1, r2 Expresiones de clculo : r1 = ( - b + ( b2 4ac ) ) / ( 2a ) r2 = ( - b - ( b2 4ac ) ) / ( 2a ) Si las races son imaginarias : prri, piri Expresiones de clculo : prri = -b / ( 2a ) piri = (-( b2 4ac ) ) / ( 2a )

Datos a verificar o condiciones del problema Condicin de raz real : Para que las races sean reales, la cantidad subradical ( b2 4ac )debe ser positiva o igual a cero Expresin de verificacin : b2 4ac > = 0

Se verifica si la cantidad subradical ( b2 4ac ) es mayor o igual a cero para definir si las races de la ecuacin cuadrtrica son reales o imaginarias, desde el punto de vista de raz real Condicin de raz imaginaria : Para que las races sean imaginarias, la cantidad subradical debe ser negativa Expresin de verificacin : b2 4ac < 0

Se verifica si la cantidad subradical ( b2 4ac ) es menor que cero para definir si las races de la ecuacin cuadrtrica son reales o imaginarias, desde el punto de vista de raz imaginaria

Con base al anlisis del problema se establece el algoritmo de la solucin del problema; la manera o forma ms sencilla de escribir ste es el algoritmo descriptivo donde en cada paso se escribe la accin y la variable involucrada Algoritmo descriptivo del problema de la ecuacin cuadrtica 1.Leer a, b, c ( Datos conocidos del sujeto que es objeto del proceso) 2. Procesar Verificar si la raz es real ( verificar si la cantidad subradical b2 4ac es >= 0 ) Si_V : Calcular r1, r2 Definir X1, X2 Definir m1, m2, m3 Calcular prri, piri Definir X1, X2 Definir m1, m2, m3 3. Mostrar X1, X2, m1, m2, m3

Si_F:

2.3 Lgica de programacin : Lgica general del programa secuencial, lgica especfica
del procesamiento

Qu es lgica?
Desde el punto de vista del quehacer diario de una persona,

lgica es la forma

ms obvia y sencilla de ejecutar algo lgica es la secuencia ordenada de ejecucin de acciones para obtener uno o varios resultados, a partir de unos datos iniciales o conocidos
Desde el punto de vista de programacin, Desde el punto de vista de programacin, hay : una lgica general del programa y otra relacionada con el procesamiento ( lgica del procesamiento )

La lgica general corresponde al esquema :

Entrada de datos ( accin de leer ) Procesamiento de los datos ledos ( accin de calcular y / o verificar ) Salida de datos ( accin de mostrar )

La lgica del procesamiento se define de la siguiente manera : En problemas donde nicamente hay clculos, la lgica del procesamiento corresponde al orden de ejecucin de los diferentes clculos

En problemas donde nicamente hay verificaciones, la lgica del procesamiento corresponde al orden de evaluacin de las verificaciones En problemas donde hay varios clculos y pocas verificaciones, la lgica del procesamiento se obtiene integrando las verificaciones al orden de ejecucin de los clculos. Tambin hay problemas donde los clculos estn supeditados a una verificacin, y por tanto primero se verifica y dependiendo del resultado de la verificacin ( si es Verdadero o Falso ) se ejecutan determinados clculos

NO HAY UN PATRON A SEGUIR PARA ESTABLECER O DEFINIR ESTA LOGICA. LA LOGICA DEL PROCESAMIENTO CAMBIA DE UN PROBLEMA A OTRO
2.4 Definicin de algoritmo
Algoritmo es la secuencia ordenada o lgica de ejecucin de acciones ( leer, calcular, verifica, mostrar ) para obtener uno o varios resultados, a partir de unos datos iniciales o datos conocidos

2.5 Tipos de Algoritmos : Descriptivo, Diagrama de flujo, seudocdigo y cdigo


Segn la manera como se escriben los algoritmos, se tienen los siguientes tipos: Algoritmo descriptivo Diagrama de Flujo Seudocdigo de la solucin del problema Cdigo de la solucin del problema

ALGORITMO DESCRIPTIVO

: Es la secuencia lgica de ejecucin de acciones, que menciona o refiere en cada paso de la secuencia la accin y las variables o cantidades involucradas en tal accin

DIAGRAMA DE FLUJO :

El Algoritmo se plasma usando smbolos bsicos que representan las acciones y smbolos secundarios que complementan el diagrama. En el diagrama se esquematiza la secuencia lgica de acciones usando smbolos

SEUDOCDIGO DE LA SOLUCIN DEL PROBLEMA

: El seudocdigo emplea un lenguaje imaginario con verbos y expresiones que representan las acciones que un computador ejecuta mediante un programa. El seudo cdigo usa un limitado conjunto de sentencias para escribir la secuencia lgica de ejecucin de acciones

CDIGO DE LA SOLUCIN DEL PROBLEMA

: El cdigo se escribe usando los comandos u rdenes de un lenguaje de programacin de alto nivel

EJEMPLO DE ALGORITMO DESCRIPTIVO DE UN PROBLEMA Con base al anlisis del problema de la ecuacin cuadrtica, el a lgoritmo descriptivo de la

solucin de este problema es:

1. Leer a, b, c 2. Procesar 2.1 Verificar la condicin de raz real Si ( b2 4ac > = 0 ) Si _CIERTO : Calcular r1, r2 Definir x1, x2 Definir m1, m2, m3 Si _ FALSO : Calcular prri, piri Definir x1, x2 Definir m1, m2, m3 3. Mostrar m1, m2, m3, x1, x2
El verbo definir est relacionado con la sentencia de asignacin; la asignacin en s se usa cuando a una variable se le asigna el contenido de otra variable o se le asigna un dato numrico o un dato cadena de caracteres (alfanumrica) o se le asigna el resultado de una expresin de clculo El esquema como se emplea la sentencia de asignacin es :

DIAGRAMA DE FLUJO El diagrama de flujo emplea smbolos bsicos y smbolos secundarios o auxiliares Smbolos bsicos

Smbolo general de Entrada / Salida de datos Sirve para establecer la entrada de datos o la salida de datos. Dentro del smbolo se escribe las variables que representan los datos a leer o los datos a mostrar. Para diferenciar si es una entrada o salida se emplea el smbolo de comentario que es un smbolo auxiliar

Rombo de decisin : se usa para establecer las comparaciones o verificaciones

Smbolo de proceso Es un cuadrado o un rectngulo dentro del cual se escriben las expresiones de clculo y las de asignacin

Smbolos secundarios Smbolo de Inicio / Fin del programa

Smbolo de lnea de flujo Las lneas de flujo unen todos los smbolos y tiene una flecha que indica el sentido de ejecucin del programa. Pueden trazarse horizontal y verticalmente

Smbolo conector de lneas de flujo : se usa cuando varias lneas de flujo deben llegar a un smbolo en particular; en este caso las varias lneas llegan al conector y de este sale una sola lnea de flujo

Diagrama de flujo del algoritmo de la solucin del problema de la ecuacin cuadrtica

2.6 SENTENCIAS BSICAS DEL SEUDOCDIGO


Se emplean las siguientes sentencias : Sentencia Inicio Fin De entrada de datos De salida de Datos Sentencia de asignacin Significado Establece dnde empieza el programa Establece dnde finaliza el programa Mediante el verbo Leer se incorpora los datos conocidos Mediante los verbos mostrar o indicar se visualiza los resultados del proceso Se usa para especificar los clculos Tambin se usa para establecer el contenido de variables que no se calculan Se emplea para verificar datos Se usa para verificar la igualdad

Sentencia si condicional Sentencia caso o de seleccin

En el desarrollo de la primera unidad se describi cada una de estas sentencias Mediante la sentencia de asignacin se establece las expresiones de clculo

r1 = ( - b + ( b2 4ac ))/(2a) r2 = ( - b - ( b2 4ac ))/(2a)

La sentencia si condicional sencilla se usa para verificar o comparar datos

Forma como se escribe Si ( condicin ) Si_V : sent_1 Si_F : sent_2 Fin_si Donde condicin es la expresin de comparacin o de verificacin Una comparacin o verificacin puede ser TRUE ( Verdadera ) o FALSE ( Falsa ) Si la condicin es TRUE (VERDADERA), se ejecuta la sentencia_1 ( sent_1) Si la condicin es FALSE (FALSA), se ejecuta la sentencia_2 ( sent_2)

Sentencia si condicional anidado


Forma como se escribe

Si ( cond_1 ) Si_V : si (cond_2 ) Si_V :sent_1 Si_F Fin_si Si_V : si(cond_3) Si_V :sent_3 Si_F Fin_si Fin_si
Dnde Cond_1 es una expresin de comparacin Cond_2 es una expresin de comparacin Cond_3 es una expresin de comparacin Cmo se interpreta el si condicional anidado? Si la cond_1 es TRUE( Verdadera ), se verifica la cond_2, y si sta es Verdadera, se ejecuta sent_1 y si es falsa se ejecuta sent_2. Si la cond_1 es FALSE( Falsa ), se verifica la cond_3, y si sta es Verdadera, se ejecuta sent_3 y si es falsa se ejecuta sent_4. Condicin es una expresin de comparacin :

:sent_2

:sent_4

a>b

Las cantidades o variables

RELACIONAL

a y b se relacionan entre s mediante un OPERADOR

Operadores relacionales : Mayor que ( > ) ; menor que ( < ) ; mayor o igual que ( >= ) ; menor o igual que ( <= ); igual que ( = ) ; diferente de ( <> ) La expresin de comparacin a > b en la cual solo se compara dos variables o cantidades y que involucra un operador relacional se denomina : EXPRESION RELACION Una expresin relacional es una comparacin sencilla Dos comparaciones sencillas o el operador O El operador

a = b ; b = c se relacional entre s mediante el operador Y

se conoce como el operador de la

CONJUNCIN y es un OPERADOR

LOGICO
El operador de la Conjuncin se emplea cuando se debe cumplir dos o ms comparaciones sencillas al mismo tiempo Si a, b y c representaran la magnitud de los lados de un tringulo, mediante la expresin de comparacin

a=b

Y b=c Y a=c

se verifica si es un

TRINGULO EQUILATERO.

EL TRIANGULO EQUILTERO TIENE TODOS SUS LADOS IGUALES


El operador O es el operador lgico de la cumplir una de las comparaciones.

DISYUNCION;

ste se usa cuando se debe

Tal situacin se presenta cuando se desea verificar el cualquiera de sus lados son iguales, que pueden ser a Entonces mediante la expresin de verificacin

TRINGULO ISSCELES ( dos y b o b y c o a y c ).

a=b O b=c O a=c, se verifica si el TRINGULO ES ISSCELES. EL OPERADOR DE LA DISYUNCION REPRESENTA MEDIANTE LA LETRA O
Otro operador lgico es el OPERADOR DE LA cambia el valor de verdad de una comparacin. El valor de

EN

SEUDOCODIGO

SE

NEGACIN; mediante este operador se

verdad de una comparacin o verificacin puede ser

TRUE

( Verdadero )

FALSE ( Falso )
El operador de la negacin en seudocdigo se representa mediante el smbolo : ~ Cuando se niega una verificacin que es Cuando se niega una verificacin que es

TRUE, el valor de verdad pasa a FALSE FALSE, el valor de verdad pasa a TRUE

Las expresiones de verificacin que involucran un operador lgico se denominan :

EXPRESION LOGICA TABLA DE LA VERDAD DE LOS OPERADORES LGICOS


TABLA DEL OPERADOR DE LA CONJUNCION Expresin de verificacin : a=b Y b=c

Cada expresin sencilla tiene dos estados de verdad : TRUE o FALSE En la expresin a = b Y b = c hay cuatro estados de verdad a=b TRUE TRUE FALSE FALSE b=c TRUE FALSE TRUE FALSE a=b Y b=c TRUE FALSE FALSE FALSE 2
n

El # de estados de verdad se calcula mediante la expresin :


Donde : .

2 representa los dos estados de verdad ( TRUE y FALSE ) n representa el nmero de comparaciones sencillas o expresiones

relacionales
De la anterior tabla de la verdad se nota que :

a=b Y b=c son TRUE a=b Y b=c


De la verificacin :

es TRUE ( verdadero ) solamente si las dos comparaciones es FALSE ( Falso ) si una o ambas comparaciones son FALSE

Si ( a = b Y b = c

) se concluye

Si_V : Se puede afirmar que las dos verificaciones son TRUE Si_F : No se puede afirmar qu se cumple pues hay tres posibles estados por la salida falsa Fin_si TABLA DEL OPERADOR DE LA DISYUNCION Expresin de verificacin : a=b O b=c

Cada expresin sencilla tiene dos estados de verdad : TRUE o FALSE En la expresin a = b O b = c hay cuatro estados de verdad a=b TRUE TRUE FALSE b=c TRUE FALSE TRUE a=b O b=c TRUE TRUE TRUE

FALSE

FALSE

FALSE

Este operador se usa cuando se desea verificar si una de las comparaciones sencillas es TRUE Cuando una de las verificaciones es TRUE, la expresin lgica es TRUE De la anterior tabla de la verdad se nota que :

a = b O b = c TRUE a=b O b=c


De la verificacin : Si ( a = b O b = c

es TRUE ( verdadero ) si una de las comparaciones es es FALSE ( Falso ) si las dos comparaciones son FALSE

) se concluye

Si_V : No se puede afirmar qu se cumple pues hay tres posibles estados Si_F : Se puede afirmar que las dos verificaciones son FALSE Fin_si

TABLA DEL OPERADOR DE LA NEGACION Expresin de verificacin : ~(a=b )

Cada expresin sencilla tiene dos estados de verdad : TRUE o FALSE En la expresin ~ ( a = b ) solo hay dos estado de verdad a=b TRUE FALSE ~(a=b ) FALSE TRUE

Este operador se usa para cambiar el valor de verdad de una comparacin sencilla o de una comparacin mltiple ( Expresin Lgica )

SENTENCIA CASO O DE SELECCIN


Se usa para verificar la igualdad. El tipo de dato de la variable que se verifica mediante esta sentencia debe ser entero o cadena de caracteres Forma como se escribe :

Seleccionar segn nom_var Caso 1 : Caso 2 : Caso 3 : Caso 4 : Caso 5 : sent_1 sent_2 sent_3 sent_4 sent_5

Caso n :

sent_n

Fin_seleccionar_nom_var
Donde nom_var es el nombre de la variable que se verifica, n son los datos numricos que manipula la variable y los valores 1, 2, 3, 4, 5, . ,

La variable de la sentencia seleccionar no puede ser real, pues hay valores reales que no tienen representacin exacta en binaria por tanto se manipula un dato aproximado Ejemplo de datos reales que tienen representacin exacta en binario

( 15.75 )
1 8

10

=
1 2

(1111.11)
1 1 . 1 .50

32

16

1 4
10

1 .25

.125

.0625

.03125

0,015625

0,0078125

( 20.625)
32 1 16 0 8

=
0 2

(10100.101) 2
0 1 . 1 .50 0 .25 1 .125 .0625 .03125 0,015625 0,0078125

1 4

Ejemplo de datos reales que no tienen representacin exacta en binario

( 28.68)
32 1 16 1 8

10

=
1 4 0 2

(11100.1010111)
0 1 . 1 .50 0 .25 1 .125 0 .0625

1 .03125

1 0,015625

1 0,0078125

( 37.77)
1 32 0 16 0 8

10

=
1 4 0 2

(100101.1100010)
1 1 . 1 .50 1 .25 0 .125 0 .0625

0 .03125

1 0,015625

0 0,0078125

2.7 y 2.8 Ejercicios sobre anlisis del problema, definicin de la lgica del procesamiento. Algoritmo descriptivo y Seudocdigo
A continuacin se analiza un problema Enunciado del Problema Con base a la siguiente informacin de un estudiante con relacin a una asignatura cursada : cdigo del estudiante, nombre del estudiante, nota del primer parcial, nota del segundo parcial, notas de los 4 quices presentados y nota del examen final, hacer el listado de variables, escribir el anlisis del problema y escribir el algoritmo

de la solucin para calcular e indicar la tercera nota parcial y la nota definitiva . La tercera nota parcial es el promedio de los quices, y para obtener la nota definitiva, las tres notas parciales conforman el 70 % de la nota definitiva y la nota del exmen final corresponde al 30% de sta. Se debe indicar adems el cdigo y nombre del estudiante, la primera, segunda y tercera nota parcial, la nota del exmen final y uno de los siguientes letreros : UD APROBO EXCELENTEMENTE LA ASIGNATURA CURSADA , si la nota definitiva es >= 4.0; UD APROBO LA ASIGNATURA CURSADA , si la nota definitiva es >= 3.0 y < 4.0; UD PUEDE HABILITAR LA ASIGNATURA CURSADA , si la nota definitiva es >= 2.0 y < 3.0; UD REPROBO LA ASIGNATURA CURSADA , si la nota definitiva es < 2.0 . Listado descriptivo de variables Cantidad involucrada Cdigo del estudiante Nombre del estudiante Nota primer parcial Nota segundo parcial Nota tercer parcial Notas de los 4 quices Nota exmen final Nota definitiva Mensaje a mostrar Anlisis del problema Se procesa la informacin de un estudiante Datos conocidos del estudiante q4, ex_fin : cod_est, nom_est, npp, nsp, q1, q2, q3, Variable cod_est nom_est npp nsp ntp q1, q2, q3, q4 ex_fin not_def msj Tipo de dato Cadena de caracteres Cadena de caracteres real real Real Real Real Real Cadena de Caracteres

Datos a mostrar : cod_est, nom_est, npp, nsp, ntp, ex_fin, not_def, msj Datos a calcular : ntp, not_def Expresiones y orden de clculo : 1. 2. ntp = ( q1 + q2 + q3 + q4 ) / 4 not_def = ( npp + nsp + ntp ) / 3 * 0.7 + ex_fin * 0.3

Datos a verificar : not_def Se verifica not_def para definir el contenido del mensaje ( msj )

Algoritmo descriptivo de la solucin del problema


1. Leer cod_est, nom_est, npp, nsp, q1, q2, q3, q4, ex_fin 2. Procesar 2.1 Calcular ntp

2.2 Calcular not_def 2.3 Verificar not_def para definir msj


3.

Mostrar msj

cod_est, nom_est, npp, nsp, ntp, ex_fin, not_def,

SEUDOCDIGO DEL ALGORITMO DE LA SOLUCIN DEL PROBLEMA


Inicio Leer cod_est, nom_est, npp, nsp, q1, q2, q3, q4, ex_fin ntp = ( q1 + q2 + q3 + q4 ) / 4 not_def = ( npp + nsp + ntp ) / 3 * 0.7 + ex_fin * 0.3 si (not_def > = 4 ) si_V : msj= UD APROBO EXCELENTEMENTE LA ASIGNATURA CURSADA si_F : si (not_def > = 3 ) si_V : msj= UD APROBO LA ASIGNATURA CURSADA si_F : si (not_def > = 2 ) si_V : msj = UD PUEDE HABILITAR LA ASIGNATURA

CURSADA
si_F : msj = UD REPROBO LA ASIGNATURA CURSADA

fin_si fin_si fin_si Mostrar cod_est, nom_est, npp, nsp, ntp, ex_fin, not_def, msj Fin

Enunciados de algunos problemas


Problema 1.
Dada la siguiente informacin de un estudiante del primer semestre de Ingeniera de Sistemas de la UFPS : cdigo, nombre, notas definitivas de cada una de las 5 asignaturas que curs, nmero de crditos de cada una de las 5 asignaturas cursadas, elaborar el listado descriptivo de variables, hacer el anlisis, escribir el algoritmo descriptivo y escribir el seudocdigo , para calcular e indicar el promedio semestral. Se debe indicar adems el cdigo, el nombre y uno de los siguientes letreros dependiendo de tal promedio

Si promedio semestral es < 1 < 2 < 3 < 4 < 4.5 <= 5

Letrero RENDIMIENTO PESIMO RENDIMIENTO BAJO RENDIMIENTO MALO RENDIMIENTO ACEPTABLE RENDIMIENTO BUENO RENDIMIENTO EXCELENTE

Problema 2.
Dado el cdigo, el nombre, el sueldo bsico mensual y el valor de las ventas mensuales de un vendedor de una empresa de productos de consumo masivo, hacer el listado de variables, el anlisis del problema y el seudocdigo o cdigo en C, para calcular e indicar el valor de la comisin, el sueldo total mensual, el valor de la retencin mensual, el aporte por salud que realiza el empleado, el aporte por salud que realiza la empresa , el aporte por pensin que realiza el empleado, el aporte por pensin que realiza la empresa, y el salario neto. Se debe indicar adems el cdigo y el nombre del vendedor. Tanto en salud como en pensin el empleado aporta una parte y la empresa aporta otra parte : el aporte por salud es el 9% del sueldo total mensual del vendedor, de los cuales el empleado aporta el 25 % y la empresa aporta el 75 %; el aporte por pensin es el 12 % del sueldo total mensual del vendedor, de los cuales el empleado aporta el tercera parte y la empresa aporta el resto. La comisin se calcula con base a : si ventas mensuales <= 10 6 , la comisin es el 5% de las ventas mensuales; si ventas mensuales <= 2*10 6 , la comisin es el 8% de las ventas mensuales; si ventas mensuales <= 3*106 , la comisin es el 10% de las ventas mensuales; si ventas mensuales <= 4*10 6 , la comisin es el 12% de las ventas mensuales; si ventas mensuales > 4*10 6 , la comisin es el 14% de las ventas mensuales; El valor de la retencin mensual se obtiene con base a las siguientes condiciones : si el salario total mensual <= Sal_mn, el % de retencin es cero; si el salario total mensual <= 2* Sal_mn, el % de retencin es cuatro; si el salario total mensual <= 3*Sal_mn, el % de retencin es seis; si el salario total mensual > 3*Sal_mn, el % de retencin es ocho. El valor de la retencin se calcula medianamente la expresin salario total mensual *% retencin /100. El salario total es el sueldo bsico mensual ms la comisin El salario mnimo es un dato de referencia que fija el gobierno por decreto al final del ao. Actualmente es de $ 536500

Problema 3.
Dada la siguiente informacin de un operario de una fbrica de Cemento : cdigo, nombre, salario devengado por hora diurna de da normal, tipo de turno, tipo de da laborado, y el nmero de horas laboradas en una jornada, hacer el listado descriptivo de variables, hacer el anlisis del problema, escribir el algoritmo de la solucin y escribir el seudocdigo, para calcular e indicar el jornal o salario diario

devengado, el salario devengado por hora en cualquier condicin de turno y da laborado por el operario. Se debe indicar adems el cdigo y el nombre El tipo de turno es uno o dos( valor numrico ) ; uno significa diurno, dos significa nocturno. El tipo de da laborado es uno o dos ( valor numrico ); uno significa da normal, dos significa da festivo. Si el operario trabaja en turno nocturno de da normal, el salario devengado por hora es un 100 % adicional del devengado en el turno diurno de da normal. Si el tipo de da laborado es festivo hay un recargo en el turno diurno y en el turno nocturno, este recargo en el turno diurno es del 150 % adicional del devengado por hora diurna de da normal; y el recargo en el turno nocturno es el 250 % adicional del devengado por hora diurna de da normal. Jornada : es un da de trabajo

Problema 4.
Dada la siguiente informacin de un profesor catedrtico universitario : cdigo del profesor, nombre del profesor, nmero de horas dictadas durante el semestre y categora en el escalafn docente, hacer el listado de variables, el anlisis del problema, escribir el algoritmo descriptivo y escribir el seudocdigo, para calcular e indicar el valor del punto, el valor de la hora, el sueldo devengado durante el semestre, el valor semestral de la retencin y el sueldo neto devengado durante el semestre. La categora es un valor numrico que puede ser 1, o 2, o 3 o 4. El valor de la hora depende de la categora del profesor: Dicho valor se calcula con base al puntaje asignado por hora dictada; y corresponde al producto del puntaje por hora dictada por el valor del punto, segn la siguiente tabla. Categora en el escalafn docente Nombre de la Categora Puntaje por hora dictada % para calcular el valor del punto

1 2 3 4

PROFESOR AUXILIAR PROFESOR AGREGADO PROFESOR ASOCIADO PROFESOR TITULAR

2 3.5 5 7

0,9 1,2 1,5 2

El valor del punto es una fraccin ( ver en la tabla el % para calcular el valor del punto ) del salario mnimo segn la tabla anterior. Si la categora es 1, el valor del punto es el 0.9 % del salario mnimo El valor de la retencin se obtiene con base a la siguiente tabla : Si Salario o sueldo semestral <= salario mnimo <= 1.5 salario mnimo <= 2 salario mnimo <= 2.5 salario mnimo % de retencin 0 3 5 7

Si Salario o sueldo semestral <= 3 salario mnimo <= 5 salario mnimo > 5 salario mnimo

% de retencin 8 10 12

siendo sta una parte o fraccin ( un determinado % que da la tabla ) del salario semestral Se debe indicar el cdigo, el nombre y un mensaje categora El salario mnimo es un dato que el gobierno fija actualmente es de $ 515000 que indique el nombre de la anualmente por decreto y

Problema 5.
Dada la magnitud o longitud de tres segmentos de rectas, elaborar el listado descriptivo de variables, hacer el anlisis, escribir el algoritmo descriptivo y escribir el seudocdigo, para averiguar e indicar uno de los siguientes mensajes : NO SE FORMA TRIANGULO SE FORMA TRIANGULO EQUILATERO SE FORMA TRIANGULO ISOCELES RECTANGULO SE FORMA TRIANGULO ISOCELES NO RECTANGULO SE FORMA TRIANGULO ESCALENO RECTANGULO SE FORMA TRIANGULO ESCALENO NO RECTANGULO

Problema 6
Una Universidad pblica admite aspirantes a los diferentes programas de Ingeniera con base al puntaje obtenido en el exmen de estado o prueba icfes. Dada la siguiente informacin de un aspirante a un programa de Ingeniera : nombre, documento de identidad, puntaje obtenido en la prueba Icfes, indicador de la carrera inscrita, e ingresos anuales de su grupo familiar, establecer el listado descriptivo de variables, hacer el anlisis y el seudocdigo o cdigo en C, para averiguar e indicar si fu admitido en la carrera inscrita y el valor de la matrcula a cancelar. Si no es admitido el valor a cancelar es cero El valor de la matrcula depende de los ingresos anuales del grupo familiar y la tabla que emplea la Universidad para tal fin. El ingreso a un determinado plan de estudio depende del puntaje obtenido y la tabla de referencia que emplea la Universidad para tal fin. Dichas tabla se referencian a continuacin Ingreso anual familiar Valor matrcula Indicador de carrera 1 <= 4*106 <= 8*106 0.5 Salario mnimo 1 Salario mnimo 2 3 Carrera Ingeniera de Minas Ingeniera Mecnica Ingeniera Produccin Industrial Puntaje de admisin >= 50 >= 52 >= 54

Ingreso anual familiar <= 10*106 <= 15*106 <= 20*106 > 20*106

Valor matrcula 1.5 Salarios mnimos 2 Salarios mnimos 2.5 Salarios mnimos 3 Salarios mnimos

Indicador de carrera 4 5 6 7

Carrera Ingeniera Civil Ingeniera Electromecnica Ingeniera Electrnica Ingeniera de Sistemas

Puntaje de admisin >= 56 >= 58 >= 60 >= 62

La condicin de admisin o no admisin se especifica mediante los letreros : FUE ADMITIDO A INGENIERIA .......carrera inscrita..................... o NO FUE ADMITIDO A INGENIERIA .......carrera inscrita..................... . ,donde carrera inscrita es el nombre de la carrera inscrita que puede ser : Ing. De Minas, Ing. Mecnica, Ing de Produccin Industrial, etc. Se debe indicar adems el nombre y el documento de identificacin. El salario mnimo es un dato que el gobierno fija anualmente mediante decreto ( actualmente es de $ 536500)

Das könnte Ihnen auch gefallen