Você está na página 1de 48

Para crear y disear cualquier tipo de software necesitamos primero conocer los pasos y la estructura lgica de un programa

Formador : Ing. Heladio Polo Castro - Programacin PA

OBJETIVOS DE LA LOGICA DE PROGRAMACION

QUE EL ESTUDIANTE COMPRENDA LA LOGICA DE PROGRAMACION Y LA PUEDA APLICAR A CASOS REALES


APRENDA A PENSAR EN FORMA LOGICA FORTALECIMIENTO DE LA CAPACIDAD DE ABSTRACCION ENSEAR UN PRIMER LENGUAJE DE PROGRAMACION QUE LE SIRVA DE BASE PARA APRENDER CUALQUIER OTRO LENGUAJE ADQUIRIR DESTREZA PARA INTERPRETAR RAZONAMIENTO CORRECTO Y PRECISO

CONCEPTOS BASICOS EN LA PROGRAMACION


ACCION Una accin es un suceso o acontecimiento producido por un actor (ejecutante). tiene la caracterstica de una duracin limitada y produce un resultado bien definido y previsto PROCESO Es una accin que se puede descomponer en otras mas simples. Se puede considerar un proceso como un conjunto de acciones

SISTEMA es definido como conjunto de componentes


conectados e interactivos, que tienen un propsito especfico y una unidad total. Ejemplo un Sistema de procesamiento, Sistema nervioso, Sistema de produccin de una galleta.

CARACTERISTICAS DE UN SISTEMA

Partes de un Sistema
Entrada de datos. La constituyen todas aquellas instrucciones que toman datos de un dispositivo externo, almacenndolos en la memoria central para que puedan ser procesados. Proceso. Est formado por las instrucciones que modifican los objetos a partir de su estado inicial hasta el estado final, dejando stos disponibles en la memoria central. Salida de resultados. Conjunto de instrucciones que toman los datos finales de la memoria central y los envan a los dispositivos externos.

OBJETOS DE UN PROGRAMA
Objetos : Son objetos de un programa todos aquellos manipulados por las instrucciones. Mediante ellos, podremos realizar el almacenamiento de los datos y de los resultados de las distintas operaciones que intervienen en la solucin del problema. Todo objeto tiene sus atributos: Nombre: Es con el cual se identifica al mismo. Tipo: Es el conjunto de valores vlidos que puede tomar. Valor: Es el elemento del tipo que se le asigna. Unos objetos no cambian nunca su valor. Por tanto los objetos de un programa son como cajas con tapas en donde aparece adherida una etiqueta (nombre), sta caja tiene una forma determinada (tipo) y el contenido de ellas sera la informacin (valor).

CONSTANTES:
Constante Es un objeto de valor invariable a lo largo de la ejecucin de un programa, es decir que tiene un valor concreto. Ejemplos: PI = 3.141592 -- NOMBRE = PEPE El signo = es transferir (mover o asignar) lo que se halla a la derecha del smbolo hacia la variable de la izquierda.

VARIABLES:
Es un objeto cuyo valor puede ser modificado a lo largo de la ejecucin de un programa. Ejemplos: X=0 X=X+1 SUMA = X+SUMA

Expresiones
Las expresiones son combinaciones de constantes, variables, smbolos de operacin y nombres de funciones especiales. Una expresin consta de: Operandos Operadores

Ejemplo: 5 + 3 Donde 5 y 3 son operandos y el signo + es el operador

Tipos de expresiones
Segn el tipo de objetos que manejan, las expresiones se clasifican en: Expresiones aritmticas: anlogas a frmulas matemticas, en donde se utilizan: a) operadores tipo aritmticos y b) variables y constantes numricas (reales o enteras). Ejemplo: - 8 * 2 + 4 / 2 3 PI * SQR(X) Expresiones alfanumricas: se utilizan operadores alfanumricos y producen resultados de tipo alfanumricos. Ejemplo: Lic. + NOM

