SlideShare una empresa de Scribd logo
1 de 66
Instituto tecnológico de cerro azul
Carrera
Ingeniería Industrial
Catedrático
Ing. Oscar Alberto Garizurrieta Castillo
Nombre de la asignatura
Algoritmos y Lenguajes de Programación
Clave de la asignatura
INC-1005
Grupo: AC43
Horario:
Lunes y miércoles (13:00-15:00 P.M)
Integrantes del equipo: Número de control:
García Domínguez Francisco 13500205
Hernández Hernández Luis David 13500090
Hernández Hernández Noé 13500093
Iglesias Díaz Juan Antonio 13500107
Miguel Cruz Mauricio 13500211
Periodo Escolar: Enero- Junio (2015) Fecha de entrega: 06 de mayo del 2015
Definición de programa
 Un programa es un conjunto de instrucciones u
órdenes basadas en un lenguaje de programación que
una computadora interpreta para resolver un problema
o una función específica.
 1.- Es la relación ordenada de actividades, en
informática se le conoce como la serie codificada de
instrucciones.
 2. Redacción de un algoritmo en un lenguaje de
programación.
Definición de programación
 Se llama Programación a la implementación de un
algoritmo en un determinado lenguaje de
programación, para realizar un programa.
 Algoritmo es una secuencia no ambigua, finita y
ordenada de instrucciones que han de seguirse para
resolver un problema.
 Programa (Software en inglés) es una secuencia de
instrucciones que una computadora puede interpretar
y ejecutar.
Definición de lenguaje de
programación
 Lenguaje de programación es el idioma utilizado para
controlar el comportamiento de una máquina,
particularmente una computadora. Consiste en un
conjunto de símbolos y reglas sintácticas y semánticas
que definen su estructura y el significado de sus
elementos y expresiones.
Tipos de lenguajes de
programación
 Los lenguajes de programación se clasifican en varios
tipos, los hay por nivel, y por la forma como se
ejecutan.
 Por nivel: Hay lenguajes de programación de alto
nivel y lenguajes de bajo nivel. Los lenguajes de alto
nivel permiten que con pocas palabras se logre hacer lo
mismo que se logra con un lenguaje de bajo nivel.
 Por la forma como se ejecutan Hay lenguajes
compilados e interpretados
 Los lenguajes compilados necesitan de un programa
especial que lea el código fuente y cree un archivo
binario ejecutable para una plataforma específica.
Ejemplo: C++, Pascal.
 Los lenguajes interpretados necesitan de un programa
que traduzca en directo el código fuente escrito a
instrucciones de la plataforma en la que se ejecutan.
Ejemplo: Python, Visual Basic Script.
Los principales tipos de
lenguajes utilizados en la
actualidad son tres:
Lenguajes máquina
 Se llama lenguaje máquina a las instrucciones que se
dan directamente a la computadora, utilizando una
serie de dígitos binarios o bits, representados por los
números 0 y 1 que especifican una operación. Aunque
este lenguaje es el que entiende la computadora, es
muy difícil de manejar en la comunicación humana.
Lenguajes de bajo nivel
(ensamblador)
 Los lenguajes de bajo nivel son más fáciles de utilizar
que los lenguajes máquina, pero, al igual que ellos,
dependen de la máquina en particular. El lenguaje de
bajo nivel por excelencia es el ensamblador (assembler
lenguaje). Las instrucciones en lenguaje ensamblador
son conocidas como mnemotécnicos.
 Por ejemplo, mnemotécnicos típicos de operaciones
aritméticas son:
 en ingles, ADD, SUB, DIV, etc.
 en español, SUM,RES,DIV, etc.
Lenguajes de alto nivel
 Los lenguajes de alto nivel son los mas utilizados por
los programadores. Están diseñados para que las
personas escriban y entiendan los programas de un
modo mucho más fácil que los lenguajes máquina y
ensambladores. Otra razón es que un programa escrito
en un lenguaje de alto nivel es independiente de la
máquina; esto es, las instrucciones del programa de la
computadora no dependen del diseño del hardware o
de una computadora en particular.
3.2 Estructura básica de un
programa.
Un programa tiene una estructura
básica o general como una plantilla
para realizar un programa
Entrada de Datos:
 La constituyen todas las instrucciones que toman los
datos de entrada desde un dispositivo externo y los
almacena en la memoria principal para que puedan ser
procesados.
Proceso o algoritmo:
 Está formado por las instrucciones que modifican los
objetos a partir de su estado inicial (datos de entrada)
hasta el estado final (resultados) dejando los objetos
que lo contiene disponibles en la memoria principal.
Salida de resultados:
 Conjunto de
instrucciones que
toman los datos
finales (resultado) de
la memoria principal
y los envían a los
dispositivos
externos.
3.3 Tipos de datos
 El tipo de un dato es el conjunto de valores que puede
tomar durante el programa. Si se le intenta dar un
valor fuera del conjunto se producirá un error.
 La asignación de tipos a los datos tiene dos
objetivos principales:
 Por un lado, detectar errores en las operaciones
 Por el otro, determinar cómo ejecutar estas
operaciones
Clasificaciones en los tipos de
datos
 En Pascal existen gran variedad y cantidad de tipos de
datos. Pero en este tutorial sólo se trataran
los básicos para que puedas ir construyendo tus
primeros programas.
 Existen muchas clasificaciones para los tipos de datos,
y dependiendo de la fuente que mires, te mostrarán
una u otra. A continuacón tienes una de las posibles
clasificaciones.:
Dinámicos
Estáticos
Ordinales No-ordinales
El tipo cadena
Simples Estructurados
3.4 Identificadores.
 Un identificador es un conjunto de caracteres
alfanuméricos de cualquier longitud que sirve para
identificar las entidades del programa (clases,
funciones, variables, tipos compuestos) Los
identificadores pueden ser combinaciones de letras y
números. Cada lenguaje tiene sus propias reglas que
definen como pueden estar construidos.
Palabras clave
La siguiente tabla Muestra Las Palabras claves de Java, ESTAS
reservadas Son y Identificadores Como No SER pueden utilizadas.
abstracto defecto si privado este
boolean hacer implementos protegido lanzar
rotura doble importación público tiros
byte más instanceof retorno transitorio
caso se extiende int corto intentar
captura final interfaz estático vacío
Char finalmente largo strictfp ** volátil
clase flotador nativo súper mientras
const * para nuevo interruptor
continuar Goto * paquete sincronizada
Literales
 Una literal es un valor constante formado por una
