SlideShare una empresa de Scribd logo
1 de 21
Descargar para leer sin conexión
 
UNIVERSIDAD FERMIN TORO
VICERRECTORADO ACADÉMICO
FACULTAD DE INGENIERÍA
 
Chucho Briceño 
Cabudare, edo. Lara 
Algoritmos 
23 de Julio del 2018 
Algoritmos 
Como algoritmo denominamos un conjunto ordenado y finito de operaciones simples a través 
del cual podemos hallar la solución a un problema.Los algoritmos nos permiten ejecutar una 
acción o resolver un problema mediante una serie 
de instrucciones definidas, ordenadas y finitas. 
Así, dado un estado inicial y una entrada, y 
siguiendo los sucesivos pasos indicados, se llega 
al estado final y se obtiene una solución.En 
informática o programación, el algoritmo es la 
secuencia de instrucciones mediante la cual 
podemos resolver un problema o cuestión. De 
hecho, todas las tareas ejecutadas por la 
computadora se basan en algoritmos. Un 
software o programa informático está diseñado a 
base de algoritmos, de modo que podemos 
introducir una tarea en él y resolverla. 
 
 
 
2  
 
Caracterìsticas 
Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos". 
Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a 
llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso". 
Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el 
algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas 
de conjuntos específicos de objetos". 
Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica 
con las entradas". 
Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las 
operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en 
principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz 
y papel". 
A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o 
valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con 
excepción de los algoritmos probabilistas. 
  
Datos 
Un dato es la expresión general que describe los objetos con los cuales opera una 
computadora. Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple 
caracter, tal como "b" o un valor entero tal como 35. El tipo de dato determina la naturaleza del 
conjunto de valores que puede tomar una variable. 
 
 
 
3  
 