Expresiones relacionales: Se utilizan operadores relacionales. Se compara entre dos valores del mismo tipo, es decir que los operandos son ambos numricos, ambos carcter o ambos del tipo lgico. El resultado de la evaluacin de una expresin relacional es de tipo lgico: Falso o Verdader. Ejemplo: A + B < = A * B Expresiones lgicas: Se utilizan operadores lgicos. El resultado de este tipo de expresin es un valor lgico: Falso o Verdadero, el cual se deduce de analizar la tabla de verdad correspondiente a los conectores lgicos. Ejemplo: A > 10 AND A < 20

TIPO DE OPERADORES

SIMBOLO

NOMBRE

FUNCION

Parntesis
Aritmticos

()
** ^ *, / +, + Potencia Producto , divisin Suma, Diferencia Concatenacin

Anida Expresiones
Conectan objetos o campos numricos Conectan campos alfanumricos Conectan objetos, campos, expresiones , dan como resultado V o F Conectan expresiones de tipo lgico, dan como resultado V o F.

Alfanumricos

Relacionales

= < , <= >, >= <>

Igual
Menor que , menor o igual que Mayor que , mayor o igual que Distinto a

Lgicos

NOT AND OR

Negacin Conjuncin Disyuncin

TABLAS DE VERDAD Operador NOT X NOT X F V V F Operador AND X F F V V Y X AND Y F F V F F F V V Operador OR X F F V V Y X OR Y F F V V F V V V

AFIRMACION : VERDADERO CONTRADICCION: FALSO

EJERCICIO DE VARIABLES Y CONSTANTES


No.

TIPO DE DATOS X=8 Y=5 X= X+Y X=X+Y X=X+Y X=X+Y

1 2 3 4 5 6

ALGORITMOS
Algoritmo: Es una descripcin paso a paso de algn proceso, es un mtodo para resolver un problema mediante una serie de pasos definidos, precisos y finitos. La palabra algoritmo deriva del matemtico rabe AL-KUHARITMI, quien describi mtodos para solucionar problemas aritmticos. Los algoritmos son independientes tanto del lenguaje de programacin en que se expresan como de la computadora que los ejecuta.

Caractersticas de los algoritmos


Las caractersticas fundamentales que debe cumplir todo algoritmo son: a) Ser preciso e indicar el orden de realizacin de cada paso. b) Estar definido. Si se sigue un algoritmo dos veces, se debe obtener el mismo resultado cada vez. c) Ser finito. Si se sigue un algoritmo, se debe terminar en algn momento; o sea debe tener un nmero finito de pasos, implica que tiene un fin.

SEUDOCDIGO
Es una herramienta para disear algoritmos diseo de la solucin de un problema por computadora- No depende de un lenguaje de programacin particular. Utiliza palabras y frases del lenguaje natural (en este caso: el espaol), y sujetas a determinadas reglas. El seudocdigo es utilizado en la fase de diseo del programa, por ser, la utilizacin de un lenguaje, debido a su rigidez, no aconsejable.

Nuevo Guardar

PROGRAMA PSEINT

Comandos de Programacin

Ejecutar Dibujar Diagrama de Flujo

PROGRAMA PSEINT
Es decir, PseInt es la abreviatura de Pseudo - Intrprete, un editor de programacin diseado especficamente para estudiantes que quieran comprender la lgica de la programacin sin conocimientos previos de la materia . Su interfaz grfica permite crear, almacenar, ejecutar y corregir fcilmente programas en PseudoCdigo. La sencillez del lenguaje PseudoCdigo lo hacen ideal para la enseanza de la programacin.

Permite escribir programas con instrucciones condicionales (Si-Entonces-Sino, Segun) y ciclos (Mientras, Hasta Que, Para), y tambin usar valores numricos (nmeros decimales), lgicos, caracteres y arreglos. Tambin provee funciones de entrada/salida y algunas funciones matemticas

Funciones Matemticas
Funcin RC(X) ABS(X) LN(X) EXP(X) SEN(X) COS(X) Significado Raz Cuadrada de X