secuencia de caracteres. Cualquier declaración en Java
que defina un valor constante -un valor que no pueda
ser cambiado durante la ejecución del programa- es
una literal.
 Son ejemplos de literales los números, los caracteres y
las cadenas de caracteres.
 Literales numéricas
Se pueden crear literales numéricas a partir de
cualquier tipo de dato primitivo.
 Ej.
 123 //literal int
 123.456 //literal double
 123L //literal long
 123.456F //literal float
 Literales booleanas
Las literales boolenas consisten de las palabras
reservadas true y false.
 Literales de caracteres
Las literales de caracteres se expresan por un solo
caracter entre comillas sencillas
 Ej. 'a', '%', '7'
Expresiones y Operadores
Expresión
 Una expresión es una combinación de variables,
operadores y llamadas de métodos construida de
acuerdo a la sintaxis del lenguaje que devuelve un
valor.
Operadores
 Los operadores son símbolos especiales que por lo
común se utilizan en expresiones.
La tabla siguiente muestra los distintos tipos de operadores que
utiliza Java.
Operador Significado Ejemplo
Operadores aritméticos
+ Suma a + b
- Resta a - b
* Multiplicación a * b
/ División a / b
% Módulo a % b
Operadores de asignación
= Asignación a = b
+= Suma y asignación a += b (a=a + b)
-= Resta y asignación a -= b (a=a - b)
*= Multiplicación y asignación a *= b (a=a * b)
/= División y asignación a / b (a=a / b)
%= Módulo y asignación a % b (a=a % b)
Operadores relacionales
== Igualdad a == b
!= Distinto a != b
< Menor que a < b
> Mayor que a > b
<= Menor o igual que a <= b
>= Mayor o igual que a >= b
Operadores especiales
++ Incremento a++ (postincremento)
++a (preincremento)
-- Decremento a-- (postdecremento)
--a (predecremento)
(tipo)expr Cast a = (int) b
+ Concatenación de cadenas a = "cad1" + "cad2"
. Acceso a variables y métodos a = obj.var1
( ) Agrupación de expresiones a = (a + b) * c
3.5 Almacenamiento,
direccionamiento y
representación en memoria.
Almacenamiento
 La computadora posee determinada cantidad de
almacenamiento interno denominado memoria
principal, memoria RAM o memoria volátil. Esta
memoria se activa al encender la computadora y se
desactiva al apagarla. Para que un programa se ejecute,
debe cargarse en la memoria principal, así como los
datos necesarios.
Direccionamiento
 La memoria principal de la computadora se divide en
pequeñas unidades de tamaño uniforme denominadas
palabras, que tienen una dirección única.
Cada una de éstas palabras es capaz de almacenar una
unidad de información (como, por ejemplo, resultados
numéricos), y determina el número más grande y el más
pequeño que puede almacenar.
 Las direcciones de memoria sirven para identificar cada
palabra individualmente, de tal manera que pueda
accederse al dato contenido en ella.
DIRECCIONAMIENTO LÓGICO
 El sistema de numeración utilizado por los
informáticos para representar las direcciones de
memoria en el texto escrito no suele ser la decimal
(como parecería razonable), sino el hexadecimal
 La razón es que los números hexadecimales guardan
cierta concordancia con las potencias de 2. Por
ejemplo, un bus de direcciones de 8 bits puede acceder
a 256 posiciones (en hexadecimal es el rango 00-FFh).
DIRECCIONAMIENTO
SEGMENTADO
 Hemos indicado que el bus de direcciones del PC XT
era de 20 bits, por lo que teóricamente podían
manejarse un total de 220 posibilidades
(1.048.576). Sin embargo, el procesador 8088 utilizado
tiene registros de 16 bits, por lo que solo puede
contener directamente 216 posiciones (65.536).
Representación en memoria
 La representación en memoria de los caracteres no
reviste mayor complicación, debido a que los códigos
utilizados, como el ASCII (American Standard Code
for Information Interchange), les asignan valores
enteros positivos.
En el caso de los datos numéricos hay que considerar la
distinción entre números negativos y positivos, y la
que hay entre números de punto flotante y enteros.
3.6 Proposición de asignación.
 Proposición de asignación es una letra o una frase, a la
cual, se le puede asignar dos valores: o bien es
verdadera, o bien es falsa, pero no ambas cosas. La
forma de una proposición de asignación es :a=b, donde
b es una expresión permitida, y a es el valor donde se
dejará el valor resultante de evaluar b.
 El signo igual, “=“, de a=b tiene el sentido de asignar a
la variable a el
 Valor que resulte de evaluar la expresión permitida b.
Es decir, a=obtiene el sentido a b, que no es la misma
definición usada en matemáticas para “=“.
Operadores lógicos
 Los operadores lógicos son usualmente usados con
sentencias condicionales o relacionales, los operadores
básicos lógicos son: && Y lógico, || O lógico y !
Negación.
3.7 Operadores, operandos y
expresiones.
Operadores:
 Un operador es el símbolo que determina el tipo de
operación o relación que habrá de establecerse entre
los operandos para alcanzar un resultado, se clasifican
en tres grupos:
 Los operadores son un tipo de tokens que pueden
aparecer en las expresiones, e indican al compilador la
realización de determinadas operaciones matemáticas,
lógicas y numéricas.
 Operadores aritméticos:
(Suma (+), sustracción multiplicación (*), división (/) y
exponente (^) Que se usan en una hoja de cálculo y el
software de base de datos para cálculos.
 Operadores lógicos:
Se usan para combinar expresiones relacionales
lógicamente en una hoja de cálculo y en software de base
de datos (por ejemplo, AND, OR).
Expresiones.
 Una expresión es una combinación de operadores y
operandos de cuya evaluación se obtiene un valor. Los
operandos pueden ser nombres que denoten objetos
variables o constantes, funciones, literales de cualquier
tipo adecuado de acuerdo con los operadores u otras
expresiones más simples. La evaluación de una
expresión da lugar a un valor de algún tipo, una
expresión se dice que es del tipo de su resultado.
Ejemplos de expresiones:
 a + 5*b
(a >= 0) and ((b+5) > 10)
a
-a * 2 + b
-b + sqrt(b**2 - 4*a*c)
length(s) > 0
 Las expresiones se evalúan de acuerdo con la
precedencia de los operadores. Ante una secuencia de
operadores de igual precedencia, la evaluación se
realiza según el orden de escritura, de izquierda a
derecha. El orden de evaluación puede modificarse
usando paréntesis.
3.8 Prioridad de operadores,
evaluación de expresiones.
 Todas las expresiones entre paréntesis se evalúan
primero. Las expresiones con paréntesis anidados se
evalúan de dentro a fuera, el paréntesis más interno se
evalúa primero.
Dentro de una misma expresión los operadores se
evalúan en el siguiente orden:
1. ^ Exponenciación
2. *, /, mod Multiplicación, división, modulo.
3. +, - Suma y resta.
Operadores Relacionales
Se utilizan para establecer una relación entre dos valores.
Luego compara estos valores entre si y esta comparación
produce un resultado de certeza o falsedad (verdadero o
falso).
Los operadores relacionales comparan valores del mismo
tipo (numéricos o cadenas). Estos tienen el mismo nivel
de prioridad en su evaluación.
Tipos de operadores Relacionales
 > Mayor que
 < Menor que
 > = Mayor o igual que
 < = Menor o igual que
 < > Diferente
 = Igual
Ejemplos:
Si a = 10, b = 20, c = 30
a + b > c Falso
a - b < c Verdadero
a - b = c Falso
a * b < > c Verdadero
Ejemplos no lógicos:
a < b < c
10 < 20 < 30
T > 5 < 30
(no es lógico porque tiene diferentes operandos)
Operadores Lógicos
Estos operadores se utilizan para establecer relaciones
entre valores lógicos. Estos valores pueden ser resultado
de una expresión relacional.
Tipos de operadores Lógicos
And Y
Or O
Not Negación
3.9 Elaboración de programas.
Creación de programas a la
medida:
 Son los programas o software los que permiten a los
componentes físicos y redes, procesar y distribuir los
datos y generar información. Ningún sistema de
información computarizado está completo sin el
software adecuado. Al desarrollar un sistema de
información, se precisan las necesidades y
requerimientos que se deben resolver. Se emplean las
seis fases del ciclo de desarrollo de sistemas. La
programación forma parte de la fase 4, el desarrollo de
sistemas, en el cual se resuelven los requerimientos
mediante la programación del software.
Programas:
 Un programa de cómputo o programa informático
(software) es un conjunto o secuencia de instrucciones
(llamadas también código) que pueden ser
interpretadas y ejecutadas en el CPU de la
computadora. Esta secuencia de instrucciones se
escribe en alguno de los diversos lenguajes de
programación que existen, como BASIC, Pascal o C.
Características de un buen
programa:
 A continuación se enumeran algunas de las
características con que debería contar un buen
programa. Es recomendable tenerlas en cuenta. A
medida que continúe leyendo el tema podrá darse
cuenta del por qué de las mismas.
 • Confiabilidad, es decir, el programa debe funcionar
en prácticamente cualquier situación.
• Debe advertir los errores de entrada comunes y obvios.
• Deben ser bien estructurados, es decir, programas que
utilicen organizaciones de la programación
estructurada.
• Estar adecuadamente documentado y ser
comprensible, no sólo para quien lo crea, sino para otros
programadores. Esto es para facilitar las futuras y muy
posibles modificaciones que requiera.
Algoritmos:
 Se denomina algoritmo a una serie finita de pasos o
instrucciones mediante los cuales se resuelve un problema
o se ejecuta una tarea específica. Más formalmente los
algoritmos se caracterizan por:
 • Ser finitos, porque tienen un número determinado de
pasos.
• Ser definidos, lo que implica que cada vez que se siga se
obtendrá invariablemente el mismo resultado.
• Ser precisos, pues cada paso tiene un orden a seguir.
Enfoques de Programación:
 En los inicios de la programación y hasta principios de
los sesenta, no había estructuras bien definidas en la
forma en que se escribía el código. Se disponía una
línea tras otra de programación construyendo un único
e inmenso bloque, que constituiría el programa. Pero
el control del flujo a través de gran cantidad de líneas
de instrucciones, resultaba difícil de seguir no sólo por
su tamaño, sino porque no siempre es posible
programar siguiendo la secuencia de una línea tras
otra.
Programación estructurada:
 La investigación a través del estudio de los códigos
logró demostrar que cualquier programa se podía
escribir, usando las tres estructuras siguientes de
control:
 1. La estructura
secuencial: Está definida
por el flujo de control
automático de un
programa. De manera
natural, a menos que otra
cosa se indique, la
computadora ejecuta las
líneas de código en el
orden en que fueron
escritas. El control del
programa fluye de la línea
anterior a la línea
siguiente.
 2. Las estructuras de
selección: Se basan en una
declaración condicional. Si
es verdadera, ciertas líneas
de código son ejecutadas.
Si tal declaración es falsa,
esas líneas no serán
ejecutadas. Las dos
estructuras de selección
más comunes son: Si-
Entonces (If-Then) y Si-
Entonces-de lo contrario
(If-Then-Else).
 3. Las estructuras de
repetición (o de ciclos):
 Su construcción también
hace uso de declaraciones
condicionales. Si la condición
evaluada es verdadera, un
bloque de una o más
instrucciones se repetirá,
hasta que la condición sea
falsa. La computadora prueba
la condición una primera vez,
si es verdadera, ejecuta el
bloque de comandos.
Programación orientada a objetos
(POO):
 Los entusiastas de la POO aseguran que, a pesar de
que sus conceptos básicos puedan parecer un tanto
abstractos al principio, este tipo de programación se
asemeja más a la manera natural de pensar y concebir
el mundo. Por esta razón, el proceso de modelado es
más intuitivo, y se hace posible crear y mantener
programas de manera más sencilla y rápida.
Objetos:
 En general cuando se observa o se piensa sobre un
objeto, por ejemplo un carro, siempre se le percibe
como un todo. No es común enfocarse en sus
componentes de acero, vidrio o plástico, sino más bien,
la mente lo percibe como unidad completa, como un
objeto, como un todo. Si se desea describir el carro, se
puede pensar en su color, tamaño y forma. Como todos
los objetos, el carro posee atributos que permiten
describirle. Se puede pensar además en las cosas que el
carro puede hacer, como acelerar, retroceder, girar a
derecha o izquierda,
 El carro tiene un conjunto
de funciones que puede
realizar. Además, es fácil
notar que el carro contiene
elementos que le constituyen:
Los cauchos, el chasis, el
sistema de tracción, y otros.
Pero esos elementos a su vez
están formados por otros
elementos. Como es el caso
del motor y de las partes que
le forman. De manera muy
similar, en la POO se
emplean módulos llamados
objetos, que poseen atributos
y funciones.
 Pasos de la
Programación: Los
programas son los bloques
constitutivos del software del
sistema de información. Para
la elaboración de programas,
se usa una adaptación del
proceso del ciclo de vida de
desarrollo de sistemas. Los
pasos para la creación de
programas son los siguientes
(ver también la Tabla 1
Resumen de los pasos de la
programación):

Más contenido relacionado

La actualidad más candente

Mantenimiento industrial
Mantenimiento industrialMantenimiento industrial
Mantenimiento industrialjosjul
 
Numeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhhNumeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhhVictor Hugo
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREadark
 
Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continuaLeonardo Rojas
 
análisis de la operación
análisis de la operación análisis de la operación
análisis de la operación Jessika Larrotta
 
Análisis de operaciones. Fase 6. preparación y herramientas
Análisis de operaciones. Fase 6. preparación y herramientasAnálisis de operaciones. Fase 6. preparación y herramientas
Análisis de operaciones. Fase 6. preparación y herramientasJuan Manuel Carrión Delgado
 
Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivoJammil Ramos
 
1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...
1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...
1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...David Garay
 
EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,
EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,
EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,Taniitä Hernandez
 
Datos estándar y propósito de los estándares de tiempos
Datos estándar y propósito de los estándares de tiemposDatos estándar y propósito de los estándares de tiempos
Datos estándar y propósito de los estándares de tiemposJavier Ulises Olvera
 
Concepto y aplicación de la conservación, preservación
Concepto y aplicación de la conservación, preservaciónConcepto y aplicación de la conservación, preservación
Concepto y aplicación de la conservación, preservaciónLuis Laguna
 

La actualidad más candente (20)

Mantenimiento industrial
Mantenimiento industrialMantenimiento industrial
Mantenimiento industrial
 
Chorro abrasivo
Chorro abrasivoChorro abrasivo
Chorro abrasivo
 
Tecnica most
Tecnica mostTecnica most
Tecnica most
 
Numeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhhNumeros aleatorios & pseudoaleatorios itsz vhhh
Numeros aleatorios & pseudoaleatorios itsz vhhh
 
4.2 temperatura exposicion de ergonomia
4.2 temperatura exposicion de ergonomia4.2 temperatura exposicion de ergonomia
4.2 temperatura exposicion de ergonomia
 
Datos estandar
Datos estandarDatos estandar
Datos estandar
 
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWAREMETODOLOGÍA PARA EL DISEÑO DE SOFTWARE
METODOLOGÍA PARA EL DISEÑO DE SOFTWARE
 
Controles Ergonomía
Controles Ergonomía Controles Ergonomía
Controles Ergonomía
 
Ejemplo de-simulación-continua
Ejemplo de-simulación-continuaEjemplo de-simulación-continua
Ejemplo de-simulación-continua
 
análisis de la operación
análisis de la operación análisis de la operación
análisis de la operación
 
Análisis de operaciones. Fase 6. preparación y herramientas
Análisis de operaciones. Fase 6. preparación y herramientasAnálisis de operaciones. Fase 6. preparación y herramientas
Análisis de operaciones. Fase 6. preparación y herramientas
 
Algoritmo congruencial aditivo
Algoritmo congruencial aditivoAlgoritmo congruencial aditivo
Algoritmo congruencial aditivo
 
Antecedentes precursores
Antecedentes precursoresAntecedentes precursores
Antecedentes precursores
 
1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...
1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...
1.1 atecedentes historicos de la mecanica y 1.2 ubicacion de la estatica y la...
 
01 alp u3
01 alp u301 alp u3
01 alp u3
 
Taxonomía de Jordan
Taxonomía de JordanTaxonomía de Jordan
Taxonomía de Jordan
 
EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,
EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,
EXCELENCIA OPERACIONAL (OPEX): CARACTERÍSTICAS, VENTAJAS, DESVENTAJAS,
 
9 s
9 s9 s
9 s
 
Datos estándar y propósito de los estándares de tiempos
Datos estándar y propósito de los estándares de tiemposDatos estándar y propósito de los estándares de tiempos
Datos estándar y propósito de los estándares de tiempos
 
Concepto y aplicación de la conservación, preservación
Concepto y aplicación de la conservación, preservaciónConcepto y aplicación de la conservación, preservación
Concepto y aplicación de la conservación, preservación
 

Destacado

PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNadark
 
Elaboración de programas
Elaboración de programasElaboración de programas
Elaboración de programasmbulas
 
Algoritmos y lenguajes de programacion
Algoritmos y lenguajes de programacionAlgoritmos y lenguajes de programacion
Algoritmos y lenguajes de programaciontf94
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y ExpresionesCarlos Pes
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++Rosbelia Balza
 
Modelo para la elaboración de programas
Modelo para la elaboración de programasModelo para la elaboración de programas
Modelo para la elaboración de programasMa Guadalupe Páez
 
Definiciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesignerDefiniciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesigneraula40tics2finanzas
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionBoris Salleg
 
Confección tablas de verdad 2014
Confección tablas de verdad 2014Confección tablas de verdad 2014
Confección tablas de verdad 2014patocasla
 
Comunicacion efectiva (2)
Comunicacion efectiva (2)Comunicacion efectiva (2)
Comunicacion efectiva (2)paolapredy
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantesCarlos Pes
 
Cap 4 Comunicación interpersonal
Cap 4 Comunicación interpersonalCap 4 Comunicación interpersonal
Cap 4 Comunicación interpersonalMaria Petrovitch
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacionAlfonso
 
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
 

Destacado (20)

PRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓNPRUEBAS Y DEPURACIÓN
PRUEBAS Y DEPURACIÓN
 
Elaboración de programas
Elaboración de programasElaboración de programas
Elaboración de programas
 
Unidad 3 fisica
Unidad 3 fisicaUnidad 3 fisica
Unidad 3 fisica
 
Algoritmos y lenguajes de programacion
Algoritmos y lenguajes de programacionAlgoritmos y lenguajes de programacion
Algoritmos y lenguajes de programacion
 
Operadores y Expresiones
Operadores y ExpresionesOperadores y Expresiones
Operadores y Expresiones
 
Estructura básica de un programa en C++
Estructura básica de un programa en C++Estructura básica de un programa en C++
Estructura básica de un programa en C++
 
Programacion
 Programacion  Programacion
Programacion
 
Algorimo1
Algorimo1Algorimo1
Algorimo1
 
Modelo para la elaboración de programas
Modelo para la elaboración de programasModelo para la elaboración de programas
Modelo para la elaboración de programas
 
Definiciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesignerDefiniciones y ejemplos de los tipos de datos de powerdesigner
Definiciones y ejemplos de los tipos de datos de powerdesigner
 
Algoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacionAlgoritmos, programas, compiladores y lenguajes de programacion
Algoritmos, programas, compiladores y lenguajes de programacion
 
Tipos de datos en pascal
Tipos de datos en pascalTipos de datos en pascal
Tipos de datos en pascal
 
Confección tablas de verdad 2014
Confección tablas de verdad 2014Confección tablas de verdad 2014
Confección tablas de verdad 2014
 
Comunicacion efectiva (2)
Comunicacion efectiva (2)Comunicacion efectiva (2)
Comunicacion efectiva (2)
 
Orientación Educativa
Orientación EducativaOrientación Educativa
Orientación Educativa
 
Identificadores, variables y constantes
Identificadores, variables y constantesIdentificadores, variables y constantes
Identificadores, variables y constantes
 
Manejo de conflictos y negociación
Manejo de conflictos y negociaciónManejo de conflictos y negociación
Manejo de conflictos y negociación
 
Cap 4 Comunicación interpersonal
Cap 4 Comunicación interpersonalCap 4 Comunicación interpersonal
Cap 4 Comunicación interpersonal
 
Tipos de datos en programacion
Tipos de datos en programacionTipos de datos en programacion
Tipos de datos en programacion
 
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
 

Similar a Unidad 3

Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Marquina, Santiago
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaEstudiantes ISI_UCA
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1kfacu
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte Yelixa Araque Angulo
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte Yelixa Araque Angulo
 
Programacion
ProgramacionProgramacion
Programacionedison
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación henser
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacionCecilia Díaz
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continaciondetlefsen
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continaciondetlefsen
 
Glosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGlosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGabriel Méndez
 
Actividad....... 26
Actividad....... 26Actividad....... 26
Actividad....... 26grachika
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de ProgramaciónKudos S.A.S
 
algoritmo
algoritmoalgoritmo
algoritmofior
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmoslisobra
 

Similar a Unidad 3 (20)

Lenguajes de programación parte i.4
Lenguajes de programación parte i.4Lenguajes de programación parte i.4
Lenguajes de programación parte i.4
 
Manual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky BonillaManual de Programación c/c++ Ricky Bonilla
Manual de Programación c/c++ Ricky Bonilla
 
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1C:\Documents And Settings\Alumnos\Escritorio\Programaion1
C:\Documents And Settings\Alumnos\Escritorio\Programaion1
 
Generacionlenguajes
GeneracionlenguajesGeneracionlenguajes
Generacionlenguajes
 
Introduccion a la programación I Parte
Introduccion a la programación I Parte Introduccion a la programación I Parte
Introduccion a la programación I Parte
 
Introduccion a la Programación I parte
Introduccion a la Programación I parte Introduccion a la Programación I parte
Introduccion a la Programación I parte
 
Programacion
ProgramacionProgramacion
Programacion
 
Introducción a la Programación
Introducción a la Programación Introducción a la Programación
Introducción a la Programación
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Unidad 1-continacion
Unidad 1-continacionUnidad 1-continacion
Unidad 1-continacion
 
Passage
PassagePassage
Passage
 
Act26
Act26Act26
Act26
 
Glosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programasGlosario de conceptos de la creación de los programas
Glosario de conceptos de la creación de los programas
 
Mipag web
Mipag webMipag web
Mipag web
 
Actividad....... 26
Actividad....... 26Actividad....... 26
Actividad....... 26
 
INTRODUCCION
INTRODUCCIONINTRODUCCION
INTRODUCCION
 
Fundamentos de Programación
Fundamentos de ProgramaciónFundamentos de Programación
Fundamentos de Programación
 
algoritmo
algoritmoalgoritmo
algoritmo
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 

Unidad 3

  • 1. Instituto tecnológico de cerro azul Carrera Ingeniería Industrial Catedrático Ing. Oscar Alberto Garizurrieta Castillo Nombre de la asignatura Algoritmos y Lenguajes de Programación Clave de la asignatura INC-1005 Grupo: AC43 Horario: Lunes y miércoles (13:00-15:00 P.M) Integrantes del equipo: Número de control: García Domínguez Francisco 13500205 Hernández Hernández Luis David 13500090 Hernández Hernández Noé 13500093 Iglesias Díaz Juan Antonio 13500107 Miguel Cruz Mauricio 13500211 Periodo Escolar: Enero- Junio (2015) Fecha de entrega: 06 de mayo del 2015
  • 2.
  • 3. Definición de programa  Un programa es un conjunto de instrucciones u órdenes basadas en un lenguaje de programación que una computadora interpreta para resolver un problema o una función específica.  1.- Es la relación ordenada de actividades, en informática se le conoce como la serie codificada de instrucciones.  2. Redacción de un algoritmo en un lenguaje de programación.
  • 4. Definición de programación  Se llama Programación a la implementación de un algoritmo en un determinado lenguaje de programación, para realizar un programa.  Algoritmo es una secuencia no ambigua, finita y ordenada de instrucciones que han de seguirse para resolver un problema.  Programa (Software en inglés) es una secuencia de instrucciones que una computadora puede interpretar y ejecutar.
  • 5. Definición de lenguaje de programación  Lenguaje de programación es el idioma utilizado para controlar el comportamiento de una máquina, particularmente una computadora. Consiste en un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones.
  • 6. Tipos de lenguajes de programación  Los lenguajes de programación se clasifican en varios tipos, los hay por nivel, y por la forma como se ejecutan.  Por nivel: Hay lenguajes de programación de alto nivel y lenguajes de bajo nivel. Los lenguajes de alto nivel permiten que con pocas palabras se logre hacer lo mismo que se logra con un lenguaje de bajo nivel.
  • 7.  Por la forma como se ejecutan Hay lenguajes compilados e interpretados  Los lenguajes compilados necesitan de un programa especial que lea el código fuente y cree un archivo binario ejecutable para una plataforma específica. Ejemplo: C++, Pascal.  Los lenguajes interpretados necesitan de un programa que traduzca en directo el código fuente escrito a instrucciones de la plataforma en la que se ejecutan. Ejemplo: Python, Visual Basic Script.
  • 8. Los principales tipos de lenguajes utilizados en la actualidad son tres:
  • 9. Lenguajes máquina  Se llama lenguaje máquina a las instrucciones que se dan directamente a la computadora, utilizando una serie de dígitos binarios o bits, representados por los números 0 y 1 que especifican una operación. Aunque este lenguaje es el que entiende la computadora, es muy difícil de manejar en la comunicación humana.
  • 10. Lenguajes de bajo nivel (ensamblador)  Los lenguajes de bajo nivel son más fáciles de utilizar que los lenguajes máquina, pero, al igual que ellos, dependen de la máquina en particular. El lenguaje de bajo nivel por excelencia es el ensamblador (assembler lenguaje). Las instrucciones en lenguaje ensamblador son conocidas como mnemotécnicos.  Por ejemplo, mnemotécnicos típicos de operaciones aritméticas son:  en ingles, ADD, SUB, DIV, etc.  en español, SUM,RES,DIV, etc.
  • 11. Lenguajes de alto nivel  Los lenguajes de alto nivel son los mas utilizados por los programadores. Están diseñados para que las personas escriban y entiendan los programas de un modo mucho más fácil que los lenguajes máquina y ensambladores. Otra razón es que un programa escrito en un lenguaje de alto nivel es independiente de la máquina; esto es, las instrucciones del programa de la computadora no dependen del diseño del hardware o de una computadora en particular.
  • 12. 3.2 Estructura básica de un programa.
  • 13. Un programa tiene una estructura básica o general como una plantilla para realizar un programa
  • 14. Entrada de Datos:  La constituyen todas las instrucciones que toman los datos de entrada desde un dispositivo externo y los almacena en la memoria principal para que puedan ser procesados.
  • 15. Proceso o algoritmo:  Está formado por las instrucciones que modifican los objetos a partir de su estado inicial (datos de entrada) hasta el estado final (resultados) dejando los objetos que lo contiene disponibles en la memoria principal.
  • 16. Salida de resultados:  Conjunto de instrucciones que toman los datos finales (resultado) de la memoria principal y los envían a los dispositivos externos.
  • 17. 3.3 Tipos de datos
  • 18.  El tipo de un dato es el conjunto de valores que puede tomar durante el programa. Si se le intenta dar un valor fuera del conjunto se producirá un error.  La asignación de tipos a los datos tiene dos objetivos principales:  Por un lado, detectar errores en las operaciones  Por el otro, determinar cómo ejecutar estas operaciones
  • 19. Clasificaciones en los tipos de datos  En Pascal existen gran variedad y cantidad de tipos de datos. Pero en este tutorial sólo se trataran los básicos para que puedas ir construyendo tus primeros programas.  Existen muchas clasificaciones para los tipos de datos, y dependiendo de la fuente que mires, te mostrarán una u otra. A continuacón tienes una de las posibles clasificaciones.:
  • 22.  Un identificador es un conjunto de caracteres alfanuméricos de cualquier longitud que sirve para identificar las entidades del programa (clases, funciones, variables, tipos compuestos) Los identificadores pueden ser combinaciones de letras y números. Cada lenguaje tiene sus propias reglas que definen como pueden estar construidos.
  • 23. Palabras clave La siguiente tabla Muestra Las Palabras claves de Java, ESTAS reservadas Son y Identificadores Como No SER pueden utilizadas. abstracto defecto si privado este boolean hacer implementos protegido lanzar rotura doble importación público tiros byte más instanceof retorno transitorio caso se extiende int corto intentar captura final interfaz estático vacío Char finalmente largo strictfp ** volátil clase flotador nativo súper mientras const * para nuevo interruptor continuar Goto * paquete sincronizada
  • 24. Literales  Una literal es un valor constante formado por una secuencia de caracteres. Cualquier declaración en Java que defina un valor constante -un valor que no pueda ser cambiado durante la ejecución del programa- es una literal.
  • 25.  Son ejemplos de literales los números, los caracteres y las cadenas de caracteres.  Literales numéricas Se pueden crear literales numéricas a partir de cualquier tipo de dato primitivo.  Ej.  123 //literal int  123.456 //literal double  123L //literal long  123.456F //literal float
  • 26.  Literales booleanas Las literales boolenas consisten de las palabras reservadas true y false.  Literales de caracteres Las literales de caracteres se expresan por un solo caracter entre comillas sencillas  Ej. 'a', '%', '7'
  • 28. Expresión  Una expresión es una combinación de variables, operadores y llamadas de métodos construida de acuerdo a la sintaxis del lenguaje que devuelve un valor.
  • 29. Operadores  Los operadores son símbolos especiales que por lo común se utilizan en expresiones.
  • 30. La tabla siguiente muestra los distintos tipos de operadores que utiliza Java. Operador Significado Ejemplo Operadores aritméticos + Suma a + b - Resta a - b * Multiplicación a * b / División a / b % Módulo a % b Operadores de asignación = Asignación a = b += Suma y asignación a += b (a=a + b) -= Resta y asignación a -= b (a=a - b) *= Multiplicación y asignación a *= b (a=a * b) /= División y asignación a / b (a=a / b) %= Módulo y asignación a % b (a=a % b)
  • 31. Operadores relacionales == Igualdad a == b != Distinto a != b < Menor que a < b > Mayor que a > b <= Menor o igual que a <= b >= Mayor o igual que a >= b Operadores especiales ++ Incremento a++ (postincremento) ++a (preincremento) -- Decremento a-- (postdecremento) --a (predecremento) (tipo)expr Cast a = (int) b + Concatenación de cadenas a = "cad1" + "cad2" . Acceso a variables y métodos a = obj.var1 ( ) Agrupación de expresiones a = (a + b) * c
  • 33. Almacenamiento  La computadora posee determinada cantidad de almacenamiento interno denominado memoria principal, memoria RAM o memoria volátil. Esta memoria se activa al encender la computadora y se desactiva al apagarla. Para que un programa se ejecute, debe cargarse en la memoria principal, así como los datos necesarios.
  • 34. Direccionamiento  La memoria principal de la computadora se divide en pequeñas unidades de tamaño uniforme denominadas palabras, que tienen una dirección única. Cada una de éstas palabras es capaz de almacenar una unidad de información (como, por ejemplo, resultados numéricos), y determina el número más grande y el más pequeño que puede almacenar.  Las direcciones de memoria sirven para identificar cada palabra individualmente, de tal manera que pueda accederse al dato contenido en ella.
  • 35. DIRECCIONAMIENTO LÓGICO  El sistema de numeración utilizado por los informáticos para representar las direcciones de memoria en el texto escrito no suele ser la decimal (como parecería razonable), sino el hexadecimal  La razón es que los números hexadecimales guardan cierta concordancia con las potencias de 2. Por ejemplo, un bus de direcciones de 8 bits puede acceder a 256 posiciones (en hexadecimal es el rango 00-FFh).
  • 36. DIRECCIONAMIENTO SEGMENTADO  Hemos indicado que el bus de direcciones del PC XT era de 20 bits, por lo que teóricamente podían manejarse un total de 220 posibilidades (1.048.576). Sin embargo, el procesador 8088 utilizado tiene registros de 16 bits, por lo que solo puede contener directamente 216 posiciones (65.536).
  • 37. Representación en memoria  La representación en memoria de los caracteres no reviste mayor complicación, debido a que los códigos utilizados, como el ASCII (American Standard Code for Information Interchange), les asignan valores enteros positivos. En el caso de los datos numéricos hay que considerar la distinción entre números negativos y positivos, y la que hay entre números de punto flotante y enteros.
  • 38. 3.6 Proposición de asignación.
  • 39.  Proposición de asignación es una letra o una frase, a la cual, se le puede asignar dos valores: o bien es verdadera, o bien es falsa, pero no ambas cosas. La forma de una proposición de asignación es :a=b, donde b es una expresión permitida, y a es el valor donde se dejará el valor resultante de evaluar b.  El signo igual, “=“, de a=b tiene el sentido de asignar a la variable a el  Valor que resulte de evaluar la expresión permitida b. Es decir, a=obtiene el sentido a b, que no es la misma definición usada en matemáticas para “=“.
  • 40. Operadores lógicos  Los operadores lógicos son usualmente usados con sentencias condicionales o relacionales, los operadores básicos lógicos son: && Y lógico, || O lógico y ! Negación.
  • 41. 3.7 Operadores, operandos y expresiones.
  • 42. Operadores:  Un operador es el símbolo que determina el tipo de operación o relación que habrá de establecerse entre los operandos para alcanzar un resultado, se clasifican en tres grupos:  Los operadores son un tipo de tokens que pueden aparecer en las expresiones, e indican al compilador la realización de determinadas operaciones matemáticas, lógicas y numéricas.
  • 43.  Operadores aritméticos: (Suma (+), sustracción multiplicación (*), división (/) y exponente (^) Que se usan en una hoja de cálculo y el software de base de datos para cálculos.  Operadores lógicos: Se usan para combinar expresiones relacionales lógicamente en una hoja de cálculo y en software de base de datos (por ejemplo, AND, OR).
  • 44. Expresiones.  Una expresión es una combinación de operadores y operandos de cuya evaluación se obtiene un valor. Los operandos pueden ser nombres que denoten objetos variables o constantes, funciones, literales de cualquier tipo adecuado de acuerdo con los operadores u otras expresiones más simples. La evaluación de una expresión da lugar a un valor de algún tipo, una expresión se dice que es del tipo de su resultado. Ejemplos de expresiones:
  • 45.  a + 5*b (a >= 0) and ((b+5) > 10) a -a * 2 + b -b + sqrt(b**2 - 4*a*c) length(s) > 0  Las expresiones se evalúan de acuerdo con la precedencia de los operadores. Ante una secuencia de operadores de igual precedencia, la evaluación se realiza según el orden de escritura, de izquierda a derecha. El orden de evaluación puede modificarse usando paréntesis.
  • 46. 3.8 Prioridad de operadores, evaluación de expresiones.
  • 47.  Todas las expresiones entre paréntesis se evalúan primero. Las expresiones con paréntesis anidados se evalúan de dentro a fuera, el paréntesis más interno se evalúa primero. Dentro de una misma expresión los operadores se evalúan en el siguiente orden: 1. ^ Exponenciación 2. *, /, mod Multiplicación, división, modulo. 3. +, - Suma y resta.
  • 48. Operadores Relacionales Se utilizan para establecer una relación entre dos valores. Luego compara estos valores entre si y esta comparación produce un resultado de certeza o falsedad (verdadero o falso). Los operadores relacionales comparan valores del mismo tipo (numéricos o cadenas). Estos tienen el mismo nivel de prioridad en su evaluación.
  • 49. Tipos de operadores Relacionales  > Mayor que  < Menor que  > = Mayor o igual que  < = Menor o igual que  < > Diferente  = Igual
  • 50. Ejemplos: Si a = 10, b = 20, c = 30 a + b > c Falso a - b < c Verdadero a - b = c Falso a * b < > c Verdadero Ejemplos no lógicos: a < b < c 10 < 20 < 30 T > 5 < 30 (no es lógico porque tiene diferentes operandos)
  • 51. Operadores Lógicos Estos operadores se utilizan para establecer relaciones entre valores lógicos. Estos valores pueden ser resultado de una expresión relacional. Tipos de operadores Lógicos And Y Or O Not Negación
  • 52. 3.9 Elaboración de programas.
  • 53. Creación de programas a la medida:  Son los programas o software los que permiten a los componentes físicos y redes, procesar y distribuir los datos y generar información. Ningún sistema de información computarizado está completo sin el software adecuado. Al desarrollar un sistema de información, se precisan las necesidades y requerimientos que se deben resolver. Se emplean las seis fases del ciclo de desarrollo de sistemas. La programación forma parte de la fase 4, el desarrollo de sistemas, en el cual se resuelven los requerimientos mediante la programación del software.
  • 54. Programas:  Un programa de cómputo o programa informático (software) es un conjunto o secuencia de instrucciones (llamadas también código) que pueden ser interpretadas y ejecutadas en el CPU de la computadora. Esta secuencia de instrucciones se escribe en alguno de los diversos lenguajes de programación que existen, como BASIC, Pascal o C.
  • 55. Características de un buen programa:  A continuación se enumeran algunas de las características con que debería contar un buen programa. Es recomendable tenerlas en cuenta. A medida que continúe leyendo el tema podrá darse cuenta del por qué de las mismas.
  • 56.  • Confiabilidad, es decir, el programa debe funcionar en prácticamente cualquier situación. • Debe advertir los errores de entrada comunes y obvios. • Deben ser bien estructurados, es decir, programas que utilicen organizaciones de la programación estructurada. • Estar adecuadamente documentado y ser comprensible, no sólo para quien lo crea, sino para otros programadores. Esto es para facilitar las futuras y muy posibles modificaciones que requiera.
  • 57. Algoritmos:  Se denomina algoritmo a una serie finita de pasos o instrucciones mediante los cuales se resuelve un problema o se ejecuta una tarea específica. Más formalmente los algoritmos se caracterizan por:  • Ser finitos, porque tienen un número determinado de pasos. • Ser definidos, lo que implica que cada vez que se siga se obtendrá invariablemente el mismo resultado. • Ser precisos, pues cada paso tiene un orden a seguir.
  • 58. Enfoques de Programación:  En los inicios de la programación y hasta principios de los sesenta, no había estructuras bien definidas en la forma en que se escribía el código. Se disponía una línea tras otra de programación construyendo un único e inmenso bloque, que constituiría el programa. Pero el control del flujo a través de gran cantidad de líneas de instrucciones, resultaba difícil de seguir no sólo por su tamaño, sino porque no siempre es posible programar siguiendo la secuencia de una línea tras otra.
  • 59. Programación estructurada:  La investigación a través del estudio de los códigos logró demostrar que cualquier programa se podía escribir, usando las tres estructuras siguientes de control:
  • 60.  1. La estructura secuencial: Está definida por el flujo de control automático de un programa. De manera natural, a menos que otra cosa se indique, la computadora ejecuta las líneas de código en el orden en que fueron escritas. El control del programa fluye de la línea anterior a la línea siguiente.
  • 61.  2. Las estructuras de selección: Se basan en una declaración condicional. Si es verdadera, ciertas líneas de código son ejecutadas. Si tal declaración es falsa, esas líneas no serán ejecutadas. Las dos estructuras de selección más comunes son: Si- Entonces (If-Then) y Si- Entonces-de lo contrario (If-Then-Else).
  • 62.  3. Las estructuras de repetición (o de ciclos):  Su construcción también hace uso de declaraciones condicionales. Si la condición evaluada es verdadera, un bloque de una o más instrucciones se repetirá, hasta que la condición sea falsa. La computadora prueba la condición una primera vez, si es verdadera, ejecuta el bloque de comandos.
  • 63. Programación orientada a objetos (POO):  Los entusiastas de la POO aseguran que, a pesar de que sus conceptos básicos puedan parecer un tanto abstractos al principio, este tipo de programación se asemeja más a la manera natural de pensar y concebir el mundo. Por esta razón, el proceso de modelado es más intuitivo, y se hace posible crear y mantener programas de manera más sencilla y rápida.
  • 64. Objetos:  En general cuando se observa o se piensa sobre un objeto, por ejemplo un carro, siempre se le percibe como un todo. No es común enfocarse en sus componentes de acero, vidrio o plástico, sino más bien, la mente lo percibe como unidad completa, como un objeto, como un todo. Si se desea describir el carro, se puede pensar en su color, tamaño y forma. Como todos los objetos, el carro posee atributos que permiten describirle. Se puede pensar además en las cosas que el carro puede hacer, como acelerar, retroceder, girar a derecha o izquierda,
  • 65.  El carro tiene un conjunto de funciones que puede realizar. Además, es fácil notar que el carro contiene elementos que le constituyen: Los cauchos, el chasis, el sistema de tracción, y otros. Pero esos elementos a su vez están formados por otros elementos. Como es el caso del motor y de las partes que le forman. De manera muy similar, en la POO se emplean módulos llamados objetos, que poseen atributos y funciones.
  • 66.  Pasos de la Programación: Los programas son los bloques constitutivos del software del sistema de información. Para la elaboración de programas, se usa una adaptación del proceso del ciclo de vida de desarrollo de sistemas. Los pasos para la creación de programas son los siguientes (ver también la Tabla 1 Resumen de los pasos de la programación):