Tipos de Datos 
En los programas cada elemento de datos debe ser de un tipo especifico. El
tipo de datos determina cómo se representaran los elementos de datos en la
computadora y qué tipo de procesamiento podrá ejecutar sobre ellos la
computadora. Los datos a procesar por una computadora pueden clasificarse
en:
a) Datos Simples: ocupan sólo una casilla de memoria, por lo tanto una
variable simple hace referencia a un único valor a la vez. Hay tres tipos
básicos de datos simples, los cuales son:
● Datos Numéricos (enteros y reales)
● Datos Alfanuméricos (carácter y cadena)
● Datos Lógicos o boléanos
b) Datos Estructurados: a diferencia de los datos simples, estos ocupan mas
de una casilla de memoria, entre ellos tenemos:
● Arreglos (Vectores y Matrices)
● Registros
● Archivos o ficheros
 
 
4  
● Punteros 
Variables 
Variables:
Son zonas de memoria cuyo contenido cambia durante la fase de
procesamiento de información.
Tipos de variables:
● Variables Numéricas (Enteras y Reales)
● Variables Alfanuméricas
a) Caracteres alfabéticos
b) Dígitos
c) Caracteres especiales
● Variables Lógicas (Boolenas)
Son las que únicamente pueden contener dos valores, los cuales son:
● Valor Verdadero ó 1
● Valor Falso ó 0
 
 
5  
Estos tipos de variables pueden tomar únicamente valores del mismo tipo, es
decir si la variable es entera solamente puede almacenar datos enteros.
Operadores 
Los operadores aritméticos como su nombre lo indica, realizan operaciones
aritméticas entre datos de tipo numérico, y devuelven un resultado numérico.
Los operadores aritméticos utilizan operandos numéricos (ya sea en forma de
variables, constantes simbólicas o constantes numéricas) y generan un
resultado tipo numérico también. Si te lo imaginas como un proceso, la figura
2 te ayuda a entender este proceso.​ En la siguiente figura te muestro los
operadores aritméticos del lenguaje de programación Java
Figura 1. Operadores aritméticos del lenguaje Java
 
 
6  
En programación, es obligatorio usar el símbolo * cada vez que se desea realizar
una multiplicación. En programación, a diferencia de lo que sucede en
matemáticas, dos variables juntas no implican multiplicación. Por ejemplo:
y = xz
En matemáticas indica que el valor de ​y ​ es igual a la multiplicación entre las
variables ​x​, y ​z. ​En programación, tenemos que indicar explícitamente esta
operación de la siguiente forma:
 
 
7  
y = x * z;
Lo mismo sucede con los paréntesis. En matemáticas se utilizan tanto para
agrupar términos de una ecuación, como para multiplicarlos. En programación
ningún otro símbolo sirve para multiplicar más que el *. Como se verá más
adelante, el uso de los paréntesis en programación está reservado ya sea para
alterar la jerarquía de operadores, o para llamar a un método. Por lo tanto, una
expresión matemática de la siguiente forma:
y = 3x(2z+6)
Debe ser traducida considerando la funcionalidad de los operadores del lenguaje
que se va a utilizar para programar. En el caso de Java (y una gran mayoría de
los lenguajes de programación populares), la conversión es la siguiente:
y = 3 * x * ( 2* z + 6 );
El operador residuo​.
El operador % se conoce como ​“módulo de la división”​. Este operador obtiene el
residuo de una división entre números enteros. Si ya has olvidado las partes de
una división, te tengo una figura para que las recuerdes y puedas entender esta
operación.
 
 
 
 
8  
Operadores 
Jerarquìa de operadores
La ​jerarquía​ o ​precedencia​ de operadores es simplemente un conjunto de
reglas que indica cuál de todos los operadores aritméticos debe realizarse
primero.
Para obtener el resultado de una expresión aritmética (o evaluar una
expresión) se deben considerar las reglas de precedencia de operadores, las
cuales son las siguientes:
1. Los operadores se evaluan de izquierda a derecha, y respetando la
jerarquía de estos.
2. La jerarquía de operadores aritméticos es la siguiente:
○ Nivel 1: * / %
○ Nivel 2: + –
3. Los únicos operadores que pueden alterar estas reglas son los
paréntesis ( ).
 
 
9  
Constantes 
Constantes:
Una constante es un dato numérico o alfanumérico que no cambia
durante todo el desarrollo del algoritmo o durante la ejecución del
programa. Es un objeto de valor invariable. Para expresar una
constante se escribe explícitamente su valor.
 
 
10  
Tipos de Constantes:
● Constantes Numéricas (Enteras y Reales)
● Constantes Alfanuméricas
● Constantes Lógicas (Boolenas)
Las constantes pueden ser:
Constantes sin nombre:​ Es una expresión numérica donde se puede
utilizar directamente el valor.
Constantes con nombre:​ Se hace una reserva de memoria en la cual se
guarda el valor que será utilizado como constante.
Ejemplo:
a) PI = 3.1416
b) E = 2.718228
c) Iva = 0.13
 
 
11  
Contadores
Los procesos repetitivos requieren contar los sucesos y acciones internas, una
forma de hacerlo es mediante un contador. Un contador es una variable cuyo
valor se incrementa o decrementa en una cantidad constante en cada
repetición. La forma en que se construye un contador es la siguiente:
int contador = 1; //variable con valor inicial de 1
contador = contador+1;
contador += 1;
contador ++;
Acumuladores
Las variables acumuladoras tienen la misión de almacenar resultados
sucesivos, es decir, de acumular resultados, de ahí su nombre.
Las variables acumuladores también debe ser inicializadas. Si llamamos
“acum” a un acumulador, escribiremos antes de iniciar el bucle algo como
esto: acum = 0
 
 
12  
Por supuesto, el valor inicial puede cambiar, dependiendo de la naturaleza del
problema. Más tarde, en el cuerpo del bucle, la forma en la que nos la
solemos encontrar es: acum = acum + N
…siendo N otra variable. Si esta instrucción va seguida de otras: acum =
acum + M acum = acum + P
… estaremos acumulando en la variable “acum” los valores de las variables
M, N, P, etc, lo cual resulta a veces muy útil para resolver ciertos problemas
repetitivos.
Ejemplo: Escribir un algoritmo que pida 10 números por el teclado y los
sume, escribiendo el resultadoalgoritmo sumar10variables cont es entero
suma es entero N es entero inicio suma = 0 para cont desde 1 hasta 10 hacer
inicio leer (N) suma = suma + N fin escribir (suma) fin
En este algoritmo, cont es una variable contador típica de bucle. Se ha usado
un bucle “para”, que es lo más sencillo cuando conocemos previamente el
número de repeticiones (10 en este caso). La variable Nsuma es el
acumulador, donde se van sumando los diferentes valores que toma N en cada
repetición. se usa para cada uno de los números introducidos por el teclado, y
la variable
 
 
13  
Identificadores
Los identificadores representan los datos de un programa (constantes,
variables, tipos de datos). Un identificador es una secuencia de caracteres que
sirve para identificar una posición en la memoria de la computadora, que
permite acceder a su contenido.
Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben
contener espacios en blanco.
Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del
primer carácter.
La longitud de identificadores puede ser de varios caracteres. Pero es
recomendable una longitud promedio de 8 caracteres.
El nombre del identificador debe dar una idea del valor que contiene.
 
 
 
 
 
 
14  
Condicionantes 
En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se 
pueden ejecutar o no en función del valor de una condición. 
Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES (if..then), el 
SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos 
mencionar al manejo de excepciones como una alternativa más moderna para evitar el 
"anidamiento" de sentencias condicionales. 
Las sentencias condicionales constituyen, junto con los bucles, los pilares de la programación 
estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que 
ejecutaba la siguiente línea o no en función del valor de una condición. 
Expresiones
Las expresiones son combinaciones de constantes, variables, símbolos de
operación (operadores), paréntesis y nombres de funciones especiales. Por
ejemplo:
sqrt ((p-a)*(p-b)*(p-c));
(a+b+c) / p;
Una expresión toma un valor que se determina por el resultado de la
ejecución de las operaciones indicadas, tomando los valores de las variables y
constantes y aplicando las prioridades de las operaciones.
 
 
15  
Según el tipo de operadores que se emplee en la expresión. Estas se clasifican
en aritméticas, lógicas, de caracteres o mixtas.
Expresiones aritmèticas​:
Este tipo de expresiones nos sirve para representar formulas matemáticas y
utilizan los operadores siguientes:
Operador Acción
+ Suma
- Resta
* Multiplicación
/ División
% Módulo
++ Incremento
-- Decremento
 
 
16  
Las expresiones que tienen 2 o más operadores requieren reglas de
precedencia que permiten determinar el orden en que habrán de efectuarse
dichas operaciones. Por ejemplo:
5 + 8 * 2 //Primero se hace 8 * 2 y luego se suma 5
5+16 = 21
10%3 = 1 //Regresa el residuo de la división entera
Nota: En caso de coincidir la prioridad de varios operadores en una expresión
el orden en el que se efectúan es de izquierda a derecha.
Expresiones lógicas
Estas emplean los operadores lógicos:
Operador Acción
Operadores Relacionales
> Mayor que
>= Mayor o igual
< Menor que
 
 
17  
<= Menor o igual
== Igual
!= Diferente
Operadores lógicos
&& Y
|| O
!
Condicionantes
En programación, una sentencia condicional es una instrucción o grupo de
instrucciones que se pueden ejecutar o no en función del valor de una
condición.
Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES
(if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o
switch), aunque también podríamos mencionar al manejo de excepciones
como una alternativa más moderna para evitar el "anidamiento" de sentencias
condicionales.
 
 
18  
Las sentencias condicionales constituyen, junto con los bucles, los pilares de
la programación estructurada, y su uso es una evolución de una sentencia en
lenguaje ensamblador que ejecutaba la siguiente línea o no en función del
valor de una condición.
Condicionantes
Un bucle o lazo (Loop) es un segmento de un algoritmo o programa, cuya
instrucciones se repiten un número determinado de veces mientras se cumple
una determinada condición (existe o es verdadera la condición). SE debe
establecer un mecanismo para determinar las tareas repetitivas. Este
mecanismo es una condición que puede ser verdadera o falsa y que se
comprueba una vez a cada paso o iteración del bucle (total de instrucciones
que se repiten en el bucle).
Un bucle consta de tres partes:
1. decisión,
2. cuerpo del bucle,
3. salida del bucle.
 
 
19  
El bucle de la siguiente figura es infinito, ya que las instrucciones (1), (2) y
(3) se ejecutan indefinidamente, pues no existe salida del bucle, al no
cumplirse una determinada condición.
Si tras la lectura de la variable N se coloca una condición, el bucle dejará de ser infinito y tendrá fin
cuando la condición sea verdadera.
 
 
20  
El diagrama de flujo escrito en pseudocódigo es aproximadamente el siguiente:
Inicio
SUMA 0
1: leer N
Si N = 0 entonces
Escribir SUMA
Ir_a fin
Si_no
Suma suma + N
FIN_SI
IR_A 1
FIN
 
 
21  
BUCLES ANIDADOS
Un bucle puede anidarse dentro de otro como se vio en clase con los condicionales anidados (un ​si
fin_si​ dentro de otro ​si Fin_si​)
 
 