Operadores
Operador Significado Ejemplo

Relacionales > < =


Mayor que Menor que Igual que Menor o igual que Mayor o igual que

Valor Absoluto de X
Logaritmo Natural de X Funcin Exponencial de X Seno de X Coseno de X

3>2 'ABC'<'abc' 4=3 'a'<='b' 4>=5

<=
>= Lgicos & |

Conjuncin (y). Disyuncin (o). Negacin (no).

(7>4) & (2=1) //falso (1=1 | 2=1) //verdadero ~(2<5) //falso

ATAN(X)
TRUNC(X) REDON(X) RANDOM(X) para slo DFD

Arcotangente de X
Parte entera de X Entero ms cercano a X Nmero Aleatorio

~
Algebraicos * / ^

Multiplicacin Divisin Potenciacin

ESTRUCTURA DE PROGRAMACION PSEINT


Un programa escrito en PseudoCdigo comienza con la palabra clave Proceso seguida del nombre del programa, luego le sigue una secuencia de instrucciones y finaliza con la palabra
FinProceso. Donde una secuencia de instrucciones es una lista de una o ms instrucciones, cada una terminada en punto y coma <instruccin>; <instruccin>; ... <instruccin>;

Ejemplo:
Proceso <nombre> <secuencia de instrucciones> FinProceso

