SlideShare una empresa de Scribd logo
1 de 25
Alumnos: Docente:
Agustín Guillermina
Roman Martin
Thomas 5/2016
• Metodología de algoritmos
• Definición y análisis de un problema
• Diseño de un algoritmo
• Elementos y tipos de datos
• Constantes variables y expresiones
• Clasificación de una variable
• Clasificación de una expresión
• Operadores y Operando
• Clasificación de operadores
• Técnicas de diseño
• Bottom Up
• Diagrama de flujo
• La creación de un algoritmo y su programación es una
etapa, pero como futuro programador debes realizar
varios pasos antes y después.
• La computadora es una máquina que por sí sola no
puede hacer nada, necesita ser programada, es decir,
introducirle instrucciones u órdenes que le digan lo que
tiene que hacer.
• Esta fase esta dada por el enunciado del problema, el
cual requiere una definición clara y precisa para que la
computadora sepa que debe hacer, sino se conoce todo,
no tiene caso continuar
• Una vez que se ah comprendido lo que se desea de la
computadora, es necesario definir
• Los datos de entrada
• Cuál es la información que se desea producir (salida)
• Los métodos y formulas que se necesitan para procesar
los datos
• Debe tener un punto particular de inicio
• Debe ser definido, no debe permitir dobles
interpretaciones
• Debes ser soportar la mayoría de las variantes que
puede representar el problema
• Debe ser finito en tamaño y tiempo de ejecución
• Diseño del algoritmo
• Prueba de escritorio
Se denomina prueba de escritorio a la comprobación que
se hace de un algoritmo para saber si esta bien hecho
• Todos los datos tienen un tipo asociado con ellos. Un
dato puede ser un simple carácter con un valor entero. El
tipo de dato determina la naturaleza del conjunto de
valores que puede tomar una variable
Tipos de datos
Simples
Estructurados
Numéricos
Lógicos
Alfanuméricos
Arreglos
Registros
Apuntadores
Archivos
• Datos numéricos:
Permiten representar valores de forma numérica, esto
incluye a los números enteros y los reales
• Datos lógicos:
Son aquellos que solo pueden tener dos valores (V o F) ya
que representan el resultado de una comparación
• Datos alfanuméricos:
Es una secuencia de caracteres alfanuméricos que
permiten representar valores identificables de forma
descriptiva
Se pueden representar números como alfanuméricos pero
pierden su propiedad matemática. El dato se representa
entre comillas
• Identificadores:
Los identificadores representa los datos de un programa.
Un identificador es una secuencia de caracteres que sirve
para identificar una posición en la memoria de la
computadora para poder acceder al contenido
»Nombre
»Num_hrs
»Calif2
Reglas para formar un identificador
• Debe comenzar con una deletrea (A a Z mayúscula o
minúscula) sin espacios en blanco
• Letras, dígitos y caracteres con la subraya están
permitidos después del primer carácter
• La longitud de identificadores puede ser de varios
caracteres
• El nombre del identificador debe dar una idea de un valor
Constaste:
Una constante es un dato numérico o alfanumérico que no
cambia durante la ejecución del programa
Ej: Pi = 3,1416
Variable:
Es un espacio de la computadora de que permite
almacenar temporalmente un dato durante la ejecución de
un proceso, puede cambiar
Ej: área = Pi * radio ^2
Clasificación de variables
Variable
Por su contenido
Numéricas
Lógicas
Alfanuméricas
Por su uso
De trabajo
Contadores
Acumuladores
Por su contenido:
• Variables Numéricas:
Son aquellas en las cuales se almacenan valores
numéricos, positivos o negativos
Ej: 0,15 pi = 3,1416 costo = 2500
• Variables Lógicas:
Son aquellas que solo pueden tener dos valores ( V o F)
estos representan el resultado de una comparación entre
oros datos
• Variables Alfanuméricas:
Esta formada por caracteres alfanuméricos ( letras,
números y caracteres especiales)
Letra = a apellido = López dirección = Av. Lberdator#190
Por su uso:
• Variables de Trabajo:
Variables que reciben el resultado de una operación
matemática completa y que se usan normalmente dentro de
un programa.
Ej: Suma = a+b/c
• Contadores:
Se utilizan para llevar el control del numero de ocasiones en
que se realiza una operación
• Acumuladores:
Forma que toma una variable y que sirve para llevar la suma
acumulativa de una serie de valores
• Las expresiones son combinadas de constantes,
variables, símbolos de operación, paréntesis y nombres
de funciones especiales
Por Ej: a+(b+3)/c
Cada expresión toma un valor que se determina tomando
los valores de las variables y constantes
Una expresión consta de operadores y operando. Según
sea el tipo de dato que manipulan, se clasifica la expresión
• Arrítmica
• Relacionales
• Lógicas
• Operadores:
• Son elementos que relacionan de forma diferente, los
valores de una o mas variables y constantes
• Operadores Aritméticos:
Los operadores aritméticos permiten la realización de
operaciones matemáticas con los calores
Los operadores aritméticos pueden ser enteros o reales. Si
ambos son enteros el resalado es entero, si hay un real, el
resultado es real
Tipos de Operadores
Aritméticos
Relaciones
Lógicos
Operando (Operador) Operando
Valor
(constantes o variables)
• Operadores Aritméticos:
+ Suma
- Resta
* Multiplicación
/ División
Mod o modulo (residuo de la división entera)
Ej:
7/2 3,5 12 mod 7 5 4+2*5 14
Prioridad de los operadores aritméticos
Todas las expresiones paréntesis se evalúan primero, las
expresiones con paréntesis anidados se evalúan de adentro a
fuera, el paréntesis mas inerme va primero
Dentro de una misma expresión los operadores se evalúan:
1. ^Exponenciación
2. *,/,mod
3. +,-
Los operadores en una misma expresión con igual nivel de
prioridad se evalúan de izquierda a derecha
Ej: 4+2*5= 14 23*2/5=9,2
3+5*(10-(2+4))=23 2,1*(1,5+12,3)=2,1*13,8=28,98
Se utilizan para establecer una relación entre dos valores.
Luego compara estos valores entre si y esta comparación
produce un resulta (V o F)
Los operadores relacionales comparan valores del mismo tipo
(numéricos o cadenas) y tienen el mismo tipo de prioridad en la
evaluación
• > menor que > = menor o igual que
• < mayor que <> diferente
• < = mayor o igual que = igual
Ej:
Si a = 10, b = 20, c=30
a-b>c Falso
a-b<c Verdadero
a-b=c Falso
A*b<>c Verdadero
Ej no lógicos:
a<b<c
10<20<30
T>5<30 No lógicos porque tienen diferentes
operandos
Estos operadores se utilizan para establecer relaciones entre
valores lógicos. Estos valores pueden ser el resultado de una
presión racional
Tipos de Operadores Lógicos:
And Y
Or O
Not negación
Ej: para las siguientes ej. T significa verdadero y F falso
(a<b) and (b<c)
(10<20) and (20<30)
and
T
T T
Operador Not
Operando Resultado
T F
F T
Operador And
Operando1 Operador Operando2 Operando3
T
T
F
F
And T
F
T
F
T
F
F
F
Operando1 Operador Operando2 Operando3
Operador Or
T
T
F
F
T
F
T
F
T
T
T
F
Or
• Prioridad de los operadores lógicos:
1. Not
2. And
3. Or
Prioridad de los Operadores en general
1. ()
2. ^
3. *,/,mod, Not
4. +,-, And
5. >,< <,> =, <=, <>, =, Or
Ejemplos
1. ((a>b) or (a<c)) and ((a=c) or (a >= b))
F T
T
F F
F
F
• 2.
• 3.
((a>=b) or (a<d)) and ((a>=d) or (c>d))
T
F F
F
T T
T
F
Not (a=c) and (c>b)
F T
T
• Top Down
También conocida como de arriba-abajo y consiste en
establecer una serie de niveles de mayor o menor complejidad
que den solución al problema. Estructuración de forma que una
etapa jerárquica y su inmediato inferior se relacionen mediante
entradas y salidas de información. El diseño consiste en una
serio de descomposiciones sucesivas del problema inicial.
Tienen sus técnica de diseño
• Simplificación del problema y de los subprogramas de cada
descomposición
• Las diferentes partes del problema pueden ser programadas
de modo independiente
• El programa final queda estructurado en forma de bloqueo o
módulos que hace mas sencilla su lectura
El diseño ascendentes se refiere a la identificación de
aquellos procesos que necesitan computarizarse con
forme vayan apareciendo.
Cuando la programación se realiza internamente y
haciendo u enfoque ascendente, es difícil llegar a integrar
los subsistemas al grado del desempeño global. Aunque
cada subsistema parece ofrecer lo que se requiere, cuando
se contempla al sistema como una entidad global.
Uno de ellos es la duplicación de esfuerzos para acceder
el software y mas aun.
Otro es, que se introducen al sistema muchos datos carentes
de valor.
Un tercer y tal vez el mas serio inconveniente del enfoque
ascendente, es que los objetivos globales de la organización no
fueron considerados y en consecuencia no se satisfacen
La diferencia entre las dos técnicas de programación se
fundamenta en el resultado que presentan frente a un problema
dado.
La creación de algoritmos es basado sobre la técnica
descendente, la cual brinda el diseño ideal para la solución de
un problema
• Un diagrama de flujo es la representación grafica de un
algoritmo. También se puede decir que es la
representación detallada en forma grafica en pasos en
la computadora para producir resultados