Más contenido relacionado

La actualidad más candente

Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmosluisce03
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1Silvanac
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujocarlospaul
 
Algoritmo fundamentos de la programación
Algoritmo   fundamentos de la programaciónAlgoritmo   fundamentos de la programación
Algoritmo fundamentos de la programaciónDesarrolloWeb.com
 
Algoritmos computacionales conceptos básicos
Algoritmos computacionales   conceptos básicosAlgoritmos computacionales   conceptos básicos
Algoritmos computacionales conceptos básicosYahaira Fernández Segura
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmosMagda Fernandez
 
Tutorial Definición de algoritmo
Tutorial Definición de algoritmo Tutorial Definición de algoritmo
Tutorial Definición de algoritmo Michele André
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionBoris Salleg
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Duvan Aguilera
 

La actualidad más candente (20)

Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmos
 
Unidad 1.1 PROGRAMACION I
Unidad 1.1  PROGRAMACION IUnidad 1.1  PROGRAMACION I
Unidad 1.1 PROGRAMACION I
 
Algoritmos Y Programas Unidad1
Algoritmos Y  Programas Unidad1Algoritmos Y  Programas Unidad1
Algoritmos Y Programas Unidad1
 
Sesión 09 Fund Programación
Sesión 09 Fund ProgramaciónSesión 09 Fund Programación
Sesión 09 Fund Programación
 
