Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tipos de Algoritmos:
1. Cualitativos.
2. Cuantitativo.
3. Directo.
4. Indirecto.
CARACTERÍSTICAS DE UN ALGORITMO.
Definido: Cada paso debe ser preciso, es decir, sin dejar posibilidades de
interpretaciones equivocadas.
Algoritmos Cualitativos:
1. Inicio
2. Buscar el número
3. ¿Encontró el Número?: SI: Ir Paso 4
NO: Ir Paso 2
4. Ubicar el Teléfono
5. ¿Hay Teléfono?: SI: Ir Paso 6
NO: Ir Paso 4
6. Levantar el auricular.
7. ¿Esta Bueno el teléfono?: SI: Ir Paso 8
NO: Ir Paso 15
8. Marcar el Número Telefónico.
9. ¿Esta desocupada la Línea?: SI: Ir Paso 10
NO: Ir Paso 8
10. Esperar a que levanten la bocina del Teléfono.
11. ¿Tomaron el teléfono?: SI: Ir Paso 12
NO: Ir Paso 15
12. Preguntar por la Persona con quien desea hablar.
13. ¿Está la Persona?: SI: Ir Paso 14
NO: Ir Paso 15
14. Hablar con la Persona
15. Fin.
CONCEPTO DE PROGRAMA:
Es un conjunto de instrucciones, ordenes dadas a la máquina que
producirán la ejecución de una determinada tarea. En consecuencia un
programa es un medio para conseguir un fin.
El proceso de la programación es por consiguiente un proceso que
permite resolver un problema.
TIPO DE DATOS:
Los datos pueden ser: Numéricos, alfanuméricos y booleano.
Numéricos: Son los datos con los cuales se pueden realizar operaciones
aritméticas o matemáticas tales como: suma , resta, multiplicación y división;
cuyo origen son los dígitos del sistema decimal.
Estos tipos de datos se clasifican en:
Numérico Entero: Son aquellos números positivos o negativos sin
parte decimal.
Ejemplo: Edad, Número de Hijos.
Numérico Reales: Son aquellos números positivos o negativos con
una parte decimal.
Ejemplo: Sueldo, Notas, Comisiones.
ORIGEN:
Los datos pueden ser de origen externo o interno.
Externo: Los datos que maneja un algoritmo son de origen externo, si
se obtienen al ejecutarse una acción de entrada (lectura). Los únicos datos
que se pueden leer son los numéricos o alfanuméricos.
Ejemplo: El Nombre de “X” Persona.
Interno: Los datos que maneja el algoritmo son de origen interno, si
se obtienen al ejecutarse una acción de asignación.
Con los datos numéricos, alfanuméricos y boléanos pueden realizarse
operaciones de asignación.
Ejemplo: El Calculo del Sueldo Neto de “X” Persona.
La forma general de una acción de asignación es:
Variable:= Expresión;
Donde la Expresión puede ser una Constante, una Variable, una
expresión aritmética o matemática más complicada, etc;. Cuando en un
algoritmo se encuentra un enunciado de asignación se evalúa la Expresión
que esta a la derecha del símbolo de asignación y asigna el resultado a la
variable que esta a la izquierda del símbolo de asignación.
Ejemplo:
A:=3; Transfiere el número a la variable; es decir “A” toma el Valor de 3.
B:= A; Copia el dato de A a B; es decir lo que contiene la Variable “A” se la
da a la Variable “B”
A:= B*3+2; Multiplica B por 3, le suma 2 al resultado y lo obtenido se lo
asigna a la Variable “A”
CONSTANTES:
Como su nombre lo indica, son datos que no varían durante la
ejecución o vida de un algoritmo o programa. Toda constante se compone de
dos partes esenciales: Un Nombre y su Valor que no cambia.
Ejemplo: PI = 3.1416
Nombre de Valor
la Constante
VARIABLES:
Son áreas de memoria cuyo contenido cambia durante la ejecución de
un algoritmo o programa.
Son Lugares donde se almacenará la información. Esta Información es
la que manejará el algoritmo para producir resultados.
Las variables son objetos de un algoritmo cuyo valor puede cambiar
cuando este se sigue paso a paso. Toda variable se compone de dos partes
esenciales: Un Nombre y su Valor.
El nombre de una variable debe se único y esta conformado por un
conjunto de caracteres, letras y números, con los cuales se identifica un valor
en un momento determinado. Este debe ser corto y con solo leerlo se debe
determinar con facilidad lo que la variable significa o contiene.
El valor de una variable es el contenido de la misma, es decir, lo ella
representa o tiene en un momento determinado. Es importante decir que una
variable puede tener asociado un valor lógico como verdadero o falso,
entero, real, carácter o alfanumérico.
CONTADOR
Es un tipo de variable numérica que cuenta determinados procesos en
la resolución de un problema.
También se puede decir, que un contador es una variable numérica
entera cuyo contenido va modificándose de uno en uno, a través de una
instrucción de asignación. Ejemplo: Variable:= Variable + 1
Nota: El contador se debe inicializar al principio de la resolución del
problema con un valor cero (0) o uno (1).
Ejemplo de cómo funciona un contador:
Contar el número de alumnos donde “c” es el contador.
c := 0 c
c:= c + 1; 1
2
3
-
-
n
ACUMULADOR
Es un tipo de variable numérica cuya función es la de almacenar el
resultado de un proceso matemático.
También se puede decir, que un acumulador es una variable numérica
de tipo entera o real, cuyo contenido va modificándose a través de otra
variable numérica, por medio de una instrucción de asignación. Ejemplo:
Variable:= Variable + Variable_que_Modificara
OPERADORES LÓGICOS:
1. NOT (Negación): Invierte el valor lógico de un operando tipo Bolean. La
negación de una expresión Cierta es Falsa, y la Negación de una
expresión Falsa es Cierta.
Exp. NOT(Exp)
F V
V F
Ejemplo de NOT
NOT(2>5) = F V No es (2>5)
NOT(5>2) = V F No es (5>2)
Nota: El primer operador que se evalúa es el AND y luego el OR (Por orden
de prioridades).
Ejemplo:
(15>2) OR (17<> 18) AND (9<1)
V V F
V
OPERADORES ARITMETICOS:
( ), [ ], { } , Expresiones entre Paréntesis, corchetes y llaves.
** o && Potencia
/ División (Numero Real)
* Multiplicación
\ o Div Toma la parte entera de A por B.
Mod Toma el Resto de A por B.
+ Suma
- Resta
Ejemplo:
1. (2+3*2) = 8
2. (3*5/2) = 7.5
3. (89/40) = 2.225
4. (9\2) = 4
OPERADORES RELACIONALES:
> Mayor que.
>= Mayor o igual que.
< Menor que.
< = Menor o igual que.
<> Diferente.
= Igual.
Ejemplo: (19>=19) = V
(19>19) OR (19=19)
F V
V
Algoritmos Cuantitativos:
Ejercicio # 1: Hacer un algoritmo que lea dos números, los Sume e imprima
el Resultado.
ALGORITMO SUMAR;
DECLARACIÓN DE VARIABLES
N1,N2,RESUL: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA 1ER. NUMERO: “);
LEER(N1);
IMPRIMIR(“INTRODUZCA 2DO. NUMERO: “);
LEER(N2);
RESUL:=(N1+N2);
IMPRIMIR(“EL RESULTADO DE LA SUMA = “,RESUL);
FIN.
ALGORITMO PROMEDIO;
DECLARACIÓN DE VARIABLES
N1,N2,N3,PROMED: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA 1ER. NUMERO: “);
LEER(N1);
IMPRIMIR(“INTRODUZCA 2DO. NUMERO: “);
LEER(N2);
IMPRIMIR(“INTRODUZCA 3ER. NUMERO: “);
LEER(N3);
PROMED:=(N1+N2+N3)/3;
IMPRIMIR(“EL PROMEDIO OBTENIDO ES = “,PROMED);
FIN.
ALGORITMO CALCULO_EDAD;
DECLARACIÓN DE VARIABLES
AACT,ANAC,EDAD: NUMERICO ENTERO;
INICIO
IMPRIMIR(“INTRODUZCA AÑO ACTUAL:”);
LEER(AACT);
IMPRIMIR(“INTRODUZCA AÑO DE NACIMIENTO:”);
LEER(ANAC);
EDAD:=(AACT-ANAC);
IMPRIMIR(“LA EDAD DE LA PERSONA ES: “, EDAD, “ AÑOS”);
FIN.
ALGORITMO TRIANGULO;
DECLARACIÓN DE VARIABLES
BASE,ALTU,AREA: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA LA BASE:”);
LEER(BASE);
IMPRIMIR(“INTRODUZCA LA ALTURA:”)
ALGORITMO CALCULO_IVA;
DECLARACIÓN DE VARIABLES
COSTOP,IVA: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUCA PRECIO DEL PRODUCTO: “);
LEER(COSTOP);
IVA:=(COSTOP*12/100);
IMPRIMIR(“IVA A PAGAR ES: “,IVA);
FIN.
ALGORITMO CALCULO_SUELDO;
DECLARACIÓN DE VARIABLES
NHT; NUMERICO ENTERO;
PRECIO, SUELDO: NUMERICO REAL;
INICIO
IMPRIMIR(“NUMEROS DE HORAS TRABAJADAS: “);
LEER(NHT);
IMPRIMIR(“PRECIO POR HORA: “);
LEER(PRECIO);
SUELDO:=(NHT*PRECIO*4.33);
IMPRIMIR(“EL SUELDO NETO ES: “, SUELDO);
FIN.
ALGORITMO CALCULO_SUELDONETO;
DECLARACIÓN DE VARIABLES
SB,ASIG,DEDUC,SUELDONC: NUMERICO REAL;
NOMEMP:ALFANUMEROCO CADENA;
INICIO
IMPRIMIR(“INTRODUZCA EL NOMBRE DEL EMPLEADO:”);
LEER(NOMEMP);
IMPRIMIR(“INTRODUZCA SUELDO BRUTO:”);
LEER(SB);
IMPRIMIR(“INTRODUZCA MONTO TOTAL DE ASIGNACIONES: “);
LEER(ASIG);
IMPRIMIR(“INTRODUZCA MONTO TOTAL DE DEDUCCIONES: “);
LEER(DEDUC);
SUELDONC:=((SB+ASIG)-DEDUC);
IMPRIMIR(“EL NOMBRE DEL EMPLEADO ES: “, NOMEMP );
IMPRIMIR(“EL SALARIO DEL EMPLEADO ES: “, SUELDONC );
FIN.
ALGORITMO CALCULO_CUADRADO;
DECLARACIÓN DE VARIABLES
N,CUADRADO: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA UN NUMERO:”)
LEER(N)
CUADRADO:=(N*N)
IMPRIMIR(“EL CUADRADO ES: “, CUADRADO )
FIN.
SINTAXIS:
SI (CONDICION) ENTONCES
(ENUNCIADO DE ACCION)
FINSI
SI (Edad>=18) ENTONCES
IMPRIMIR(“USTED ES MAYOR”);
FINSI
SI (CONDICION) ENTONCES
(BLOQUE1)
SINO
(BLOQUE2)
FINSI
Ejemplo:
SI (Edad>=18) ENTONCES
IMPRIMIR(“UD. ES MAYOR”)
SINO
IMPRIMIR(“UD. ES MENOR”)
FINSI
SINTAXIS #1:
SI (CONDICION) ENTONCES
COMIENZO
ENUNCIADO DE ACCION
ENUNCIADO DE ACCION
FINSI
SI (CONDICION) ENTONCES
COMIENZO
ENUNCIADO DE ACCION
ENUNCIADO DE ACCION
FINSI
SINO
COMIENZO
ENUNCIADO DE ACCION
ENUNCIADO DE ACCION
FINSINO
Ejemplo:
SI (CONDICION) ENTONCES
COMIENZO
IMPRIMIR(“CUAL ES TU NOMBRE: “);
LEER(NOMBRE);
FINSI
ALGORITMO NOTA_FINAL;
DECLARACIÓN DE VARIABLES
N1,N2,N3: NUMERICO ENTERO;
NOTAF: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA 1ERA NOTA: “:);
LEER(N1);
IMPRIMIR(“INTRODUZCA 2DA NOTA: “);
LEER(N2);
IMPRIMIR(“INTRODUZCA 3ERA NOTA: “);
LEER(N3);
NOTAF:=(N1+N2+N3)/3;
SI(NOTAF>=10)ENTONCES
COMIENZO
IMPRIMIR(“ALUMNO APROBADO”)
IMPRIMIR(“LA NOTA FINAL ES:”,NOTAF)
FINSI
SINO
COMIENZO
IMPRIMIR(“ALUMNO REPROBADO”)
IMPRIMIR(“LA NOTA FINAL ES:”,NOTAF)
FINSINO
FIN.
Ejercicio #3: Elabora un algoritmo que lea dos valores, calcular su suma y
en caso de que la misma sea mayor o igual a 20 la muestre.
ALGORITMO CALCULO_SUMA;
DECLARACIÓN DE VARIABLES
V1,V2,SUMA: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA PRIMER VALOR: “);
LEER(V1);
IMPRIMIR(“INTRODUZCA SEGUNDO VALOR: “);
LEER(V2);
SUMA:=(V1+V2);
SI(SUMA>=20)ENTONCES
IMPRIMIR(“LA SUMA ES:”, SUMA);
FIN SI;
FIN.
ALGORITMO CALCULO;
DECLARACIÓN DE VARIABLES
V1,V2,V3,SUMA, MULTI: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA PRIMER VALOR: “);
LEER(V1);
IMPRIMIR(“INTRODUZCA SEGUNDO VALOR: “);
LEER(V2);
IMPRIMIR(“INTRODUZCA TERCER VALOR: “);
LEER(V3);
SI(V1>10)ENTONCES
COMIENZO
MULTI:= (V1*V2);
FINSI
SI (MULTI<50) ENTONCES
COMIENZO
SUMA:= (V3+MULTI);
FINSI
IMPRIMIR(“LA SUMA ES:”, MULTI);
IMPRIMIR(“LA SUMA ES:”, SUMA);
FIN.
SINTAXIS:
SI (CONDICION) ENTONCES
COMIENZO
SI (CONDICION) ENTONCES
COMIENZO
ENUNCIADO DE ACCION
ENUNCIADO DE ACCION
FINSI
FINSI
SI (CONDICION) ENTONCES
COMIENZO
SI (CONDICION) ENTONCES
COMIENZO
ENUNCIADO DE ACCION
FINSI
SINO
COMIENZO
ENUNCIADO DE ACCION
FINSINO
FINSI
SINO
COMIENZO
ENUNCIADO DE ACCION;
FINSINO
ALGORITMO NUMERO_MAYOR;
DECLARACIÓN DE VARIABLES
N1,N2,N3,MAYOR: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA 1ER.NUMERO: “);
LEER(N1);
IMPRIMIR(“INTRODUZCA 2DO.NUMERO: “);
LEER(N2);
IMPRIMIR(“INTRODUZCA 3ER.NUMERO: “);
LEER(N3);
SI (N1>N2) ENTONCES
MAYOR:=N1;
SINO
MAYOR:=N2;
FIN SI;
SI (MAYOR>N3) ENTONCES
MAYOR:=MAYOR;
SINO
MAYOR:=N3;
FIN SI;
IMPRIMIR(“NUMERO MAYOR ES:”,MAYOR);
FIN.
ALGORITMO CALCULO_COMISION;
DECLARACIÓN DE VARIABLES
MVT,COMI: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA MONTO DE LA VENTA: “);
LEER(MVT);
SI (MVT<10000) ENTONCES
COMIENZO
COMI:=(MVT*0.05);
IMPRIMIR(“LA COMISION ES: “,COMI);
FINSI
SINO
COMIENZO
SI (MVT>=10000) AND (MVT<=30000) ENTONCES
COMIENZO
COMI:=(MVT*0.10);
IMPRIMIR(“LA COMISION ES: “,COMI);
FINSI
SINO
COMIENZO
COMI:=(MVT*0.15);
IMPRIMIR(“LA COMISION ES: “,COMI);
FINSINO
FINSINO
FIN.
ALGORITMO DIA_SEMANA;
DECLARACIÓN DE VARIABLES
DIA:NUMERICO ENTERO;
INICIO
IMPRIMIR(“INTRODUZCA NRO. DEL DIA: “);
LEER(DIA);
SI (DIA=0) OR (DIA>7) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA NO EXISTE”);
FINSI
SINO
COMIENZO
SI (DIA=1) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES DOMINGO”);
FINSI
SI (DIA=2) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES LUNES”);
FINSI
SI (DIA=3) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES MARTES”);
FINSI
SI (DIA=4) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES MIERCOLES”);
FINSI
SI (DIA=5) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES JUEVES”);
FINSI
SI (DIA=6) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES VIERNES”);
FINSI
SI (DIA=7) ENTONCES
COMIENZO
IMPRIMIR(“DIA DE LA SEMANA ES SABADO”);
FINSI
FINSINO
FIN.
ALGORITMO CALCULO_AUMENTO;
DECLARACIÓN DE VARIABLES
AA:NUMERICO ENTERO;
SUELDO,AUMENT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA AÑOS DE ANTIGUEDAD: “);
LEER(AA);
IMPRIMIR(“INTRODUZCA EL SUELDO: “);
LEER(SUELDO)
SI (AA>=5) AND (AA<=9) ENTONCES
AUMENT:=(SUELDO*0.08)
FIN SI
SINO
COMIENZO
SI (AA>=10) AND (AA<=14) ENTONCES
AUMENT:=(SUELDO*0.12)
FIN SI
SINO
COMIENZO
SI (AA>=15) AND (AA<=25) ENTONCES
AUMENT:=(SUELDO*0.15)
FIN SI
SINO
AUMENT:=(SUELDO*0.20)
FIN SINO
FIN SINO
IMPRIMIR(“EL SUELDO DEL EMPLEADO ES: “, SUELDO)
IMPRIMIR(“EL AUMENTO DEL EMPLEADO ES: “, AUMENT)
FIN.
ALGORITMO CALCULO_AUMENTO;
DECLARACIÓN DE VARIABLES
TP:ALFANUMERICO CARACTER;
NP:NUMERICO ENTERO;
COSTO: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA TIPO DE REVISTA: “)
LEER(TP)
SI (TP= “C”) OR (TP=”H”) OR (TP=”F”)ENTONCES
COMIENZO
IMPRIMIR(“INTRODUZCA NRO. DE PAGINAS: “);
LEER(NP);
SI (NP<51) ENTONCES
COMIENZO
COSTO:=(NP*3);
IMPRIMIR(“EL COSTO DE LA REVISTA ES: “, COSTO);
FINSI
SINO
COMIENZO
SI (NP>=51) AND (NP<=180) ENTONCES
COMIENZO
COSTO:=(NP*10);
IMPRIMIR(“EL COSTO DE LA REVISTA ES: “, COSTO);
FINSI
SINO
COMIENZO
COSTO:=(NP*15);
IMPRIMIR(“EL COSTO DE LA REVISTA ES: “, COSTO);
FINSINO
FINSINO
FINSI
SINO
COMIENZO
IMPRIMIR(“TIPO DE REVISTA NO EXISTE”);
FINSINO
FIN.
CASO <EXPRESION> DE
<LISTA DE ETIQUETAS>: SENTENCIA1;
*
*
<LISTA DE ETIQUETAS>: SENTENCIAN
SINO
SENTENCIA+1;
FIN
La expresión que sigue a CASO es conocida como el selector, y
deberá producir un valor de un tipo ordinal. Las constantes que prefijan la
sentencia en cada “LISTAS DE ETIQUETAS” son conocidas como etiquetas
de casos y deben ser del mismo tipo (no estructurado) que el selector.
La acción de una instrucción CASO es evaluar la expresión selectora
y luego ejecutar la instrucción etiquetada por el valor resultante. Después de
esto, la ejecución prosigue con la instrucción que sigue a la instrucción
CASO.
Ejemplo 1: Tenemos una variable P que tiene los valores 1,2,3,4 y queremos
escribir una mensaje para cada valor distinto de P:
CASO P DE
1: IMPRIMIR (“COLOR ROJO”);
2: IMPRIMIR (“COLOR VERDE”);
3: IMPRIMIR (“NO HAY COLORES”);
4: IMPRIMIR (“SE AGOTO EL COLOR”);
SINO
IMPRIMIR (“NO EXISTE ESA OPCION”);
FIN;
CASO ALA DE
1: IMPRIMIR(“COLOR ROJO”);
4: COMIENZO
IMPRIMIR (“SE AGOTO EL COLOR”);
IMPRIMIR (“YA MANDE A COMPRAR”);
FIN;
FIN;
Ejemplo3:
CASO X>5 DE
TRUE: IMPRIMIR (“EL NUMERO ‘, X, ‘ES MAYOR QUE 5”);
FALSE: IMPRIMIR (“EL NUMERO ‘, X, ‘ES MENOR QUE 5”);
FIN;
DECLARACIÓN DE VARIABLES
carácter: Alfanumérico Carácter;
numeroA, numeroB: Numerico Entero;
COMIENZO
LEER(carácter);
numeroA:=0; numeroB:= 0;
CASO carácter DE
‘A’: numeroA:= numeroA + 1;
‘B’: numeroA:= numeroA + 1;
‘C’: numeroB:= numeroB + 1;
FIN;
*
*
FIN.
CASO CARÁCTER DE
‘A’,’B’:NUMEROA +1;
‘C’: NUMEROB +1;
FIN;
ESTRUCTURAS REPETITIVAS:
Generalmente, para la resolución de un problema, se necesita que
una acción o secuencias de acciones se realicen varias veces. La repetición
de un grupo de pasos de un algoritmo puede tomar diferentes formas:
1. La repetición se efectúa un numero conocidos de veces
2. La repetición se efectúa mientras se mantenga cierta condición
3. La repetición se efectúa hasta que se alcance cierta condición.
Su Sintaxis es la siguiente:
Ejemplo:
Supongamos que el operador de la ** (potencia) no existe y se quiere
evaluar cualquier número a la n. La solución es multiplicar ese número por si
mismo n veces.
Para resolver el problema se necesita una variable que contendrá la
solución. El nombre de la variable será potencia y en ella se van a realizar
multiplicaciones sucesivas del numero (num) que se va a elevar a la n; como
se muestra a continuación potencia:= potencia * num. Esta variable debe
ser inicializada en 1.
Además se necesita otra variable contador, en donde se van a
realizar sumas sucesivas del valor 1. Esta permitirá saber hasta cuando se
deben realizar las multiplicaciones sucesivas sobre la variable potencia. La
variable contador debe ser inicializada en 0.
contador:= 0;
potencia:= 1;
HAGA MIENTRAS contador < n
COMIENZO
Potencia:= potencia * num;
Contador:= contador + 1;
FIN HAGA MIENTRAS
Ejemplo:
A:=0;
I:=1;
HAGA MIENTRAS (I< = 4)
COMIENZO
A:=A+1,
A:=A+I;
I:=I+1;
FIN;
ALGORITMO SUMANUMEROSPRIMOS;
DECLARACIÓN DE VARIABLES
NUM, I, SUMA: NUMERICO ENTERO;
INICIO
IMPRIMIR(“INTRODUZCA CUANTOS NUMERO DESEA SUMAR: “);
LEER(NUM);
I=1;
SUMA= 0;
HAGA MIENTRAS (I<=NUM)
COMIENZO
SUMA=(SUMA + I);
I=I+1;
FIN HAGA MIENTRA
IMPRIMIR(“LA SUMA ES:”, SUMA);
FIN.
ALGORITMO PROMEDIONUMEROS;
DECLARACIÓN DE VARIABLES
NUM, I, SUMA: NUMERICO ENTERO;
PROMED: NUMERICO REAL;
INICIO
I=1;
SUMA= 0;
HAGA MIENTRAS (I<=10)
COMIENZO
IMPRIMIR(“INTRODUZCA UN NUMERO ENTERO: “);
LEER(NUM);
SUMA=(SUMA + NUM);
I=I+1;
FIN HAGA MIENTRA
PROMED=SUMA/10;
IMPRIMIR(“EL PROMEDIO ES:”, PROMED);
FIN.
ALGORITMO NOMINA;
DECLARACIÓN DE VARIABLES
NHT, NUM, I: NUMERICO ENTERO;
COSTOH, SUELDO, SUELDOT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA EL NUMERO DE TRABAJADORES A LOS QUE
DESEA CALCULAR SUELDO: “);
LEER(NUM);
I=1;
SUELDOT= 0;
HAGA MIENTRAS (I<=NUM)
COMIENZO
IMPRIMIR(“INTRODUZCA EL NUMERO DE HORAS TRABAJADAS: “);
LEER(NHT);
IMPRIMIR(“INTRODUZCA EL COSTO DE HORA: “);
LEER(COSTOH);
SUELDO= (NHT * COSTOH);
IMPRIMIR(“EL SUELDO ES:”, SUELDO);
SUELDOT= (SUELDOT + SUELDO);
I=I+1;
FIN HAGA MIENTRA
IMPRIMIR(“EL MONTO TOTAL DE LA NOMINA ES:”, SUELDOT);
FIN.
ALGORITMO NOTAS;
DECLARACIÓN DE VARIABLES
NUM, I, CNA,CNR, ANA, ANR: NUMERICO ENTERO;
NOTA, PROMEDA, PROMEDR, PROMEDT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA EL NUMERO: “);
LEER(NUM);
I=1;
CNA=0; CNR=0;
ANA=0; ANR=0;
HAGA MIENTRAS (I<=NUM)
COMIENZO
IMPRIMIR(“INTRODUZCA LA NOTA: “);
LEER(NOTA);
SI (NOTA>=10)ENTONCES
COMIENZO
CNA=(CNA + 1);
ANA=(ANA+NOTA);
FINSI
ELSE
COMIENZO
CNR=(CNR + 1);
ANR=(ANR+NOTA);
FINSINO
I=I+1;
FIN HAGA MIENTRA
PROMEDA= (ANA/CNA);
PROMEDR= (ANR/CNR);
PROMEDT = (ANA + ANR)/NUM;
IMPRIMIR(“NOTAS APROBADAS:“, ANA);
IMPRIMIR(“NOTAS REPROBADAS:”, ANR);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS APROBADAS:”, PROMEDA);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS REPROBADAS:”, PROMEDR);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS APRBADAS Y
REPROBADAS:”, PROMEDT);
FIN.
Su Sintaxis es la siguiente:
REPITA
(Instrucciones)
REPITA
Acción 1
Acción 2
-
-
Acción n
HASTA QUE CONDICION.
Ejemplo:
a:= 0;
REPITA
a:= a + 1;
w:= a + 10;
z:= w + 9;
HASTA QUE a > 5
ALGORITMO SUMANUMEROSPRIMOS;
DECLARACIÓN DE VARIABLES
NUM, I, SUMA: NUMERICO ENTERO;
INICIO
IMPRIMIR(“INTRODUZCA CUANTOS NUMERO DESEA SUMAR: “);
LEER(NUM);
I=1;
SUMA= 0;
REPITA
SUMA=(SUMA + I);
I=I+1;
HASTA QUE (I>NUM)
IMPRIMIR(“LA SUMA ES:”, SUMA);
FIN.
ALGORITMO PROMEDIONUMEROS;
DECLARACIÓN DE VARIABLES
NUM, I, SUMA: NUMERICO ENTERO;
PROMED: NUMERICO REAL;
INICIO
I=1;
SUMA= 0;
REPITA
IMPRIMIR(“INTRODUZCA UN NUMERO ENTERO: “);
LEER(NUM);
SUMA=(SUMA + NUM);
I=I+1;
HASTA QUE (I>10)
PROMED=SUMA/10;
IMPRIMIR(“EL PROMEDIO ES:”, PROMED);
FIN.
ALGORITMO NOMINA;
DECLARACIÓN DE VARIABLES
NHT, NUM, I: NUMERICO ENTERO;
COSTOH, SUELDO, SUELDOT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA EL NUMERO DE TRABAJADORES A LOS QUE
DESEA CALCULAR SUELDO: “);
LEER(NUM);
I=1;
SUELDOT= 0;
REPITA
IMPRIMIR(“INTRODUZCA EL NUMERO DE HORAS TRABAJADAS: “);
LEER(NHT);
IMPRIMIR(“INTRODUZCA EL COSTO DE HORA: “);
LEER(COSTOH);
SUELDO= (NHT * COSTOH);
IMPRIMIR(“EL SUELDO ES:”, SUELDO);
SUELDOT= (SUELDOT + SUELDO);
I=I+1;
HASTA QUE (I>NUM)
IMPRIMIR(“EL MONTO TOTAL DE LA NOMINA ES:”, SUELDOT);
FIN.
ALGORITMO NOTAS;
DECLARACIÓN DE VARIABLES
NUM, I, CNA,CNR, ANA, ANR: NUMERICO ENTERO;
NOTA, PROMEDA, PROMEDR, PROMEDT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA EL NUMERO: “);
LEER(NUM);
I=1;
CNA=0; CNR=0;
ANA=0; ANR=0;
REPITA
IMPRIMIR(“INTRODUZCA LA NOTA: “);
LEER(NOTA);
SI (NOTA>=10)ENTONCES
COMIENZO
CNA=(CNA + 1);
ANA=(ANA+NOTA);
FINSI
ELSE
COMIENZO
CNR=(CNR + 1);
ANR=(ANR+NOTA);
FINSINO
I=I+1;
HASTA QUE(I>NUM)
PROMEDA= (ANA/CNA);
PROMEDR= (ANR/CNR);
PROMEDT = (ANA + ANR)/NUM;
IMPRIMIR(“NOTAS APROBADAS:“, ANA);
IMPRIMIR(“NOTAS REPROBADAS:”, ANR);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS APROBADAS:”, PROMEDA);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS REPROBADAS:”, PROMEDR);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS APRBADAS Y
REPROBADAS:”, PROMEDT);
FIN.
Su Sintaxis es la siguiente:
Donde:
VARB1 es una variable de control
VARB 2 y VARB3 pueden ser un valor o una variable, además definen
el valor Inicial y final de VARB1.
a1:= 10;
HAGA DESDE i = 1 HASTA 10
COMIENZO
a1:= a1 + 1;
b1:= a1 + 1;
FIN DEL HAGA DESDE
Algoritmo ELEVAR;
Declaración de Variables
Contador, cuadrado: Numérico Entero;
Inicio
Haga Desde contador:=1 hasta 10
Comienzo
Cuadrado:=SQR(contador);
IMPRIMIR(contador);
IMPRIMIR(cuadrado);
FIN Haga Desde;
FIN.
Solución:
Descripción de las Variables que se van a utilizar:
pv = precio de artículo.
uv = unidades vendidas.
n = número de identificación del artículo.
c = cantidad de artefactos eléctricos vendidos.
p = suma de los precios de los artefactos eléctricos.
vtotal = ventas totales.
prom = promedio de los precios de los artefactos eléctricos.
resp = variable que controla el ciclo HAGA MIENTRAS
v = ventas.
ALGORITMO Artículo;
DECLARAR VARIABLES
uv, c, p: Numérico Entero;
pv, v, vtotal, prom: Numérico Real;
resp: Alfanumérico;
INICIO
c:=0; p:=0; vtotal:=0;
resp:= ‘S’;
HAGA MIENTRAS (resp = ‘S’) or (resp = ‘s’)
COMIENZO
IMPRIMIR (‘Introduzca Precio del Artículo: ‘);
LEER (pv);
IMPRIMIR (‘Introduzca Unidades Vendidas: ‘);
LEER (uv);
IMPRIMIR (‘Introduzca el Numero que Identifica el Artículo: ‘);
LEER (n);
Nota:
1. Este ejemplo también pudo resolverse usando la forma de la
Estructura repetitiva REPITA ....... HASTA CONDICION.
2. La forma HAGA DESDE....., de la estructura de repetición no se
puede utilizar en este ejemplo ya que no se conoce el número de
veces que se debe ejecutar el bloque.
ALGORITMO SUMANUMEROSPRIMOS;
DECLARACIÓN DE VARIABLES
NUM, I, SUMA: NUMERICO ENTERO;
INICIO
IMPRIMIR(“INTRODUZCA CUANTOS NUMERO DESEA SUMAR: “);
LEER(NUM);
I=1;
SUMA= 0;
HAGA DESDE (I =1 HASTA NUM)
COMIENZO
SUMA=(SUMA + I);
FIN HAGA DESDE
IMPRIMIR(“LA SUMA ES:”, SUMA);
FIN.
ALGORITMO PROMEDIONUMEROS;
DECLARACIÓN DE VARIABLES
NUM, I, SUMA: NUMERICO ENTERO;
PROMED: NUMERICO REAL;
INICIO
I=1;
SUMA= 0;
HAGA (DESDE I =1 HASTA 10)
COMIENZO
IMPRIMIR(“INTRODUZCA UN NUMERO ENTERO: “);
LEER(NUM);
SUMA=(SUMA + NUM);
I=I+1;
FIN HAGA DESDE
PROMED=SUMA/10;
IMPRIMIR(“EL PROMEDIO ES:”, PROMED);
FIN.
ALGORITMO NOMINA;
DECLARACIÓN DE VARIABLES
NHT, NUM, I: NUMERICO ENTERO;
COSTOH, SUELDO, SUELDOT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA EL NUMERO DE TRABAJADORES A LOS QUE
DESEA CALCULAR SUELDO: “);
LEER(NUM);
I=1;
SUELDOT= 0;
HAGA DESDE (I= 1 HASTA NUM)
COMIENZO
IMPRIMIR(“INTRODUZCA EL NUMERO DE HORAS TRABAJADAS: “);
LEER(NHT);
IMPRIMIR(“INTRODUZCA EL COSTO DE HORA: “);
LEER(COSTOH);
SUELDO= (NHT * COSTOH);
IMPRIMIR(“EL SUELDO ES:”, SUELDO);
SUELDOT= (SUELDOT + SUELDO);
I=I+1;
FIN HAGA DESDE
IMPRIMIR(“EL MONTO TOTAL DE LA NOMINA ES:”, SUELDOT);
FIN.
ALGORITMO NOTAS;
DECLARACIÓN DE VARIABLES
NUM, I, CNA,CNR, ANA, ANR: NUMERICO ENTERO;
NOTA, PROMEDA, PROMEDR, PROMEDT: NUMERICO REAL;
INICIO
IMPRIMIR(“INTRODUZCA EL NUMERO: “);
LEER(NUM);
I=1;
CNA=0; CNR=0;
ANA=0; ANR=0;
HAGA DESDE (I=1 HASTA NUM)
COMIENZO
IMPRIMIR(“INTRODUZCA LA NOTA: “);
LEER(NOTA);
SI (NOTA>=10)ENTONCES
COMIENZO
CNA=(CNA + 1);
ANA=(ANA+NOTA);
FINSI
ELSE
COMIENZO
CNR=(CNR + 1);
ANR=(ANR+NOTA);
FINSINO
I=I+1;
FIN HAGA DESDE
PROMEDA= (ANA/CNA);
PROMEDR= (ANR/CNR);
PROMEDT = (ANA + ANR)/NUM;
IMPRIMIR(“NOTAS APROBADAS:“, ANA);
IMPRIMIR(“NOTAS REPROBADAS:”, ANR);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS APROBADAS:”, PROMEDA);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS REPROBADAS:”, PROMEDR);
IMPRIMIR(“PROMEDIO TOTAL DE NOTAS APRBADAS Y
REPROBADAS:”, PROMEDT);
FIN.
Salario [ n ]
Calificaciones [ 40 ] 6
Artículo [ 2 ] 52
Artículo [ 3 ] 7
-
-
Artículo [ 20 ] 15
Índice o
Nombre Subíndice
del Vector
Índice o
Nombre Subíndice
del Vector
FORMA DE DECLARACIÓN
Nota [ 1 ] Subíndice
Declaración:
Declaración de Variables
Nota : Array [1 . . 8 ] de Numérico Real;
Algoritmo Tempera;
Declaración de Variables
temperatura:array [1..12] de numérico real;
tempmedia,Acum: numérico real;
cant, I: integer;
resp: ALFANUMERICO;
INICIO
resp:=’S’;
HAGA MIENTRAS (resp=’S’) or (resp=’s’)
COMIENZO
Limpiar Pantalla;
IMPRIMIR ('PROGRAMA DE TEMPERATURAS');
HAGA DESDE I:= 1 HASTA 12
COMIENZO
IMPRIMIR ('Introduzca Temperatura: ' );
LEER (temperatura[I] );
FIN Haga Desde;
Acum:=0;
HAGA DESDE I:= 1 HASTA 12
COMIENZO
Acum:=( Acum+temperatura[I]);
FIN Haga Desde;
tempmedia:=(Acum / 12);
cant:=0;
HAGA DESDE I:= 1 HASTA 12
COMIENZO
SI (temperatura[I]>=tempmedia) ENTONCES
cant:= (cant+1);
FIN Haga Desde;
ALGORITMO LEEIMP;
DECLARACIÓN DE CONSTANTE
N=50;
DECLARACIÓN DE VARIABLE
NOTA:ARRAY[1..N] de numérico real;
ALUMNO:ARRAY[1..N] de alfanumérico Cadena;
NUMERO,POSI: numérico entero;
RESP:Alfanumerico Carácter;
INICIO
REPITA
Limpiar Pantalla;
IMPRIMIR('INTRODUZCA EL NUMERO DE ALUMNOS: ');
LEER(NUMERO);
HAGA DESDE POSI:=1 HASTA NUMERO
COMIENZO
IMPRIMIR('INTRODUZCA EL NOMBRE DEL ALUMNO # ', POSI, ' : ' );
LEER(ALUMNO[POSI]);
IMPRIMIR('INTRODUZCA EL PROMEDIO: ');
LEER(NOTA[POSI]);
FIN Haga Desde;
IMPRIMIR('LISTADO');
IMPRIMIR('NOMBRE');
IMPRIMIR('PROMEDIO');
Al igual que los array de una dimensión (los vectores), los array
multidimensionales (tablas) se crean con declaraciones de variables.
Se debe indicar:
1. Nombre del array.
2. Tipo del array (todos los elementos de un array deben de ser del
mismo tipo).
3. el rango permitido (es decir, el primero y último valores posible) por
cada subíndice.
Columnas
1 2 3 4
16.4 3.45 2.43 0.04 1
18.5 14.6 17.0 02.5 2
filas
14.9 2.5 1.0 0.9 3
19.9 20 22 30 4
Nota[1,1] = 16.4
Nota[1,2] = 3.45
Nota[1,3] = 2.43
Nota[1,4] = 2.04
Nota[2,1] = 18.5
Nota[2.2] = 14.16
Nota[2,3] = 17.0
Nota[2,4] = 02.5
Nota[3,1] = 14.9
Nota[3,2] = 2.5
Nota[3,3] = 1.0
Nota[3,4] = 0.9
Nota[4,1] = 19.9
Nota[4.2] = 20
Nota[4,3] = 22
Nota[4,4] = 30
Algoritmo DIAGONALPRINCIAPAL;
DEFINIR VARIABLE
NUM: ARRAY[1..3,1..3] DE Numérico Entero;
F,C,DP,DS: Numérico Entero;
R: Alfanumérico Carácter;
INICIO
REPITA
LIMPIAR PANTALLA;
IMPRIMIR ('ALGORITMO QUE CALCULA LA DIAGONAL PRINCIPAL Y
SECUNDARIA DE UNA MATRIZ');
HAGA DESDE F:=1 HASTA 3
COMIENZO
HAGA DESDE C:=1 HASTA 3
COMIENZO
IMPRIMIR('INTRODUZCA NUMERO[',F,C,']:');
LEER(NUM[F,C]);
FIN Haga Desde;
FIN Haga Desde;
DP:=0; DS:=0;
HAGA DESDE F:=1 HASTA 3
COMIENZO
DP:=(DP+NUM[F,F]);
DS:=(DS+NUM[F,4-F]);
FIN Haga Desde;
IMPRIMIR(‘LA DIAGONAL PRINCIPAL ES: ', DP);
IMPRIMIR('LA DIAGONAL SECUNDARIA ES: ', DS);
IMPRIMIR('DESEA LLENAR OTRA MATRIZ (S/N): ');
LEER(R);
HASTA QUE (R='N') OR (R='n');
FIN.
Sintaxis:
Esta depende del lenguaje de programación que se use. El esquema
que utilizaremos tendrá la palabra “Función” que indica el inicio de la función,
seguido del identificador o nombre, la lista de parámetros, el tipo de dato de
retorno de la función y el cuerpo de la función que estarán encerrado entre
Inicio o comienzo y fin de la función.
Por ejemplo:
Declaración de Variables
Resultado: Numérico Entero;
numero: Numérico Entero;
Inicio
Resultado = sumarEnteros(8, 9);
Imprimir (“ La suma de 8 más 9 es:”, Resultado);
Numero=12;
Resultado = sumarEnteros(numero, 5);
Imprimir (“ La suma de 12 más 5 es:”, Resultado);
Imprimir (“ La suma de 2 más 2 es:”, sumarEnteros(2, 2));
Fin.
Nota: Para que una función pueda ser invocada desde cualquier parte de un
programa, es necesario que la definición de dicha función ya sea del
conocimiento previo del compilador antes de usarla. Esto es así porque la
mayoría de los lenguajes de programación requieren que la función,
procedimiento o subrutina, esté definida antes de permitir su uso. Es decir, el
nombre de la función, tipo y números de argumentos deben estar presentes
en alguna parte valida de programa antes de ser invocada.
Algoritmo Calcular_mitad;
Declaración de Variables
Num: Numérico Entero;
Inicio
Imprimir (“Introduzca un Número Entero para hallar su mitad:”);
Leer(Num);
Imprimir (“La mitad de “, num, ”es:”, mitad(Num));
Fin.
Algoritmo Calcular_Mayor_tres_numeros;
Declaración de Variables
A,b,c,d: Numérico Entero;
Inicio
Imprimir(“Introduzca el primer Numero:”);
Leer(a);
Imprimir(“Introduzca el segundo Numero:”);
Leer(b);
Imprimir(“Introduzca el tercer Numero:”);
Leer(c);
d=máximo(a,b);
d=máximo(c,d);
Imprimir(“El Numero Mayor es:”, d);
Fin.
Sintaxis
La sintaxis para declarar un procedimiento casi es la misma que para
definir una función, sólo que no se coloca un tipo de retorno asociado. La
cabecera va a estar formada por el nombre del procedimiento que será un
identificador valido con significado. Después entre paréntesis se colocan los
parámetros o argumentos formales que requiere el procedimiento. Por cada
parámetro es necesario indicar el tipo de paso de parámetro.
Algoritmo calcular_mitad
Declaración de Variables
N: Numérico Entero; Nota: Este ejemplo ent-sal med: real,
Mit: Numérico real; se usa para indicar que el parámetro
Inicio del tipo real med es de entrada y salida
Imprimir (“Introduzca un Número:”); o que es un parámetro por referencia.
Leer(N);
mitad(N,Mit);
Imprimir(“La mitad es:”, Mit);
Fin.