Más contenido relacionado

La actualidad más candente

Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.yoly1parra1
 
Entidades primitivas para algoritmos
Entidades primitivas para algoritmosEntidades primitivas para algoritmos
Entidades primitivas para algoritmosluisce03
 
Unidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades PrimitivasUnidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades PrimitivasAverkleyCH
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmosMagda Fernandez
 
Variables y tipos de datos - fundamentos de la programación
Variables y tipos de datos -  fundamentos de la programaciónVariables y tipos de datos -  fundamentos de la programación
Variables y tipos de datos - fundamentos de la programaciónDesarrolloWeb.com
 
Programacion grado 10
Programacion grado 10Programacion grado 10
Programacion grado 10Ruth Guerrero
 
Unidad 1 algoritmos y programas
Unidad 1 algoritmos y programasUnidad 1 algoritmos y programas
Unidad 1 algoritmos y programasRoberth Camana
 
Mapa conceptual de algoritmos
Mapa conceptual de algoritmosMapa conceptual de algoritmos
Mapa conceptual de algoritmosFany Duque
 
Tipos de Datos y Operadores
Tipos de Datos y OperadoresTipos de Datos y Operadores
Tipos de Datos y OperadoresOswaldo Basurto
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Joseluis Cruz Ramirez
 
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
 
