Está en la página 1de 11

Primitivas algorítmicas

cap. 3

Docente
Ingeniera Nelly Clavijo bustos

Algoritmia

Universidad cooperativa de Colombia


Sede Ibagué-espinal

Año 2021
 3.1 estructuras de entrada / salida
Las estructuras básicas para la construcción de la lógica de control algorítmico
que desempeñan la función básica de entrada salida del computador. Estas se
identifican por acciones de lectura (lea) de datos que ingresan al computador
sobre una o un conjunto de variables y por la acción de escritura(escriba) de las
informaciones derivadas del procesamiento aritmético, lógico del computador, las
cuales son almacenadas en un conjunto de variables. Las informaciones derivadas
también son acompañadas de literales encerrados entre comillas; por ejemplo
escriba (¨RESULTADOS DE LA FUNCION f(X) = ¨) que sirven para identificar los
comentarios de los resultados que se le presenta al usuario junto con las variables
de salida.
La sintaxis de la estructura de lectura, que sirven para entrar datos al computador
mediante un dispositivo de lectura es:
LEA V1, V2, Vi, Van, donde Vi son variables 1<= i >= n
La entrada de datos al computador utilizando la estructura de lectura permite la
construcción de resultados de información derivados de los procesos de cálculos
que se hagan sobre datos de entrada, que deben ser asignados a nuevas
variables de procesamiento, en este caso de salida. Generando de esta forma un
sistema de entrada (t), proceso (p) y salida (s), representado por E/P/S, de la
máquina de procesamiento electrónico de datos del computador.
La estructura básica de control algorítmico de lectura, asignación y escritura
permite la construcción de resultados derivados del proceso de cálculo con
operadores aritméticos o lógicos construidos en la parte de la expresión.

3.2 CONCEPTO DE PRIMITIVAS BASICAS PARA LA CONSTRUCCION DE


ALGORITMOS.
La lógica de control de un algoritmo se basa en un conjunto de estructuras lógicas
que se ejecutan secuencialmente desde la primera estructura hasta la última con
una cantidad finita de tiempo.
Luego la estructuras de entrada/ salida y asignación son constructos lógicos
primarios. Que permiten la elaboración de lógicas de programación más
complejas. Los constructos lógicos primarios reciben también el nombre de
primitivas lógicas (pi), no porque sean antiguas, sino porque son la base para la
construcción de estructuras lógicas más complejas.
Una primitiva lógica (pi) para la construcción de algoritmos es una instrucción
lógica que permite la ejecución de una o varias acciones en el computador;
acciones que, a su vez, pueden ser otra primitivas lógicas; primitivas que tienen la
característica de ordenar acciones al computador, y cuando dichas acciones son
codificados en un lenguaje de programación reciben el nombre de instrucciones de
un lenguaje de programación ; permiten ser ejecutadas en un computador y
consumen tanto un espacio de memoria como una cantidad finita de tiempo para
su ejecución.
3.3 ESTRUCTURA LOGICA CONDICIONAL SIMPLE
La lógica de programación se basa en estructuras simples, tales como las
estructuras de entrada, asignación y salida (desarrolladas en la sección anterior),
a los cuales se le agregan estructuras lógicas más elaboradas; una de las cuales
es la estructura condicional.
La ¨condición¨ se refiere a una decisión que se debe formar en la lógica de control
del algoritmo. La ¨decisión¨ implica la solución a una pregunta que se estructura en
la condición. Si la resolución a la pregunta es verdadera, entonces se ejecutan las
estructuras lógicas o primitivas lógicas de control que se escriben en la condición
verdadera del algoritmo.
La estructura condicional simple en función de las primitivas lógicas se define
como:
Condicional simple sean: P1, P2, Pn, un conjunto de primitivas, la condicional
simple está representada por:
Si (condición) entonces
P1
P2
.
.
.
Pn
Fin Si
Esta condicional permite la ejecución de las primitivas: P1, P2, Pn si la condición
es verdadera o se cumple.
3.4 ESTRUCTURA LOGICA CONDICIONAL COMPUESTA