Diagramas De Flujo
Diagramas De FlujoDiagramas De Flujo
Diagramas De Flujo
 
Algoritmo fundamentos de la programación
Algoritmo   fundamentos de la programaciónAlgoritmo   fundamentos de la programación
Algoritmo fundamentos de la programación
 
Algoritmos computacionales conceptos básicos
Algoritmos computacionales   conceptos básicosAlgoritmos computacionales   conceptos básicos
Algoritmos computacionales conceptos básicos
 
Algoritmos y diagramas de flujo
Algoritmos y diagramas de flujoAlgoritmos y diagramas de flujo
Algoritmos y diagramas de flujo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmos
 
Tutorial Definición de algoritmo
Tutorial Definición de algoritmo Tutorial Definición de algoritmo
Tutorial Definición de algoritmo
 
Variables
VariablesVariables
Variables
 
Algoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacionAlgoritmo variables, constantes, tipos de datos y asignacion
Algoritmo variables, constantes, tipos de datos y asignacion
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
Introduccion Analisis Algoritmos
Introduccion Analisis AlgoritmosIntroduccion Analisis Algoritmos
Introduccion Analisis Algoritmos
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Diagramas de flujo - Estructura - Definición
Diagramas de flujo - Estructura - Definición Diagramas de flujo - Estructura - Definición
Diagramas de flujo - Estructura - Definición
 
Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010Guia de aprendizaje VS2005-2010
Guia de aprendizaje VS2005-2010
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Tarea 6
Tarea 6Tarea 6
Tarea 6
 

Similar a Algoritmos y tipos de datos fundamentales

algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionMIKE_INK_RM
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacionnmqy28
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosMary Sanchez
 
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxTema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxdocmarcoantoniosotov
 