Tipos de datos y operaciones
Tipos de datos y operacionesTipos de datos y operaciones
Tipos de datos y operacionesEdwinChamorroT
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantesIEO Santo Tomás
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaIEO Santo Tomás
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicosmoni26011993
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasSol Hernández
 
VBI, Unidad1 Lógica Computacional
VBI, Unidad1 Lógica ComputacionalVBI, Unidad1 Lógica Computacional
VBI, Unidad1 Lógica ComputacionalUTP, TA
 

La actualidad más candente (19)

Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
Algoritmos, lenguajes de programación, datos, tipos de datos y datos primitivos.
 
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
 
Unidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades PrimitivasUnidad II Datos y Entidades Primitivas
Unidad II Datos y Entidades Primitivas
 
Generalidades algoritmos
Generalidades algoritmosGeneralidades algoritmos
Generalidades algoritmos
 
Variables y tipos de datos - fundamentos de la programación
Variables y tipos de datos -  fundamentos de la programaciónVariables y tipos de datos -  fundamentos de la programación
Variables y tipos de datos - fundamentos de la programación
 
Programacion grado 10
Programacion grado 10Programacion grado 10
Programacion grado 10
 
Unidad 1 algoritmos y programas
Unidad 1 algoritmos y programasUnidad 1 algoritmos y programas
Unidad 1 algoritmos y programas
 