Teniendo como bases iniciales para la construcción de algoritmos las estructuras


básicas de control de lectura, asignación, escritura y condicional simple, la
estructura condicional compuesta amplía las posibilidades de la lógica de
algoritmia.
La decisión de control en la condicional simple permitió la ejecución de las
primitivas cuando se cumple la pregunta en su condición de verdad, y la
condicional compuesta permite la ejecución de estructuras de control que se
diferencia en el cumplimiento de la condición de la siguiente forma cuando : la
condición es verdadera, solo se ejecutan las primitivas de control diseñadas en la
parte verdadera de la condición (P1,P2,P3,…Pi,…Pn): y Cuando la condición es
falsa de cumplimiento de la condición (q1,q2,q3,…,qi,…,qn), generándose, por lo
tanto , dos conjuntos disyuntivos de primitivas tales que (P1,P2,P3,…Pi,…Pn) n
(q1,q2,q3,…,qi,…,qn) = vacío , lo cual implica que el conjunto que el flujo de
control del algoritmo si se ejecuta en el cumplimiento de verdad de la condición, no
se ejecuta en el cumplimiento de la condición falsa; caso que implica los dos
grupos de primitivas (p.q) son disyuntas en la ejecución de algoritmia.
La notación algorítmica de la estructura lógica condicional compuesta es: dados
dos conjuntos .
3.5 ESTRUCTURA LOGICA DEPENDIENDO DE
La estructura condicional compuesta permite la ejecución de un conjunto de
primitivas de control (pi), en la que el cumplimiento de la condición hace posible la
ejecución de instrucciones entre muchas alternativas; no solo por el cumplimiento
verdadero de la condición que es el punto donde se ejecutan las primitivas p1 ,
p2 , p3 , …., pn , sino también por el cumplimiento por el cumplimiento cundo la
condición es falsa, en donde se procesan las primitivas q1 , q2 , q3 , . . . , qn ,
siendo el conjunto de primitivas disyuntas. La condicional “dependiendo de” es una
alternativa a la condicional compuesta cuando es necesario el cumplimiento de la
condición con un valor específico, si se cumple el valor específico se ejecutan
únicamente las primitivas asociadas de este valor, adicionalmente las primitivas
asociadas con un valor son completamente diferentes a las asociadas con el
cumplimiento de otro valor. La estructura lógica control unitario se denota por
dependiendo _De (opción) o DD (opción),si al final de la ejecución de primitivas de
la opción seleccionada hay un rompimiento de la ejecución del algoritmo; en cuyo
caso el flujo de control del algoritmo termina.
La estructura lógica compuesta DD es de mucha importancia en el diseño de
algoritmos que requieran el diseño de menús de opciones o los que requieran la
modularizacion de control del algoritmo. La primitiva dependiendo de (DD) es de
gran importancia cuando se requiere el diseño de algoritmos con opciones de
menús en los que cada alternativa es disyunta y se ejecuta independientemente
de las otras.
3.6 ESTRUCTURA LOGICA REPETITIVA PARA
Esta primitiva permite la ejecución de un conjunto de estructuras de control de
forma repetitiva que se ubica dentro del para, comenzando con un valor inicial y
terminando en un valor final, y ejecutado el conjunto de primitivas internas del para
con un incremento de una variable o constante.
La notación algorítmica de la estructura de control que se menciona es la
siguiente:
Para i = 1 hasta n con incrementos de j haga
P1, p2, . . .., pn
Fin_ para
La estructura anterior permite la ejecución repetitiva del conjunto de primitivas
como p1 , p2 , pi , y pn , hasta el tope del ciclo de control para con incrementos de
j , los cuales afectan la variable índice (i), los ciclos repetitivos en el diseño de
algoritmos son útiles en el caso de la generación de secuencias de números y
cálculo de sumatorias.
3.8 ESTRUCTURA LOGICA REPETITIVA HAGA HASTA
Esta estructura permite la ejecución de un conjunto de estructuras de control o
primitivas hasta que se cumpla la condición explicitada del haga hasta. Las
primitivas de control contenidas en el ciclo de haga hasta se ejecutan hasta que la
condición sea verdadera, lo que se quiere decir es que en esta estructura como
mínimo las primitivas de control se ejecutan al menos una vez. Este ciclo haga
hasta se abrevia con HH, y su estructura en el algoritmo se denota de la siguiente
manera:
Haga_ Hasta
P1, p2, p3, . . ., pn
Fin_ Haga_ Hasta (condición)
Cuya estructura de control equivale en notación de algoritmos de la siguiente
forma.
HH
P1, p2, p3, . . ., pn
Fin_HH (condición)
Las estructuras anteriormente vistas Mientras que y Haga Hasta permiten la
ejecución de un conjunto de primitivas algorítmicas; pero entre estas dos
estructuras (Mq) y (HH) existe una diferencia fundamental, en la estructura del
mientras que la condición de verdad se debe evaluar las instrucciones que van en
el interior antes de ejecutar las primitivas, posiblemente el interior del ciclo (Mq) no
se ejecute ni una sola vez en dado caso que la condición no se cumpla. En el caso
de la primitiva Haga Hasta, las instrucciones dentro del ciclo repetitivo (HH) se
ejecutan al menos una vez, y después de esto si se puede evaluar la condición
que controla la repetición del Haga Hasta.