Sistemas Tecnológicos
Sistemas TecnológicosSistemas Tecnológicos
Sistemas Tecnológicosgomezsofi01
 
Material de apoyo unidad 3. datos y entidades primitivas
Material de apoyo unidad 3.  datos y entidades primitivasMaterial de apoyo unidad 3.  datos y entidades primitivas
Material de apoyo unidad 3. datos y entidades primitivasLeany González
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaJosé Ricardo Tillero Giménez
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantesSol Hernández
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmojairofr97
 

Similar a Algoritmos y tipos de datos fundamentales (20)

algoritmos y fundamentos de programacion
algoritmos y fundamentos de programacionalgoritmos y fundamentos de programacion
algoritmos y fundamentos de programacion
 
Introduccion a la logica de programacion
Introduccion a la logica de programacionIntroduccion a la logica de programacion
Introduccion a la logica de programacion
 
algortimos
algortimosalgortimos
algortimos
 
Entidades Primitivas Para Algoritmos
Entidades Primitivas Para AlgoritmosEntidades Primitivas Para Algoritmos
Entidades Primitivas Para Algoritmos
 
10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf
 
Unidad i
Unidad iUnidad i
Unidad i
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptxTema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
Tema 2 parte 2 Algoritmos - Variables, constantes y operadores.pptx
 
Sistemas Tecnológicos
Sistemas TecnológicosSistemas Tecnológicos
Sistemas Tecnológicos
 
Algoritmos y programas ing civil
Algoritmos y programas ing civil Algoritmos y programas ing civil
Algoritmos y programas ing civil
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Unidad i-guia1
Unidad i-guia1Unidad i-guia1
Unidad i-guia1
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Material de apoyo unidad 3. datos y entidades primitivas
Material de apoyo unidad 3.  datos y entidades primitivasMaterial de apoyo unidad 3.  datos y entidades primitivas
Material de apoyo unidad 3. datos y entidades primitivas
 
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin SantaellaClase 3. Datos y Entidades Primitivas - Sullin Santaella
Clase 3. Datos y Entidades Primitivas - Sullin Santaella
 
Clase de datos variables constantes
Clase de datos variables constantesClase de datos variables constantes
Clase de datos variables constantes
 
Programacion estructurada
Programacion estructuradaProgramacion estructurada
Programacion estructurada
 
Pasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmoPasos necesarios para crear pseudocódigo y un algoritmo
Pasos necesarios para crear pseudocódigo y un algoritmo
 
Unidad i
Unidad iUnidad i
Unidad i
 