COMENTARIOS
Se pueden introducir comentarios luego de una instruccin, o en lneas separadas, mediante el uso de la doble barra ( // ). Todo lo que precede a //, hasta el fin de la lnea, no ser tomado en cuenta al interpretar el algoritmo

Asignacin
La instruccin de asignacin permite almacenar una valor en una variable. <variable> <- <expresin> ; Al ejecutarse la asignacin, primero se evala la expresin de la derecha y luego se asigna el resultado a la variable de la izquierda.

Ejemplos :
var <- 1; // asigna el nmero 1 a var Acumulador <- Acumulador + 1; // incrementa el valor del Acumulador en 1

Entrada
La instruccin Leer permite ingresar informacin desde el teclado. Leer <variablel> , <variable2> , ... , <variableN> ; Esta instruccin lee N valores desde el ambiente (en este caso el teclado) y los asigna a las N variables mencionadas. Pueden incluirse una o ms variables, por lo tanto el comando leer uno o ms valores

Ejemplos : Leer Cantidad; Leer Valor1,Valor2,Valor3;

Salida
La instruccin Escribir permite mostrar valores en la pantalla. Escribir <exprl> , <expr2> , ... , <exprN> ;

Ejemplos: Escribir "Ingrese el nombre:"; Escribir "Resultado:" , x*2 ;

Condicional
La secuencia de instrucciones ejecutadas por la instruccin Si-Entonces-Sino depende del valor de una condicin lgica. Si <condicin> Entonces <instrucciones> Sino <instrucciones> FinSi
Al ejecutarse esta instruccin, se evala la condicin y se ejecutan las instrucciones que correspondan: las instrucciones que le siguen al Entonces si la condicin es verdadera, o las instrucciones que le siguen al Sino si la condicin es falsa.

EJEMPLOS:
NUM<-0; Escribir "digite NUMERO"; Leer NUM; Si (NUM MOD 2 = 0) Entonces Escribir " NUMERO PAR"; Sino Escribir " NUMERO IMPAR"; FinSi

Ejemplo:
Num<-0; Escribir "DIGITE UN NUMERO AL AZAR:"; Leer Num; Escribir " la raiz cuadrada es ....", RC(Num);

Ejemplo:
Num<-0; Escribir "DIGITE UN NUMERO CON DECIMALES AL AZAR:"; Leer Num; Escribir " la parte entera del numero es ....", TRUNC(Num);

Seleccin Mltiple
La secuencia de instrucciones ejecutada por una instruccin Segun depende del valor de una variable numrica. Segun <variable> Hacer <nmero1>: <instrucciones> <nmero2> :<instrucciones> <nmero3>: <instrucciones> <...> De Otro Modo: <instrucciones> FinSegun Esta instruccin permite ejecutar opcionalmente varias acciones posibles, dependiendo del valor almacenado en una variable de tipo numrico. Al ejecutarse, se evala el contenido de la variable y se ejecuta la secuencia de instrucciones asociada con dicho valor

Opcionalmente, se puede agregar una opcin final, denominada De Otro Modo, cuya secuencia de instrucciones asociada se ejecutar slo si el valor almacenado en la variable no coincide con ninguna de las opciones anteriores

Seleccin Mltiple
Ejemplo: Escribir Digite nota estudiante Leer a; Segn a Hacer 0,1,2,3: Escribir "DEFICIENTE"; 4,5: Escribir DESAPROBADO"; 6,7: Escribir "REGULAR"; 8,9,10: Escribir "EXCELENTE !!"; De Otro Modo: Escribir "ERROR...INTENTE DE NUEVO"; FinSegun FinProceso

CONDICIONALES ANIDADOS (SI)


edad<-0; Escribir " DIGITE EDAD "; Leer EDAD; Si EDAD<18 Entonces Escribir " NO ES MAYOR DE EDAD; Sino Escribir " ES UN MAYOR DE EDAD"; FinSi

EJERCICIOS EVALUATIVOS:
1. REALICE UN SEUDOCODIGO QUE LEA UN NUMERO Y COMPRUEBE E IMPRIMA SI EL NUMERO ES NULO (0), POSITIVO O NEGATIVO. 2. REALICE UN SEUDOCODIGO QUE LEA EL NOMBRE DEL ESTUDIANTE , EL CURSO ,LA MATERIA , TRES NOTAS ,LUEGO COMPRUEBE SI LA NOTA DEFINITIVA ES MAYOR O IGUAL A 6 , E IMPRIMA APROBO DE LO CONTRARIO REPROBO. 3. REALICE UN SEUDOCODIGO QUE LEA DOS NUMEROS Y COMPROBAR E IMPRIMIR CUAL DE LOS DOS ES EL MAYOR, VERIFICAR SI HAY IGUALDAD ENTRE LOS NUMEROS.

Dimensionamiento
La instruccin Dimension permite definir un arreglo, indicando sus dimensiones. Dimesion <identificador> (<max1>,...,<maxN>);

Esta instruccin define un arreglo con el nombre indicado en <indentificador> y N dimensiones. Los N parmetros indican la cantidad de dimensiones y el valor mximo de cada una de ellas. La cantidad de dimensiones puede ser una o ms, y la mxima cantidad de elementos debe ser una expresin numrica positiva.
Ejemplos: Dimension Alumnos (10); Leer Alumno (1);

Mientras Hacer
La instruccin Mientras ejecuta una secuencia de instrucciones mientras una condicin sea verdadera.
Mientras <condicin> Hacer <instrucciones> FinMientras Al ejecutarse esta instruccin, la condicin es evaluada. Si la condicin resulta verdadera, se ejecuta una vez la secuencia de instrucciones que forman el cuerpo del ciclo. Al finalizar la ejecucin del cuerpo del ciclo se vuelve a evaluar la condicin y, si es verdadera, la ejecucin se repite. Estos pasos se repiten mientras la condicin sea verdadera

Ejemplo:
Tot<-0; a<-0; Escribir "Ingrese un nmero (0 para salir)"; Leer a; Mientras a<>0 Hacer Tot <- Tot+a; Escribir "Ingrese otro nmero (0 para salir)"; Leer a; FinMientras Escribir "Total:",Tot;

Repetir Hasta Que


La instruccin Repetir-Hasta Que ejecuta una secuencia de instrucciones hasta que la condicin sea verdadera. Repetir <instrucciones> Hasta Que <condicin> Al ejecutarse esta instruccin, la secuencia de instrucciones que forma el cuerpo del ciclo se ejecuta una vez y luego se evala la condicin. Si la condicin es falsa, el cuerpo del ciclo se ejecuta nuevamente y se vuelve a evaluar la condicin. Esto se repite hasta que la condicin sea verdadera

Ejemplo:
Tot<-0; a<-0; Repetir Tot <- Tot+a; Escribir "Ingrese un nmero (0 para salir)"; Leer a; Hasta Que a=0 Escribir "Total:",Tot;

Para
La instruccin Para ejecuta una secuencia de instrucciones un nmero determinado de veces. Para <variable> <- <inicial> Hasta <final> ( Con Paso <paso> ) Hacer <instrucciones> FinPara Al ingresar al bloque, la variable <variable> recibe el valor <inicial> y se ejecuta la secuencia de instrucciones que forma el cuerpo del ciclo. Luego se incrementa la variable <variable> en <paso> unidades y se evala si el valor almacenado en <variable> super al valor <final>. Si esto es falso se repite hasta que <variable> supere a <final>. Si se omite la clusula Con Paso <paso>, la variable <variable> se incrementar en 1.

Ejemplo:
a<-0; Escribir "Nmeros pares de 10 a 20:"; Para a<-10 Hasta 20 Con Paso 2 Hacer Escribir a; FinPara Ejemplo: a<-5; Num<-0; Suma<-0; Para a<-1 Hasta 5 Con Paso 1 Hacer Escribir "DIGITE CINCO NUMEROS AL AZAR:"; Leer Num; Suma<-Suma+Num; FinPara Escribir " La suma de los nmeros es ..." , Suma;

Diagramas de flujo (FLOWCHART)


Diagramas de flujo del programa Representa grficamente la secuencia lgica de las operaciones en la resolucin de un problema, por medio de un programa de computador. Dicho de otra manera, es un esquema para representar grficamente el algoritmo. ELEMENTOS : En la parte superior: soportes que suministran los datos de entrada. (Smbolos de soporte de Entrada). En el centro: el programa y su identificacin. (rectngulo central: smbolo de proceso). En la parte inferior: soporte para los resultados. (Smbolos de soporte que reciben los datos de Salida). A la derecha e izquierda: los soportes de datos de Entrada/Salida. El flujo de los datos. (lneas de flujo).

Elementos de un Diagramas de flujo


Elementos: En la parte superior: smbolo de comienzo del programa. (1). Smbolo de operaciones. (2). De arriba abajo, de izquierda a derecha: la secuencia en que se realizan. (3). Al final: smbolo de fin del programa. (4).

Elementos auxiliares de una programa


Son variables que realizan funciones especficas dentro de un programa. Las ms importantes son los contadores, acumuladores e interruptores.

Contadores. Un contador es un campo de memoria cuyo valor


se incrementa en una cantidad fija, positiva o negativa, generalmente asociado a un bucle. Es un caso particular del acumulador. Se utiliza en los siguientes casos: Para contabilizar el nmero de veces que es necesario repetir una accin (variable de control del bucle). Ejemplo:
CONT CONT + 1

Acumuladores.
Un acumulador es un campo de memoria cuyo valor se incrementa sucesivas veces en cantidades variables. Se utiliza en aquellos casos en que se desea obtener el total acumulado de un conjunto de cantidades, siendo preciso inicializarlo con el valor 0.
ACUM ACUM + NOTA

Interruptores.
Tambin se denominan SWITCHES, BANDERAS, CONMUTADORES. Un interruptor es un campo de memoria que puede tomar dos valores exclusivos (0 y 1, -1 y 1, FALSO y VERDADERO, etc.). Se utiliza para: Recordar en un determinado punto de un programa la ocurrencia o no, de un suceso anterior, para salir de un bucle o para decidir en una instruccin alternativa qu acciones realizar.

Ejemplo:
Un programa que lea cinco(5) nmeros del dispositivo estndar de entrada y comprueba e imprime en el dispositivo estndar de salida si dicho nmero es nulo, positivo o negativo. Analizemos este diagrama de flujo

Tabla de verificacin o prueba de escritorio C paso realizado 0 [C = 0] 1 [C = C + 1] 2 [C = C + 1] 3 [C = C + 1] 4 [C = C + 1] 5 [C = C + 1] N paso realizado 39 [Leer N] -175 [Leer N] 74 [Leer N] 0 [Leer N] 82 [Leer N] SALIDA POSITIVO NEGATIVO POSITIVO NULO POSITIVO

ESTRUCTURAS BSICAS

Como dice el Teorema de la estructura, decimos que toda accin se puede realizar utilizando tres estructuras bsicas de control. TIPOS DE ESTRUCTURAS BASICAS

Estructura Secuencial Estructura Alternativa Estructura Repetitiva

Estructura secuencial. Es una estructura con una


entrada y una salida en la cual figuran una serie de acciones cuya ejecucin es lineal y en el orden que aparecen. A su vez todas las acciones tienen una nica entrada y una nica salida.
I1; I2; ... In

Estructura alternativa. Es una estructura con una sola


entrada y una sola salida en la cual se realiza una accin de entre varias segn una condicin o se realiza una accin segn el cumplimiento o no de una determinada condicin. Estas pueden ser:

Alternativa simple. Es la ejecucin condicional de una accin. Esta composicin permite expresar que un acontecimiento suceder bajo cierta condicin.
Si CONDICION entonces I1; ....; In finsi

Alternativa doble. Es la ejecucin alternativa de una entre dos acciones. Permite expresar que debe provocarse un acontecimiento bajo cierta condicin contraria.

Si CONDICION entonces I1; ....; In sino J1; ...; Jk finsi

Alternativa mltiple. Se adoptan cuando la condicin puede tomar n valores enteros distintos: 1; 2; 3; ...; n. Segn se elija uno de estos valores en la condicin, se realizar una de las n acciones (cada vez slo se ejecuta una accin).

Opcin EXPRESION de: V1 hacer I1; I2; ...; Ip V2 hacer J1; J2; ...; Jq Vn hacer K1; K2; ...; Kr Otro hacer L1; L2; ...; Ls Finopcin

Estructuras repetitivas.
Es una estructura con una entrada y una salida en la cual se repite una accin un nmero determinado o indeterminado de veces, dependiendo en este caso del cumplimiento de una condicin. Las estructuras repetitivas pueden ser: + Estructura para (FOR) + Estructura mientras (WHILE) + Estructura repetir hasta (UNTIL)

Estructura para (for).


En esta estructura se repite una accin o un grupo de ellas, un nmero fijo de veces respetado normalmente por N, este valor es un nmero que est determinado a priori por lo que el esquema de resolucin ser:
Para Vc de Vi a Vf con incremento In hacer I1; I2; ... In finpara

Estructura mientras (while).

En esta estructura se repite una accin mientras se cumpla la condicin que controla el bucle. El nmero de iteraciones oscila entre 0 e infinito dependiendo de la evaluacin de la condicin, esta condicin a evaluar es una expresin lgica ya que devuelve verdadero o falso. Mientras la condicin sea verdadera el ciclo continuar ejecutndose y la primera vez que sea falso el ciclo finaliza. A diferencia del for no dispone del paso de incrementacin por lo tanto este debe estar incluido dentro del cuerpo de sentencias.
mientras CONDICION hacer I1; I2; ...In finmientras

Estructura repetir hasta (until).


En esta estructura se repite una accin hasta que se cumpla la condicin que controla el bucle, la cual se evala despus de cada ejecucin del mismo. El nmero de repeticiones oscila entre 1 e infinito dependiendo de la evaluacin de la condicin, cuyos argumentos en los casos de repeticin al menos dos veces debern modificarse dentro del bucle, pues de no ser as, el nmero de repeticiones ser infinito y nos encontramos en un bucle sin salida. repetir repetir
I1; ... In hasta CONDICION

Você também pode gostar