EJEMPLOS DE EJERCICIOS PROPUESTOS EN EL LIBRO

1. Ejemplo.
Proceso OperacionesDescomposicionNumero
Definir n como Entero;
Definir cc,cp,ci,Suma,Producto,u,d,c Como Entero
Escribir "Inserte el número a evaluar : ";
Leer n; // Leer el número que se va a descomponer
//Se inicializan los contadores
cc=0; //Contador de cifras iguales a cero
cp=0; //Contador de cifras pares
ci=0; //Contador de cifras impares

//Inicializar los contadores de manera sumatoria y productoria de las cifras


Suma=0; //La suma de las cifras se inicializa en cero
Producto=1; //El producto de las cifras se iniciliza en uno

//Descomposicion del número en sus cifras


u=n MOD 10 //Unidades del numero n
d=n/10 MOD 10 // Decenas del número, n/10 es división entera
c=n/100 MOD 10 // Centenas del número, n/100 es división entera

//Parte i

Si (u=0) Entonces
cc=cc+1
FinSi

Si (d=0) Entonces
cc=cc+1
FinSi

Si (c=0) Entonces
cc=cc+1
FinSi

//Partes ii y iii

Si (u mod 2=0) Entonces


cp=cp+1
SiNo
ci=ci+1
fin si

Si (d mod 2=0) Entonces


cp=cp+1
SiNo
ci=ci+1
FinSi

Si (c mod 2=0) Entonces


cp=cp+1
SiNo
ci=ci+1
FinSi

Suma=u+d+c //Cálculo de la suma de las cifras


Producto=u*d*c //Cálculo de la multiplicación de las cifras

//Impresión de resultados
Escribir "El número de entrada ", n,"esta compuesto por: "
Escribir "Número de unidades ", u
Escribir "Número de decenas ", d
Escribir "Número de centenas ", c
Escribir "Número de cifras cero del número ", cc
Escribir "Número de cifras pares del número ", cp
Escribir "Número de cifras impares del número ", ci
Escribir "Suma de las cifras ", Suma
Escribir "Producto de las cifras ",Producto
FinProceso

2. Ejemplo.

//Algoritmo para determinar si de dos números ingresados el menor es divisor del


otro

Algoritmo MenorDivisorMayor
Definir num1,num2 Como Entero;
Escribir "Inserte el primer número : ";
Leer num1;
Escribir "Inserte el segundo número : ";
Leer num2;

si (num1>num2) Entonces
NumMayor = num1;
NumMenor= num2;
SiNo
NumMayor = num2;
NumMenor= num1;
FinSi
si NumMayor mod NumMenor == 0 Entonces
Escribir "El número ",NumMayor," es divisible entre ",NumMenor;
SiNo
Escribir "El número ",NumMayor," no es divisible entre ",NumMenor;
FinSi

FinAlgoritmo

Diagrama de flujo

También podría gustarte