Algoritmos y tipos de datos fundamentales

  • 1.   UNIVERSIDAD FERMIN TORO VICERRECTORADO ACADÉMICO FACULTAD DE INGENIERÍA   Chucho Briceño  Cabudare, edo. Lara  Algoritmos  23 de Julio del 2018  Algoritmos  Como algoritmo denominamos un conjunto ordenado y finito de operaciones simples a través  del cual podemos hallar la solución a un problema.Los algoritmos nos permiten ejecutar una  acción o resolver un problema mediante una serie  de instrucciones definidas, ordenadas y finitas.  Así, dado un estado inicial y una entrada, y  siguiendo los sucesivos pasos indicados, se llega  al estado final y se obtiene una solución.En  informática o programación, el algoritmo es la  secuencia de instrucciones mediante la cual  podemos resolver un problema o cuestión. De  hecho, todas las tareas ejecutadas por la  computadora se basan en algoritmos. Un  software o programa informático está diseñado a  base de algoritmos, de modo que podemos  introducir una tarea en él y resolverla.       
  • 2. 2     Caracterìsticas  Carácter finito. "Un algoritmo siempre debe terminar después de un número finito de pasos".  Precisión. "Cada paso de un algoritmo debe estar precisamente definido; las operaciones a  llevar a cabo deben ser especificadas de manera rigurosa y no ambigua para cada caso".  Entrada. "Un algoritmo tiene cero o más entradas: cantidades que le son dadas antes de que el  algoritmo comience, o dinámicamente mientras el algoritmo corre. Estas entradas son tomadas  de conjuntos específicos de objetos".  Salida. "Un algoritmo tiene una o más salidas: cantidades que tienen una relación específica  con las entradas".  Eficacia. "También se espera que un algoritmo sea eficaz, en el sentido de que todas las  operaciones a realizar en un algoritmo deben ser suficientemente básicas como para que en  principio puedan ser hechas de manera exacta y en un tiempo finito por un hombre usando lápiz  y papel".  A partir del carácter finito y de la salida se deduce que ante una misma situación inicial (o  valores de entrada) un algoritmo debe proporcionar siempre el mismo resultado (o salida), con  excepción de los algoritmos probabilistas.     Datos  Un dato es la expresión general que describe los objetos con los cuales opera una  computadora. Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple  caracter, tal como "b" o un valor entero tal como 35. El tipo de dato determina la naturaleza del  conjunto de valores que puede tomar una variable.       
  • 3. 3     Tipos de Datos  En los programas cada elemento de datos debe ser de un tipo especifico. El tipo de datos determina cómo se representaran los elementos de datos en la computadora y qué tipo de procesamiento podrá ejecutar sobre ellos la computadora. Los datos a procesar por una computadora pueden clasificarse en: a) Datos Simples: ocupan sólo una casilla de memoria, por lo tanto una variable simple hace referencia a un único valor a la vez. Hay tres tipos básicos de datos simples, los cuales son: ● Datos Numéricos (enteros y reales) ● Datos Alfanuméricos (carácter y cadena) ● Datos Lógicos o boléanos b) Datos Estructurados: a diferencia de los datos simples, estos ocupan mas de una casilla de memoria, entre ellos tenemos: ● Arreglos (Vectores y Matrices) ● Registros ● Archivos o ficheros    
  • 4. 4   ● Punteros  Variables  Variables: Son zonas de memoria cuyo contenido cambia durante la fase de procesamiento de información. Tipos de variables: ● Variables Numéricas (Enteras y Reales) ● Variables Alfanuméricas a) Caracteres alfabéticos b) Dígitos c) Caracteres especiales ● Variables Lógicas (Boolenas) Son las que únicamente pueden contener dos valores, los cuales son: ● Valor Verdadero ó 1 ● Valor Falso ó 0    
  • 5. 5   Estos tipos de variables pueden tomar únicamente valores del mismo tipo, es decir si la variable es entera solamente puede almacenar datos enteros. Operadores  Los operadores aritméticos como su nombre lo indica, realizan operaciones aritméticas entre datos de tipo numérico, y devuelven un resultado numérico. Los operadores aritméticos utilizan operandos numéricos (ya sea en forma de variables, constantes simbólicas o constantes numéricas) y generan un resultado tipo numérico también. Si te lo imaginas como un proceso, la figura 2 te ayuda a entender este proceso.​ En la siguiente figura te muestro los operadores aritméticos del lenguaje de programación Java Figura 1. Operadores aritméticos del lenguaje Java    
  • 6. 6   En programación, es obligatorio usar el símbolo * cada vez que se desea realizar una multiplicación. En programación, a diferencia de lo que sucede en matemáticas, dos variables juntas no implican multiplicación. Por ejemplo: y = xz En matemáticas indica que el valor de ​y ​ es igual a la multiplicación entre las variables ​x​, y ​z. ​En programación, tenemos que indicar explícitamente esta operación de la siguiente forma:    
  • 7. 7   y = x * z; Lo mismo sucede con los paréntesis. En matemáticas se utilizan tanto para agrupar términos de una ecuación, como para multiplicarlos. En programación ningún otro símbolo sirve para multiplicar más que el *. Como se verá más adelante, el uso de los paréntesis en programación está reservado ya sea para alterar la jerarquía de operadores, o para llamar a un método. Por lo tanto, una expresión matemática de la siguiente forma: y = 3x(2z+6) Debe ser traducida considerando la funcionalidad de los operadores del lenguaje que se va a utilizar para programar. En el caso de Java (y una gran mayoría de los lenguajes de programación populares), la conversión es la siguiente: y = 3 * x * ( 2* z + 6 ); El operador residuo​. El operador % se conoce como ​“módulo de la división”​. Este operador obtiene el residuo de una división entre números enteros. Si ya has olvidado las partes de una división, te tengo una figura para que las recuerdes y puedas entender esta operación.        
  • 8. 8   Operadores  Jerarquìa de operadores La ​jerarquía​ o ​precedencia​ de operadores es simplemente un conjunto de reglas que indica cuál de todos los operadores aritméticos debe realizarse primero. Para obtener el resultado de una expresión aritmética (o evaluar una expresión) se deben considerar las reglas de precedencia de operadores, las cuales son las siguientes: 1. Los operadores se evaluan de izquierda a derecha, y respetando la jerarquía de estos. 2. La jerarquía de operadores aritméticos es la siguiente: ○ Nivel 1: * / % ○ Nivel 2: + – 3. Los únicos operadores que pueden alterar estas reglas son los paréntesis ( ).    
  • 9. 9   Constantes  Constantes: Una constante es un dato numérico o alfanumérico que no cambia durante todo el desarrollo del algoritmo o durante la ejecución del programa. Es un objeto de valor invariable. Para expresar una constante se escribe explícitamente su valor.    
  • 10. 10   Tipos de Constantes: ● Constantes Numéricas (Enteras y Reales) ● Constantes Alfanuméricas ● Constantes Lógicas (Boolenas) Las constantes pueden ser: Constantes sin nombre:​ Es una expresión numérica donde se puede utilizar directamente el valor. Constantes con nombre:​ Se hace una reserva de memoria en la cual se guarda el valor que será utilizado como constante. Ejemplo: a) PI = 3.1416 b) E = 2.718228 c) Iva = 0.13    
  • 11. 11   Contadores Los procesos repetitivos requieren contar los sucesos y acciones internas, una forma de hacerlo es mediante un contador. Un contador es una variable cuyo valor se incrementa o decrementa en una cantidad constante en cada repetición. La forma en que se construye un contador es la siguiente: int contador = 1; //variable con valor inicial de 1 contador = contador+1; contador += 1; contador ++; Acumuladores Las variables acumuladoras tienen la misión de almacenar resultados sucesivos, es decir, de acumular resultados, de ahí su nombre. Las variables acumuladores también debe ser inicializadas. Si llamamos “acum” a un acumulador, escribiremos antes de iniciar el bucle algo como esto: acum = 0    
  • 12. 12   Por supuesto, el valor inicial puede cambiar, dependiendo de la naturaleza del problema. Más tarde, en el cuerpo del bucle, la forma en la que nos la solemos encontrar es: acum = acum + N …siendo N otra variable. Si esta instrucción va seguida de otras: acum = acum + M acum = acum + P … estaremos acumulando en la variable “acum” los valores de las variables M, N, P, etc, lo cual resulta a veces muy útil para resolver ciertos problemas repetitivos. Ejemplo: Escribir un algoritmo que pida 10 números por el teclado y los sume, escribiendo el resultadoalgoritmo sumar10variables cont es entero suma es entero N es entero inicio suma = 0 para cont desde 1 hasta 10 hacer inicio leer (N) suma = suma + N fin escribir (suma) fin En este algoritmo, cont es una variable contador típica de bucle. Se ha usado un bucle “para”, que es lo más sencillo cuando conocemos previamente el número de repeticiones (10 en este caso). La variable Nsuma es el acumulador, donde se van sumando los diferentes valores que toma N en cada repetición. se usa para cada uno de los números introducidos por el teclado, y la variable    
  • 13. 13   Identificadores Los identificadores representan los datos de un programa (constantes, variables, tipos de datos). Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora, que permite acceder a su contenido. Debe comenzar con una letra (A a Z, mayúsculas o minúsculas) y no deben contener espacios en blanco. Letras, dígitos y caracteres como la subraya ( _ ) están permitidos después del primer carácter. La longitud de identificadores puede ser de varios caracteres. Pero es recomendable una longitud promedio de 8 caracteres. El nombre del identificador debe dar una idea del valor que contiene.            
  • 14. 14   Condicionantes  En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se  pueden ejecutar o no en función del valor de una condición.  Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES (if..then), el  SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos  mencionar al manejo de excepciones como una alternativa más moderna para evitar el  "anidamiento" de sentencias condicionales.  Las sentencias condicionales constituyen, junto con los bucles, los pilares de la programación  estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que  ejecutaba la siguiente línea o no en función del valor de una condición.  Expresiones Las expresiones son combinaciones de constantes, variables, símbolos de operación (operadores), paréntesis y nombres de funciones especiales. Por ejemplo: sqrt ((p-a)*(p-b)*(p-c)); (a+b+c) / p; Una expresión toma un valor que se determina por el resultado de la ejecución de las operaciones indicadas, tomando los valores de las variables y constantes y aplicando las prioridades de las operaciones.    
  • 15. 15   Según el tipo de operadores que se emplee en la expresión. Estas se clasifican en aritméticas, lógicas, de caracteres o mixtas. Expresiones aritmèticas​: Este tipo de expresiones nos sirve para representar formulas matemáticas y utilizan los operadores siguientes: Operador Acción + Suma - Resta * Multiplicación / División % Módulo ++ Incremento -- Decremento    
  • 16. 16   Las expresiones que tienen 2 o más operadores requieren reglas de precedencia que permiten determinar el orden en que habrán de efectuarse dichas operaciones. Por ejemplo: 5 + 8 * 2 //Primero se hace 8 * 2 y luego se suma 5 5+16 = 21 10%3 = 1 //Regresa el residuo de la división entera Nota: En caso de coincidir la prioridad de varios operadores en una expresión el orden en el que se efectúan es de izquierda a derecha. Expresiones lógicas Estas emplean los operadores lógicos: Operador Acción Operadores Relacionales > Mayor que >= Mayor o igual < Menor que    
  • 17. 17   <= Menor o igual == Igual != Diferente Operadores lógicos && Y || O ! Condicionantes En programación, una sentencia condicional es una instrucción o grupo de instrucciones que se pueden ejecutar o no en función del valor de una condición. Los tipos más conocidos de sentencias condicionales son el SI..ENTONCES (if..then), el SI..ENTONCES..SI NO (if..then..else) y el SEGÚN (case o switch), aunque también podríamos mencionar al manejo de excepciones como una alternativa más moderna para evitar el "anidamiento" de sentencias condicionales.    
  • 18. 18   Las sentencias condicionales constituyen, junto con los bucles, los pilares de la programación estructurada, y su uso es una evolución de una sentencia en lenguaje ensamblador que ejecutaba la siguiente línea o no en función del valor de una condición. Condicionantes Un bucle o lazo (Loop) es un segmento de un algoritmo o programa, cuya instrucciones se repiten un número determinado de veces mientras se cumple una determinada condición (existe o es verdadera la condición). SE debe establecer un mecanismo para determinar las tareas repetitivas. Este mecanismo es una condición que puede ser verdadera o falsa y que se comprueba una vez a cada paso o iteración del bucle (total de instrucciones que se repiten en el bucle). Un bucle consta de tres partes: 1. decisión, 2. cuerpo del bucle, 3. salida del bucle.    
  • 19. 19   El bucle de la siguiente figura es infinito, ya que las instrucciones (1), (2) y (3) se ejecutan indefinidamente, pues no existe salida del bucle, al no cumplirse una determinada condición. Si tras la lectura de la variable N se coloca una condición, el bucle dejará de ser infinito y tendrá fin cuando la condición sea verdadera.    
  • 20. 20   El diagrama de flujo escrito en pseudocódigo es aproximadamente el siguiente: Inicio SUMA 0 1: leer N Si N = 0 entonces Escribir SUMA Ir_a fin Si_no Suma suma + N FIN_SI IR_A 1 FIN    
  • 21. 21   BUCLES ANIDADOS Un bucle puede anidarse dentro de otro como se vio en clase con los condicionales anidados (un ​si fin_si​ dentro de otro ​si Fin_si​)