Mapa conceptual de algoritmos
Mapa conceptual de algoritmosMapa conceptual de algoritmos
Mapa conceptual de algoritmos
 
Tipos de Datos y Operadores
Tipos de Datos y OperadoresTipos de Datos y Operadores
Tipos de Datos y Operadores
 
Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003Tipos de datos, identificadores, variables y constantes 97 2003
Tipos de datos, identificadores, variables y constantes 97 2003
 
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
 
Tipos de datos y operaciones
Tipos de datos y operacionesTipos de datos y operaciones
Tipos de datos y operaciones
 
Tipos de datos, identificadores, variables y constantes
Tipos de datos, identificadores,  variables y constantesTipos de datos, identificadores,  variables y constantes
Tipos de datos, identificadores, variables y constantes
 
Conceptos básicos sobre algortimia
Conceptos básicos sobre algortimiaConceptos básicos sobre algortimia
Conceptos básicos sobre algortimia
 
Logica computacional conceptos basicos
Logica computacional conceptos basicosLogica computacional conceptos basicos
Logica computacional conceptos basicos
 
Clase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemasClase de metodologia para analisis y planteamiento de problemas
Clase de metodologia para analisis y planteamiento de problemas
 
VBI, Unidad1 Lógica Computacional
VBI, Unidad1 Lógica ComputacionalVBI, Unidad1 Lógica Computacional
VBI, Unidad1 Lógica Computacional
 

Similar a Algoritmo tp guille

Similar a Algoritmo tp guille (20)

Estructuras de un Algoritmo
Estructuras de un AlgoritmoEstructuras de un Algoritmo
Estructuras de un Algoritmo
 
material_2018F1_COM115_01_105735.ppt
material_2018F1_COM115_01_105735.pptmaterial_2018F1_COM115_01_105735.ppt
material_2018F1_COM115_01_105735.ppt
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf10_ALGORITMOS 2.pdf
10_ALGORITMOS 2.pdf
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
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
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
TEMA Nº 2-102
TEMA Nº 2-102TEMA Nº 2-102
TEMA Nº 2-102
 
algortimos
algortimosalgortimos
algortimos
 
Algoritmos2daparte
Algoritmos2daparteAlgoritmos2daparte
Algoritmos2daparte
 
Algoritmos computacionales conceptos básicos
Algoritmos computacionales   conceptos básicosAlgoritmos computacionales   conceptos básicos
Algoritmos computacionales conceptos básicos
 
Conceptos basicos de programacion
Conceptos basicos de programacion Conceptos basicos de programacion
Conceptos basicos de programacion
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
Sistemas Tecnológicos
Sistemas TecnológicosSistemas Tecnológicos
Sistemas Tecnológicos
 

Último

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIhmpuellon
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxFederico Castellari
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosJhonJairoRodriguezCe
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativanicho110
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxJorgeParada26
 

Último (10)

Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
investigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXIinvestigación de los Avances tecnológicos del siglo XXI
investigación de los Avances tecnológicos del siglo XXI
 
Buenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptxBuenos_Aires_Meetup_Redis_20240430_.pptx
Buenos_Aires_Meetup_Redis_20240430_.pptx
 
Guia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos BasicosGuia Basica para bachillerato de Circuitos Basicos
Guia Basica para bachillerato de Circuitos Basicos
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
redes informaticas en una oficina administrativa
redes informaticas en una oficina administrativaredes informaticas en una oficina administrativa
redes informaticas en una oficina administrativa
 
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptxEVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
EVOLUCION DE LA TECNOLOGIA Y SUS ASPECTOSpptx
 

