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.
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.
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.
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.
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.
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.
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.
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
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):