Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Copyright
All rights reserved text
Algoritmo y Estructura de Datos
ALGORITMO Definido: para los mismos datos de
entrada obtienen los mismos de salida.
Un algoritmo es una secuencia precisa
de operaciones (pasos) que resuelven un Preciso: debe indicarse el orden de
problema en un tiempo finito. En realización de cada paso
matemáticas, lógica, ciencias de la
computación y disciplinas relacionadas,
Independiente del lenguaje de
un algoritmo (del griego y latín, dixit
programación.
algorithmus y este a su vez del
matemático persa Al-Juarismi), es un
PROPIEDADES DE LOS
conjunto prescrito de instrucciones o
ALGORITMOS
reglas bien definidas, ordenadas y
finitas que permite realizar una
➢ Siempre debe terminar.
actividad mediante pasos sucesivos que
➢ Debe contener instrucciones
no generen dudas a quien deba realizar
concretas, sin ninguna ambigüedad.
dicha actividad. Dados un estado inicial
➢ Todos sus pasos deben ser simples
y una entrada, siguiendo los pasos
y tener un orden definido.
sucesivos se llega a un estado final y se
➢ Debe funcionar, sean cuales sean
obtiene una solución. Los algoritmos
los datos de entrada.
son el objeto de estudio de la algoritmia.
➢ Debe ser eficiente y rápido,
Los algoritmos son independientes del
entonces hay que Optimizar para un
lenguaje de programación y del
problema existen múltiples
ordenador que los ejecuta. Se pueden
➢ soluciones, y debemos escoger
expresar en multitud de lenguajes y
aquella que consuma menos tiempo
ejecutarse en ordenadores distintos.
y recursos.
➢ Es independiente de la máquina y
SUS CARACTERÍSTICAS SON:
del lenguaje de programación que
Finito: debe tener un número finito de se vaya a utilizar. Un algoritmo
pasos, por lo que debe estar limitado puede implementarse (Imprimirse)
tanto en tiempo de realización como por en cualquier lenguaje de
el número de pasos que realiza. programación.
Análisis
Etapa de Documentación y
Diseño Mantenimiento: Se elabora la
Codificación
documentación del programa, y se
Pruebas
realizan las actualizaciones oportunas
que se vayan necesitando.
Mantenimiento
Diagrama de
flujo
PROCESO DE CREACIÓN DE UN
Diseño
PROGRAMA Diagrama N-S
Lenguaje
natural humano
➢ Planteamiento del problema a Pseudocódigo
Formulas
resolver. Antes de nada, debemos
conocer perfectamente el problema
y los resultados a obtener. Lenguajes de
programación
Inicio:
Leer (nota1);
Inicio: Leer (nota2);
Si <Se cumple la condición>; Leer (nota3);
Inicio Promedio ← (nota1+nota2+nota3)/3;
<Conjunto de acciones>; Imprimir (Promedio);
Fin Si (Promedio>=10.5);
Sino <No cumple la condición>; Imprimir (“Aprobado”);
Inicio Sino
<Conjunto de acciones>; Imprimir (“Desaprobado”);
Fin Fin.
Fin.
ESTRUCTURA ITERATIVA O DE
Observación: primero se examina la
REPETICIÓN
condición: si resulta verdadera, se
ejecutan las acciones asociadas al SI, en
Esta estructura presenta una serie de
caso contrario se ejecutan las acciones
variantes que permiten:
asociadas al si no.
Estructura mientras: Esta estructura
permite repetir un conjunto de
La instrucción SI NO, no es obligatoria
instrucciones 0 o más veces, ya que la
en una estructura condicional (si no
condición se verifica antes de entrar en
el bucle.
Yony Raúl CHAMBILLA PARI Pág. 6
Algoritmo y Estructura de Datos
El formato de esta estructura es el ESTRUCTURA PARA
siguiente:
Permite realizar una acción un número
Mientras (Se cumpla la condición) determinado de veces.
Inicio El formato de esta estructura es el
<Conjunto de acciones>; siguiente:
Fin.
Si es en hoja distinta:
EL LENGUAJE C.
Inicio
Leer estudiante; Es un lenguaje de nivel medio: combina
Mientras estudiante<>”” Hacer elementos de lenguajes de alto nivel con
Leer nota_practica;
la funcionalidad del ensamblador.
Leer nota_problemas;
Permite hacer cosas que otros lenguajes
Leer nota_teoria;
de alto nivel no pueden hacer
Si (nota_practica<=10 AND
nota_practica>=0)
(manipulación de bits, bytes,
AND (nota_problemas<=10 AND direcciones) y es tan fácil de usar como
nota_problemas>=0) cualquier otro lenguaje de alto nivel.
AND (nota_teoria<=10 AND Es particularmente adecuado para la
nota_teoria>=0) Entonces programación de sistemas.
Imprimir “El estudiante “ estudiante;
Es muy portable, es decir, es posible
Imprimir “La nota practica es “
adaptar el software escrito para un tipo
nota_practica;
de ordenador en otro.
Imprimir “La nota de problemas es “
nota_problemas;
Imprimir “La nota de 12eoría es “ OPERADORES EN C
nota_teoria;
nota_practica←nota_practica*0.1; Los programas en C++ constan de
nota_problemas←nota_problemas*0.5; datos, sentencias de programas y
nota_teoria←nota_teoria*0.4;
expresiones.
nota_final←nota_practica+nota_problema
La mayoría de los programas en C++
s+nota_teoria;
realizan operaciones básicas, a través de
Imprimir “La nota final es “ nota_final;
Sino
un conjunto potente de operadores, que
Imprimir “Has escrito una nota incorrecta, usándolos correctamente aumenta la
vuelve a intentarlo”; expresividad y eficiencia del lenguaje.
FinSi Operador de Asignación
Imprimir “Introduce el nombre de otro El operador = asigna el valor de la
estudiante”;
expresión derecha a la variable situada
Leer estudiante;
a su izquierda.
FinMientras
Sintaxis:
Fin
Operador
Expresión valor de la variable en la expresión y
equivalente
a+=b a=a+b luego se lleva a cabo la operación
a*=b a=a*b
Por ejemplo:
a/=b a=a/b
Supón que a = 10 y c = 4
a%=b a=a%b
La operación v = a * c++; v toma el
valor de 40 y c queda con el valor de 5.
OTROS OPERADORES
La operación v = a * ++c; v toma el
ARITMÉTICOS
valor de 50 y c queda con el valor de 5.
Empezando por
1 () los paréntesis
Es decir: más internos
x++ ó ++x es equivalente a x = x+1 De derecha a
++, --,
izquierda, ++ y
2 +(positivo),
x- - ó - -x es equivalente a x = x - 1 -- dependiendo
- (negativo)
de la posición
De izquierda a
3 *,/,%
derecha
Estos operadores son unitarios, es decir,
trabajan con un solo operando y 4 +,-
De izquierda a
derecha.
solamente se pueden utilizar con
=,+=,-=,*=, De izquierda a
variables de tipo entero. Los operadores 5
/=,%= derecha.
se pueden utilizar antes o después del