Algoritmo tp guille

  • 2. • Metodología de algoritmos • Definición y análisis de un problema • Diseño de un algoritmo • Elementos y tipos de datos • Constantes variables y expresiones • Clasificación de una variable • Clasificación de una expresión • Operadores y Operando • Clasificación de operadores • Técnicas de diseño • Bottom Up • Diagrama de flujo
  • 3. • La creación de un algoritmo y su programación es una etapa, pero como futuro programador debes realizar varios pasos antes y después. • La computadora es una máquina que por sí sola no puede hacer nada, necesita ser programada, es decir, introducirle instrucciones u órdenes que le digan lo que tiene que hacer.
  • 4. • Esta fase esta dada por el enunciado del problema, el cual requiere una definición clara y precisa para que la computadora sepa que debe hacer, sino se conoce todo, no tiene caso continuar
  • 5. • Una vez que se ah comprendido lo que se desea de la computadora, es necesario definir • Los datos de entrada • Cuál es la información que se desea producir (salida) • Los métodos y formulas que se necesitan para procesar los datos
  • 6. • Debe tener un punto particular de inicio • Debe ser definido, no debe permitir dobles interpretaciones • Debes ser soportar la mayoría de las variantes que puede representar el problema • Debe ser finito en tamaño y tiempo de ejecución • Diseño del algoritmo • Prueba de escritorio Se denomina prueba de escritorio a la comprobación que se hace de un algoritmo para saber si esta bien hecho
  • 7. • Todos los datos tienen un tipo asociado con ellos. Un dato puede ser un simple carácter con un valor entero. El tipo de dato determina la naturaleza del conjunto de valores que puede tomar una variable Tipos de datos Simples Estructurados Numéricos Lógicos Alfanuméricos Arreglos Registros Apuntadores Archivos
  • 8. • Datos numéricos: Permiten representar valores de forma numérica, esto incluye a los números enteros y los reales • Datos lógicos: Son aquellos que solo pueden tener dos valores (V o F) ya que representan el resultado de una comparación • Datos alfanuméricos: Es una secuencia de caracteres alfanuméricos que permiten representar valores identificables de forma descriptiva Se pueden representar números como alfanuméricos pero pierden su propiedad matemática. El dato se representa entre comillas
  • 9. • Identificadores: Los identificadores representa los datos de un programa. Un identificador es una secuencia de caracteres que sirve para identificar una posición en la memoria de la computadora para poder acceder al contenido »Nombre »Num_hrs »Calif2 Reglas para formar un identificador • Debe comenzar con una deletrea (A a Z mayúscula o minúscula) sin espacios en blanco • Letras, dígitos y caracteres con la subraya están permitidos después del primer carácter • La longitud de identificadores puede ser de varios caracteres • El nombre del identificador debe dar una idea de un valor
  • 10. Constaste: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa Ej: Pi = 3,1416 Variable: Es un espacio de la computadora de que permite almacenar temporalmente un dato durante la ejecución de un proceso, puede cambiar Ej: área = Pi * radio ^2 Clasificación de variables Variable Por su contenido Numéricas Lógicas Alfanuméricas Por su uso De trabajo Contadores Acumuladores
  • 11. Por su contenido: • Variables Numéricas: Son aquellas en las cuales se almacenan valores numéricos, positivos o negativos Ej: 0,15 pi = 3,1416 costo = 2500 • Variables Lógicas: Son aquellas que solo pueden tener dos valores ( V o F) estos representan el resultado de una comparación entre oros datos • Variables Alfanuméricas: Esta formada por caracteres alfanuméricos ( letras, números y caracteres especiales) Letra = a apellido = López dirección = Av. Lberdator#190
  • 12. Por su uso: • Variables de Trabajo: Variables que reciben el resultado de una operación matemática completa y que se usan normalmente dentro de un programa. Ej: Suma = a+b/c • Contadores: Se utilizan para llevar el control del numero de ocasiones en que se realiza una operación • Acumuladores: Forma que toma una variable y que sirve para llevar la suma acumulativa de una serie de valores
  • 13. • Las expresiones son combinadas de constantes, variables, símbolos de operación, paréntesis y nombres de funciones especiales Por Ej: a+(b+3)/c Cada expresión toma un valor que se determina tomando los valores de las variables y constantes Una expresión consta de operadores y operando. Según sea el tipo de dato que manipulan, se clasifica la expresión • Arrítmica • Relacionales • Lógicas
  • 14. • Operadores: • Son elementos que relacionan de forma diferente, los valores de una o mas variables y constantes • Operadores Aritméticos: Los operadores aritméticos permiten la realización de operaciones matemáticas con los calores Los operadores aritméticos pueden ser enteros o reales. Si ambos son enteros el resalado es entero, si hay un real, el resultado es real Tipos de Operadores Aritméticos Relaciones Lógicos Operando (Operador) Operando Valor (constantes o variables)
  • 15. • Operadores Aritméticos: + Suma - Resta * Multiplicación / División Mod o modulo (residuo de la división entera) Ej: 7/2 3,5 12 mod 7 5 4+2*5 14 Prioridad de los operadores aritméticos Todas las expresiones paréntesis se evalúan primero, las expresiones con paréntesis anidados se evalúan de adentro a fuera, el paréntesis mas inerme va primero Dentro de una misma expresión los operadores se evalúan: 1. ^Exponenciación 2. *,/,mod 3. +,-
  • 16. Los operadores en una misma expresión con igual nivel de prioridad se evalúan de izquierda a derecha Ej: 4+2*5= 14 23*2/5=9,2 3+5*(10-(2+4))=23 2,1*(1,5+12,3)=2,1*13,8=28,98 Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resulta (V o F) Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas) y tienen el mismo tipo de prioridad en la evaluación
  • 17. • > menor que > = menor o igual que • < mayor que <> diferente • < = mayor o igual que = igual Ej: Si a = 10, b = 20, c=30 a-b>c Falso a-b<c Verdadero a-b=c Falso A*b<>c Verdadero Ej no lógicos: a<b<c 10<20<30 T>5<30 No lógicos porque tienen diferentes operandos
  • 18. Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser el resultado de una presión racional Tipos de Operadores Lógicos: And Y Or O Not negación Ej: para las siguientes ej. T significa verdadero y F falso (a<b) and (b<c) (10<20) and (20<30) and T T T
  • 19. Operador Not Operando Resultado T F F T Operador And Operando1 Operador Operando2 Operando3 T T F F And T F T F T F F F Operando1 Operador Operando2 Operando3 Operador Or T T F F T F T F T T T F Or
  • 20. • Prioridad de los operadores lógicos: 1. Not 2. And 3. Or Prioridad de los Operadores en general 1. () 2. ^ 3. *,/,mod, Not 4. +,-, And 5. >,< <,> =, <=, <>, =, Or Ejemplos 1. ((a>b) or (a<c)) and ((a=c) or (a >= b)) F T T F F F F
  • 21. • 2. • 3. ((a>=b) or (a<d)) and ((a>=d) or (c>d)) T F F F T T T F Not (a=c) and (c>b) F T T
  • 22. • Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor o menor complejidad que den solución al problema. Estructuración de forma que una etapa jerárquica y su inmediato inferior se relacionen mediante entradas y salidas de información. El diseño consiste en una serio de descomposiciones sucesivas del problema inicial. Tienen sus técnica de diseño • Simplificación del problema y de los subprogramas de cada descomposición • Las diferentes partes del problema pueden ser programadas de modo independiente • El programa final queda estructurado en forma de bloqueo o módulos que hace mas sencilla su lectura
  • 23. El diseño ascendentes se refiere a la identificación de aquellos procesos que necesitan computarizarse con forme vayan apareciendo. Cuando la programación se realiza internamente y haciendo u enfoque ascendente, es difícil llegar a integrar los subsistemas al grado del desempeño global. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global. Uno de ellos es la duplicación de esfuerzos para acceder el software y mas aun.
  • 24. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercer y tal vez el mas serio inconveniente del enfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen La diferencia entre las dos técnicas de programación se fundamenta en el resultado que presentan frente a un problema dado. La creación de algoritmos es basado sobre la técnica descendente, la cual brinda el diseño ideal para la solución de un problema
  • 25. • Un diagrama de flujo es la representación grafica de un algoritmo. También se puede decir que es la representación detallada en forma grafica en pasos en la computadora para producir resultados