SlideShare una empresa de Scribd logo
1 de 24
UNIVERSIDAD DE PANAMÁ
CENTRO REGIONAL UNIVERSITARIO DE BOCAS DEL TORO
ANEXO DE CHIRIQUÍ GRANDE
FACULTAD DE INFORMÁTICA
MATERIA
INFORMÁTICA
TEMA
LENGUAJE DE PROGRAMACIÓN
PROFESOR
AARON CEDEÑO
ELABORADO POR
KATHERINE GONZÁLEZ 4-752-1261
ALICIA JARAMILLO 1-700-881
EFIGENIA MORALES 1-713-342
AÑO I
FECHA DE ENTREGA
21/4/2017
ÍNDICE
HOJA DE PRESENTACIÓN
ÍNDICE
INTRODUCCIÓN
I. LENGUAJE DE PROGRAMACIÓN…………………….4
II. CONCEPTO……………………………………………….4
III. NIVELES DE LENGUAJE………………………………..5
IV. PROGRAMAS TRADUCTORES, COMPILADORES
DE MÁQUINAS ENSAMBLADORES………………………9
V. TÉCNICAS DE PROGRAMA SÍMBOLOS Y REGLAS
DE DIAGRAMA DE FLUJO…………………………….13
VI. FASES EN LA RESOLUCIÓN DE PROBLEMAS DE
PROGRAMACIÓN……………………………………...19
CONCLUSIÓN……………………………………….…23
BIBLIOGRAFÍA…………………………………………24
INTRODUCCIÓN
El ser humano para comunicarse uno al otro necesita un lenguaje que le permita
transmitir o recibir una información.
En general, para comunicar algo siempre se usa un lenguaje.
La informática no queda excluida del uso de lenguajes, ya que estos son la
manera de especificar las acciones que se desea sean realizadas en la
computadora.
Y es precisamente lo que en este trabajo de investigación presentaremos sobre
los aspectos más importantes del lenguaje de programación, los diferentes tipos
de niveles, como también los programas traductores, las técnicas de programación
y las fases de resolución de problemas de programación.
.
Los lenguajes de programación están destinados a distintos ámbitos, dependiendo
de sus características que simplifican algunas tareas y complejizan otras.
No hay un único tipo de lenguajes, sino que se clasifican según las características
que posean y según el paradigma y conceptos que soporten.
Esperamos que este trabajo cumpla con los objetivos señalado por nuestro
profesor.
I.LENGUAJE DE PROGRAMACIÓN.
II.CONCEPTO.
Un lenguaje de programación es un lenguaje formal diseñado para realizar
procesos que pueden ser llevados a cabo por máquinas como las computadoras.
Pueden usarse para crear programas que controlen el comportamiento físico y
lógico de una máquina, para expresar algoritmos con precisión, o como modo de
comunicación humana.1
Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que
definen su estructura y el significado de sus elementos y expresiones. Al proceso
por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se
mantiene el código fuente de un programa informático se le llama programación.
También la palabra programación se define como el proceso de creación de un
programa de computadora, mediante la aplicación de procedimientos lógicos, a
través de los siguientes pasos:
• El desarrollo lógico del programa para resolver un problema en particular.
• Escritura de la lógica del programa empleando un lenguaje de
programación específico (codificación del programa).
• Ensamblaje o compilación del programa hasta convertirlo en lenguaje de
máquina.
• Prueba y depuración del programa.
• Desarrollo de la documentación.
III. NIVELES DE LENGUAJE
Los lenguajes de programación se clasifican por su nivel de abstracción del
procesador, en este caso la abstracción es un principio por el cual se aísla toda
aquella información que no es resulta relevante a un determinado nivel de
conocimiento.
 Lenguaje de bajo nivel
Es el que proporciona poca o ninguna abstracción del
microprocesador de un ordenador. Consecuentemente
es fácilmente trasladado a lenguaje de máquina.
En general se utiliza este tipo de lenguaje para
programar controladores (drivers).
Es aquel lenguaje que para su programa utiliza nomónico para representar a una
instrucción que entenderá la computadora, también se le llama lenguaje
ensamblador.
Ventajas
Mayor adaptación al equipo.
Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.
Inconvenientes
Imposibilidad de escribir código independiente de la máquina.
Mayor dificultad en la programación y en la comprensión de los programas.
El programador debe conocer más de un centenar de instrucciones.
Es necesario conocer en detalle la arquitectura de la máquina.
Características
Se trabaja a nivel de instrucciones, es decir, su programación es al más fino
detalle.
Está orientado a la máquina.
 Lenguaje de medio nivel es un lenguaje de programación informática
como el lenguaje C, que se encuentran entre los
lenguajes de alto nivel y Los lenguajes de bajo
nivel.
Suelen ser clasificados muchas veces de alto
nivel, pero permiten ciertos manejos de bajo nivel.
Son precisos para ciertas aplicaciones como la
creación de sistemas operativos, ya que permiten
un manejo abstracto (independiente de la máquina, a diferencia del ensamblador),
pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo
nivel.
Una característica distintiva, por ejemplo, que convierte a C en un lenguaje de
medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible
manejar las letras como si fueran números (en Pascal no), y por el contrario en
Pascal es posible concatenar las cadenas de caracteres con el operador suma y
copiarlas con la asignación (en C es el usuario el responsable de llamar a las
funciones correspondientes).
Una de las características más peculiares del lenguaje de programación C; es el
uso de "apuntadores", los cuales son muy útiles en la implementación de
algoritmos como Listas ligadas, Tablas Hash y algoritmos de búsqueda y
ordenamiento que para otros lenguajes de programación (como Java por ejemplo)
les suele ser un poco más complicado implementar
Los lenguajes de alto nivel
Se caracterizan por expresar los algoritmos de una manera adecuada a la
capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las
máquinas.
En los primeros lenguajes de alto nivel la limitación era que se orientaban a un
área específica y sus instrucciones requerían de una sintaxis predefinida. Se
clasifican como lenguajes procedimentales.
Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos
conocimientos de programación para realizar las secuencias de instrucciones
lógicas.
Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese
solucionar tal problema de procesamiento de datos de una manera más fácil y
rápida.
Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de
programación que evitaba estos inconvenientes, a costa de ceder un poco en las
ventajas. Estos lenguajes se llaman "de tercera generación" o "de alto nivel", en
contraposición a los "de bajo nivel" o "de nivel próximo a la máquina".
Ventajas
La programación en un lenguaje de alto nivel tiene ciertas ventajas:
Genera un código más sencillo y comprensible.
Escribir un código válido para diversas máquinas y, posiblemente, sistemas
operativos.
Inconvenientes
Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina.
Algunos requieren que la máquina cliente posea una determinada plataforma.
Lenguajes de bajo nivel
Código máquina
Ensamblador
Lenguajes de medio nivel
BCPL
C
Lenguajes de alto nivel
ADA
ALGOL
BASIC
Clipper
Cobol
C++
FORTH
Fortran
Haskell
Informix 4gl
Java
Lexico (con códigos en castellano o sinónimos en otros idiomas)
Lisp
Logo
Modula
PASCAL
Prolog
RPG
Visual Basic.
IV. PROGRAMAS TRADUCTORES COMPILADORES, DE MÁQUINA,
ENSAMBLADORES.
Traductores de lenguaje
Son programas que traducen a su vez los
programas fuente escritos en lenguajes de
alto nivel a código máquina.
Los traductores se dividen en:
 Compiladores
 Interpretes
Intérpretes
Un intérprete es un traductor que toma un programa fuente, lo traduce y a
continuación lo ejecuta (dicho programa por medio de la computadora desarrolla
una tarea específica).
Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje
interpretado. BASIC es el modelo por excelencia interpretado.
Los programas fuente en BASIC se escriben con ayuda de un programa
denominado editor que suele venir incorporado al programa intérprete.
Compiladores
Un compilador es un programa que traduce los programas fuente escritos en
lenguajes de alto nivel a lenguaje máquina.
Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se
llaman programas fuente y el programa traducido programa objeto o código objeto.
El compilador traduce (sentencia a sentencia) el programa fuente.
Lenguajes compiladores típicos son: PASCAL, COBOL, C..
Fases de la compilación
La compilación es el proceso de la traducción de programas fuente a programas
objeto.
El programa objeto obtenido de la compilación no ha sido traducido normalmente a
código máquina sino a ensamblador. Para conseguir el programa máquina real se
debe utilizar un programa llamado montador o enlazador (linker). El proceso de
montaje conduce a un programa en lenguaje máquina directamente ejecutable:
Por ejemplo:
El proceso de ejecución de un Programa en C++ tiene los siguientes pasos:
1. Escritura del programa fuente con un editor (programa que permite a
una computadora actuar de modo similar a una máquina de escribir
electrónica) y guardarlo en un dispositivo de almacenamiento (un disco).
2. Introducir el programa fuente en memoria.
3. Compilar el programa con el compilador C++.
4. Verificar y corregir errores de compilación (listado de errores).
5. Obtención del programa objeto.
6. El montador obtiene el programa ejecutable.
7. Se ejecuta el programa y si no existen errores, se tendrá la salida del
mismo.
V. TÉCNICAS DE PROGRAMA SÍMBOLO Y REGLAS DEL DIAGRAMA DE
FLUJO
- Diagramas de flujo:
Son herramientas gráficas para la representación visual y gráfica de algoritmos,
compuestos por una serie de símbolos icónicos unidos por flechas.
Características:
 Los símbolos representan acciones o funciones en el programa.
 Las flechas representan el orden de realización de las acciones o
funciones, marcando el sentido o flujo lógico del algoritmo.
 Cada símbolo tendrá al menos una flecha que conduzca a él y una flecha
que parta de él, a excepción de los terminadores y conectores.
 Se leen de arriba a abajo y de izquierda a derecha.
Sus principales ventajas son que al ser visuales son muy sencillos de entender y
que utilizan símbolos estándar.
Su mayor desventaja es la dificultad de mantenimiento y actualización, puesto
que deben utilizarse editores gráficos.
Los símbolos están normalizados por las organizaciones de estandarización
internacionales ANSI (American National Standar Institute) e ISO (International
Standard Organization) y los más utilizados son los siguientes:
NORMAS O REGLAS PARA LA CREACIÓN DE DIAGRAMAS DE FLUJO
1. Los diagramas de flujo se escriben de arriba abajo y de izquierda a derecha.
2. Todo símbolo (excepto las líneas de flujo) llevará en su interior información que
indique su función exacta y unívoca.
EJEMPLOS
3. Un elemento del diagrama no puede tener más de una salida si no es un
elemento de decisión. Existen excepciones que veremos en su debido momento.
EJEMPLOS
4. Las líneas de flujo no pueden cruzarse.
EJEMPLOS
EJERCICIO
Crear el diagrama de flujo que proporcione el volumen de un cilindro dados su
altura y diámetro.
SOLUCIÓN
También hay una serie de símbolos secundarios que son:
Otro ejemplo de un diagrama de flujo para una operación sencilla. Imaginemos
que tenemos una lámpara o bombilla y queremos hacer el diagrama de flujo para
saber que hacer cuando la lámpara no funciona.
¿Hacemos-otro?
Bueno vamos hacer uno que nos muestre el resultado del área de un triángulo en
pantalla.
Como ves, en este ni siquiera hemos puesto las operaciones dentro de los
símbolos, ya que, con la forma del símbolo ya se entiende.
VI. FASES EN LA RESOLUCION DE PROBLEMAS DE PROGRAMACIÓN
Cuando nos proponemos resolver problemas en programación siempre
pasamos directamente al computador y empezamos a escribir código sin antes
haber analizado en lo más mínimo el problema, o bueno lo vamos analizando y
directamente vamos escribiendo el código y pues en algunos casos esta práctica
funciona, claro está, cuando los problemas son sencillos o cuando eres un
programador experimentado, no así con problemas más complejos y más aún
cuando estas empezando a programar.
A veces pensamos que con hacer las cosas directamente vamos a ganar más
tiempo, pero en realidad no es así, muchas de las veces el tiempo que se lleva
programando un problema directamente sin haber hecho un análisis previo, es el
doble o triple que si hubiésemos hecho previamente un análisis, por lo general se
cometen muchos errores, que a la larga perdemos tiempo.
Un buen hábito y como buenos programadores es la de llevar una metodología
para solucionar un problema por más mínimo que este sea. Es por eso que esta
vez vamos a ver algunos pasos que debemos seguir para resolver un problema en
programación y básicamente la idea es convertirlo en un hábito cada vez que
vayamos a programar.
1. ANÁLISIS PREVIO DEL PROBLEMA
En esta etapa se debe definir y tener claro lo que
el programa tiene que hacer junto con las tareas
que debe realizar para llevar a cabo la solución,
qué datos necesito para realizar la tareas, que
formato deben tener los datos de entrada, de
donde provienen los datos de entrada, como se
obtienen esos datos, cómo interactúan los datos
entre sí para obtener el resultado, muy
importante tener claro cuál será el resultado que
se desea obtener, tampoco dejar de lado las restricciones que puede haber al
momento de procesar los datos..
De igual forma se debe analizar todos los escenarios que pueden darse ya que un
cambio de escenario puede variar el resultado final del programa, siempre vale la
pena cuestionarse y hacer la pregunta: y si pasa esto o aquello? qué
comportamiento tomaría el programa.
Para clarificar dudas se debe pedir formatos (formas de presentación de los datos
o de donde se obtienen los datos cuando se hacen de forma manual), fórmulas,
realizar ejemplos y verificar los resultados.
Básicamente en este punto o fase se debe recoger todos los requerimientos y
especificaciones del problema.
Este punto debe ser uno de los más importantes y críticos de la resolución de
problemas ya que un mal análisis lleva a un mal diseño y posterior a un mal
resultado.
En lo personal no importa el tiempo que demores en esta etapa, la idea es que
quede bien claro todo, la primera vez puede que te demores un montón pero a
medida que lo practicas vas cogiendo experiencia y si lo tomas como hábito en las
próximas veces lo harás aún más rápido.
2. DISEÑO DEL ALGORITMO
Una vez que tenemos claro el
problema, después de haber definido
todas las entradas y salidas que va
tener el programa, también las tareas
a realizar, es hora de diseñar el
algoritmo y que irá de acuerdo a
todas las especificaciones anteriores
y posteriormente será implementado en un lenguaje de programación para ser
ejecutado por la computadora.
El algoritmo se lo puede hacer de cualquier forma: Pseudocódigo o Diagrama de
Flujo, la idea principal es que sea entendible, y no solo por el que lo diseñó si no
por cualquier persona.
En conclusión en la etapa anterior se define qué es lo que hará el programa, en
esta fase, se define como lo hará.
Algo importante de este diseño es que sea entendible para el programador que lo
va implementar.
3. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y CODIFICACIÓN
Esta etapa consiste en transcribir o adaptar el
algoritmo a un lenguaje de programación, se
tendrá que adaptar todos los pasos diseñados
en el algoritmo con sentencias y sintaxis
propias del lenguaje.
Verificar errores, organizar el código y
comentarlo, son buenas prácticas que hacen
programas más legibles y facilitan la depuración.
Previamente a la codificación se debe tener configurado el entorno de
trabajo: IDEs, librerías, Frameworks (aunque este último no lo recomiendo si
estas empezando a programar, es mejor aprender las cosas más básicas los
fundamentos, todo a mano primero y luego los frameworks) y luego pasar el
algoritmo al lenguaje de programación.
4. COMPILACIÓN Y PRUEBAS
La fase de compilación permitirá detectar errores en
tiempo de compilación, ejecución y lógicos, y en el
caso de Java se generará uno o varios archivos
bytecode que serán ejecutados por la computadora.
En esta fase también es necesario realizar pruebas con
una gran cantidad de datos para encontrar posibles
errores y corregirlos.
5. DOCUMENTACIÓN Y MANTENIMIENTO
Por últimos se debe tener una documentación de
todos los pasos hasta llegar a la solución del
problema, a veces es un poco tedioso esta fase
pero también es muy importante ya que muchas
veces suceden modificaciones con el pasar del
tiempo y estas se hace en algunos casos por otros
programadores diferentes a los que lo crearon (que
incluso cuando uno mismo va ha modificar no se
acuerda que rayos hacia ese código, me ha pasado),
y cuando un programa es pobre en documentación
este proceso de modificación es totalmente
complejo.
CONCLUSIONES.
 Un lenguaje de programación es un lenguaje formal diseñado para realizar
procesos que pueden ser llevados a cabo por máquinas como las
computadoras.
 Existen tres niveles de lenguajes.
Lenguaje de máquina-
Lenguajes de Programación de Bajo Nivel: El lenguaje ensamblador fue el
primer lenguaje de programación de bajo nivel que trato de sustituir el
lenguaje máquina por otro mucho más parecido al de los seres humanos.
Lenguajes de Programación de Alto Nivel: Este lenguaje es independientes
de la máquina, lo podemos usar en cualquier computador con muy pocas
modificaciones o sin ellas, son muy similares al lenguaje humano.
Esta investigación nos permite desarrollar un sentido crítico de los
lenguajes de programación, y a la vez conocer los diferentes programas de
traductores y compiladores. Conocer las diferentes técnicas para realizar un
diagrama de flujo.
Esta investigación servirá para evaluar correctamente los lenguajes de
programación, determinando las ventajas y desventajas que cada uno de ellos
presenta, a partir de identificación de estos por el tipo de lenguajes de
programación.
Esperamos que al ser evaluado este trabajo hallamos cumplido con lo
recomendado por el profesor ya que el mismo nos servirá para futuros trabajos.
BIBLIOGRAFÍA
1- http://www.monografias.com/trabajos73/tipos-lenguajes-
programacion/tipos-lenguajes-programacion2.shtml#ixzz4eq4DaNLJ
2- http://www.monografias.com/trabajos73/tipos-lenguajes-
programacion/tipos-lenguajes-programacion.shtml#ixzz4eq3zpxos
3- http://www.monografias.com/trabajos73/tipos-lenguajes-programacion/tipos-
lenguajes-programacion.shtml#ixzz4eq3s02bx

Más contenido relacionado

La actualidad más candente

P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosGeovanny Yungán
 
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
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1Evelin Claudia
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Natalia Alejandra
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujolisvancelis
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónjusto morales
 
Lenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionLenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionClaudia Poza
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Idalia Tristan
 
Lenguaje de programación: Pascal
Lenguaje de programación: PascalLenguaje de programación: Pascal
Lenguaje de programación: PascalCarola511
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosFrancisco Javier Canizales Vazquez
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje cwuaro1
 
Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.German Rodriguez
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasMartin Pacheco
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASadark
 

La actualidad más candente (20)

P. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetosP. estructurada vs. programación orientada a objetos
P. estructurada vs. programación orientada a objetos
 
Clases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programaciónClases/Tipos de lenguajes de programación
Clases/Tipos de lenguajes de programación
 
ALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINTALGORITMO RESUELTOS EN PSEINT
ALGORITMO RESUELTOS EN PSEINT
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
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++
 
1 introduccion a la programacion 1
1 introduccion  a la programacion 11 introduccion  a la programacion 1
1 introduccion a la programacion 1
 
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
Ejercicios (Algoritmo: Pseudocódigo-Diagrama de Flujo)
 
Ejercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujoEjercicio 1 diagrama de flujo
Ejercicio 1 diagrama de flujo
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Conceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programaciónConceptos básicos y metodología de la programación
Conceptos básicos y metodología de la programación
 
Lenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacionLenguaje natural pseudocodigo diagramacion y programacion
Lenguaje natural pseudocodigo diagramacion y programacion
 
Bibliotecas o libreria de c++
Bibliotecas o libreria de c++Bibliotecas o libreria de c++
Bibliotecas o libreria de c++
 
Lenguaje de programación: Pascal
Lenguaje de programación: PascalLenguaje de programación: Pascal
Lenguaje de programación: Pascal
 
Tabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetosTabla comparativa programación estructurada y orientada a objetos
Tabla comparativa programación estructurada y orientada a objetos
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.Metodologias Para El Analisis Y Diseño De Sistemas.
Metodologias Para El Analisis Y Diseño De Sistemas.
 
Uso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximaciónUso y manejo de DFD - Una aproximación
Uso y manejo de DFD - Una aproximación
 
Algoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemasAlgoritmos y metodología para la solución de problemas
Algoritmos y metodología para la solución de problemas
 
Interrupciones
InterrupcionesInterrupciones
Interrupciones
 
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMASMETODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
METODOLOGÍA PARA LA SOLUCIÓN DE PROBLEMAS
 

Similar a LENGUAJE DE PROGRAMACION. INVESTIGACION

Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretadorFrancisco Leal
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de AlgoritmosTaniaCalle
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacionmichelledelgado97
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senaNat Alia
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senadejuansi2
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller senazeepulveediita20
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOadark
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionlupitagarcia07
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONBryan Perdomo
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programaciónanderson03230812
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASsergiosalazarcano
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTPcesia_97
 
Universidad de panamá kathia j
Universidad de panamá kathia jUniversidad de panamá kathia j
Universidad de panamá kathia jJoel Boya
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- ProgramaciónYenny Salazar
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacionLy Andre
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Vladimir Pomares
 

Similar a LENGUAJE DE PROGRAMACION. INVESTIGACION (20)

Compilador e interpretador
Compilador e interpretadorCompilador e interpretador
Compilador e interpretador
 
Diseño de Algoritmos
 Diseño de Algoritmos Diseño de Algoritmos
Diseño de Algoritmos
 
Presentación lenguajedeprogramacion
Presentación lenguajedeprogramacionPresentación lenguajedeprogramacion
Presentación lenguajedeprogramacion
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Especialidad presentacion taller sena
Especialidad presentacion taller senaEspecialidad presentacion taller sena
Especialidad presentacion taller sena
 
Programeichon de milagro
Programeichon de milagroProgrameichon de milagro
Programeichon de milagro
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Introduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacionIntroduccion a los lenguajes de programacion
Introduccion a los lenguajes de programacion
 
LENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACIONLENGUAJES DE PROGRAMACION
LENGUAJES DE PROGRAMACION
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Tema1 b
Tema1 bTema1 b
Tema1 b
 
QUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMASQUE ES PROGRAMACION DE SISTEMAS
QUE ES PROGRAMACION DE SISTEMAS
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
presentacion I BTP
presentacion I BTPpresentacion I BTP
presentacion I BTP
 
Universidad de panamá kathia j
Universidad de panamá kathia jUniversidad de panamá kathia j
Universidad de panamá kathia j
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
Tipos de lenguaje de programacion
Tipos de lenguaje de programacionTipos de lenguaje de programacion
Tipos de lenguaje de programacion
 
Introduccion a la prgrmacion.
Introduccion a la prgrmacion.Introduccion a la prgrmacion.
Introduccion a la prgrmacion.
 

Último

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOBRIGIDATELLOLEONARDO
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxlupitavic
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaDecaunlz
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioELIASAURELIOCHAVEZCA1
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfFrancisco158360
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxFernando Solis
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptxRigoTito
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfpatriciaines1993
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docxEliaHernndez7
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONALMiNeyi1
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dstEphaniiie
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxiemerc2024
 

Último (20)

ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLAACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
ACRÓNIMO DE PARÍS PARA SU OLIMPIADA 2024. Por JAVIER SOLIS NOYOLA
 
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJOACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
ACTIVIDAD DIA DE LA MADRE FICHA DE TRABAJO
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024Interpretación de cortes geológicos 2024
Interpretación de cortes geológicos 2024
 
Qué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativaQué es la Inteligencia artificial generativa
Qué es la Inteligencia artificial generativa
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdfCurso = Metodos Tecnicas y Modelos de Enseñanza.pdf
Curso = Metodos Tecnicas y Modelos de Enseñanza.pdf
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Concepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptxConcepto y definición de tipos de Datos Abstractos en c++.pptx
Concepto y definición de tipos de Datos Abstractos en c++.pptx
 
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
2 REGLAMENTO RM 0912-2024 DE MODALIDADES DE GRADUACIÓN_.pptx
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
Proyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdfProyecto de aprendizaje dia de la madre MINT.pdf
Proyecto de aprendizaje dia de la madre MINT.pdf
 
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
🦄💫4° SEM32 WORD PLANEACIÓN PROYECTOS DARUKEL 23-24.docx
 
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
5.- Doerr-Mide-lo-que-importa-DESARROLLO PERSONAL
 
Dinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes dDinámica florecillas a María en el mes d
Dinámica florecillas a María en el mes d
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docxPLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
PLAN DE REFUERZO ESCOLAR MERC 2024-2.docx
 

LENGUAJE DE PROGRAMACION. INVESTIGACION

  • 1. UNIVERSIDAD DE PANAMÁ CENTRO REGIONAL UNIVERSITARIO DE BOCAS DEL TORO ANEXO DE CHIRIQUÍ GRANDE FACULTAD DE INFORMÁTICA MATERIA INFORMÁTICA TEMA LENGUAJE DE PROGRAMACIÓN PROFESOR AARON CEDEÑO ELABORADO POR KATHERINE GONZÁLEZ 4-752-1261 ALICIA JARAMILLO 1-700-881 EFIGENIA MORALES 1-713-342 AÑO I FECHA DE ENTREGA 21/4/2017
  • 2. ÍNDICE HOJA DE PRESENTACIÓN ÍNDICE INTRODUCCIÓN I. LENGUAJE DE PROGRAMACIÓN…………………….4 II. CONCEPTO……………………………………………….4 III. NIVELES DE LENGUAJE………………………………..5 IV. PROGRAMAS TRADUCTORES, COMPILADORES DE MÁQUINAS ENSAMBLADORES………………………9 V. TÉCNICAS DE PROGRAMA SÍMBOLOS Y REGLAS DE DIAGRAMA DE FLUJO…………………………….13 VI. FASES EN LA RESOLUCIÓN DE PROBLEMAS DE PROGRAMACIÓN……………………………………...19 CONCLUSIÓN……………………………………….…23 BIBLIOGRAFÍA…………………………………………24
  • 3. INTRODUCCIÓN El ser humano para comunicarse uno al otro necesita un lenguaje que le permita transmitir o recibir una información. En general, para comunicar algo siempre se usa un lenguaje. La informática no queda excluida del uso de lenguajes, ya que estos son la manera de especificar las acciones que se desea sean realizadas en la computadora. Y es precisamente lo que en este trabajo de investigación presentaremos sobre los aspectos más importantes del lenguaje de programación, los diferentes tipos de niveles, como también los programas traductores, las técnicas de programación y las fases de resolución de problemas de programación. . Los lenguajes de programación están destinados a distintos ámbitos, dependiendo de sus características que simplifican algunas tareas y complejizan otras. No hay un único tipo de lenguajes, sino que se clasifican según las características que posean y según el paradigma y conceptos que soporten. Esperamos que este trabajo cumpla con los objetivos señalado por nuestro profesor.
  • 4. I.LENGUAJE DE PROGRAMACIÓN. II.CONCEPTO. Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.1 Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila (de ser necesario) y se mantiene el código fuente de un programa informático se le llama programación. También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos: • El desarrollo lógico del programa para resolver un problema en particular. • Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa).
  • 5. • Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina. • Prueba y depuración del programa. • Desarrollo de la documentación. III. NIVELES DE LENGUAJE Los lenguajes de programación se clasifican por su nivel de abstracción del procesador, en este caso la abstracción es un principio por el cual se aísla toda aquella información que no es resulta relevante a un determinado nivel de conocimiento.  Lenguaje de bajo nivel Es el que proporciona poca o ninguna abstracción del microprocesador de un ordenador. Consecuentemente es fácilmente trasladado a lenguaje de máquina. En general se utiliza este tipo de lenguaje para programar controladores (drivers). Es aquel lenguaje que para su programa utiliza nomónico para representar a una instrucción que entenderá la computadora, también se le llama lenguaje ensamblador. Ventajas Mayor adaptación al equipo. Posibilidad de obtener la máxima velocidad con mínimo uso de memoria.
  • 6. Inconvenientes Imposibilidad de escribir código independiente de la máquina. Mayor dificultad en la programación y en la comprensión de los programas. El programador debe conocer más de un centenar de instrucciones. Es necesario conocer en detalle la arquitectura de la máquina. Características Se trabaja a nivel de instrucciones, es decir, su programación es al más fino detalle. Está orientado a la máquina.  Lenguaje de medio nivel es un lenguaje de programación informática como el lenguaje C, que se encuentran entre los lenguajes de alto nivel y Los lenguajes de bajo nivel. Suelen ser clasificados muchas veces de alto nivel, pero permiten ciertos manejos de bajo nivel. Son precisos para ciertas aplicaciones como la creación de sistemas operativos, ya que permiten un manejo abstracto (independiente de la máquina, a diferencia del ensamblador), pero sin perder mucho del poder y eficiencia que tienen los lenguajes de bajo nivel. Una característica distintiva, por ejemplo, que convierte a C en un lenguaje de medio nivel y al Pascal en un lenguaje de alto nivel es que en el primero es posible manejar las letras como si fueran números (en Pascal no), y por el contrario en Pascal es posible concatenar las cadenas de caracteres con el operador suma y copiarlas con la asignación (en C es el usuario el responsable de llamar a las funciones correspondientes).
  • 7. Una de las características más peculiares del lenguaje de programación C; es el uso de "apuntadores", los cuales son muy útiles en la implementación de algoritmos como Listas ligadas, Tablas Hash y algoritmos de búsqueda y ordenamiento que para otros lenguajes de programación (como Java por ejemplo) les suele ser un poco más complicado implementar Los lenguajes de alto nivel Se caracterizan por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. En los primeros lenguajes de alto nivel la limitación era que se orientaban a un área específica y sus instrucciones requerían de una sintaxis predefinida. Se clasifican como lenguajes procedimentales.
  • 8. Otra limitación de los lenguajes de alto nivel es que se requiere de ciertos conocimientos de programación para realizar las secuencias de instrucciones lógicas. Los lenguajes de muy alto nivel se crearon para que el usuario común pudiese solucionar tal problema de procesamiento de datos de una manera más fácil y rápida. Por esta razón, a finales de los años 1950 surgió un nuevo tipo de lenguajes de programación que evitaba estos inconvenientes, a costa de ceder un poco en las ventajas. Estos lenguajes se llaman "de tercera generación" o "de alto nivel", en contraposición a los "de bajo nivel" o "de nivel próximo a la máquina". Ventajas La programación en un lenguaje de alto nivel tiene ciertas ventajas: Genera un código más sencillo y comprensible. Escribir un código válido para diversas máquinas y, posiblemente, sistemas operativos. Inconvenientes Reducción de velocidad al ceder el trabajo de bajo nivel a la máquina. Algunos requieren que la máquina cliente posea una determinada plataforma. Lenguajes de bajo nivel Código máquina Ensamblador Lenguajes de medio nivel BCPL C Lenguajes de alto nivel ADA ALGOL BASIC Clipper Cobol
  • 9. C++ FORTH Fortran Haskell Informix 4gl Java Lexico (con códigos en castellano o sinónimos en otros idiomas) Lisp Logo Modula PASCAL Prolog RPG Visual Basic. IV. PROGRAMAS TRADUCTORES COMPILADORES, DE MÁQUINA, ENSAMBLADORES. Traductores de lenguaje Son programas que traducen a su vez los programas fuente escritos en lenguajes de alto nivel a código máquina. Los traductores se dividen en:  Compiladores  Interpretes Intérpretes Un intérprete es un traductor que toma un programa fuente, lo traduce y a
  • 10. continuación lo ejecuta (dicho programa por medio de la computadora desarrolla una tarea específica). Un lenguaje que soporte un traductor de tipo intérprete se denomina lenguaje interpretado. BASIC es el modelo por excelencia interpretado. Los programas fuente en BASIC se escriben con ayuda de un programa denominado editor que suele venir incorporado al programa intérprete. Compiladores Un compilador es un programa que traduce los programas fuente escritos en lenguajes de alto nivel a lenguaje máquina. Los programas escritos en lenguajes de alto nivel (en el editor del lenguaje) se llaman programas fuente y el programa traducido programa objeto o código objeto. El compilador traduce (sentencia a sentencia) el programa fuente. Lenguajes compiladores típicos son: PASCAL, COBOL, C.. Fases de la compilación La compilación es el proceso de la traducción de programas fuente a programas objeto. El programa objeto obtenido de la compilación no ha sido traducido normalmente a
  • 11. código máquina sino a ensamblador. Para conseguir el programa máquina real se debe utilizar un programa llamado montador o enlazador (linker). El proceso de montaje conduce a un programa en lenguaje máquina directamente ejecutable: Por ejemplo: El proceso de ejecución de un Programa en C++ tiene los siguientes pasos: 1. Escritura del programa fuente con un editor (programa que permite a una computadora actuar de modo similar a una máquina de escribir electrónica) y guardarlo en un dispositivo de almacenamiento (un disco). 2. Introducir el programa fuente en memoria. 3. Compilar el programa con el compilador C++. 4. Verificar y corregir errores de compilación (listado de errores). 5. Obtención del programa objeto. 6. El montador obtiene el programa ejecutable. 7. Se ejecuta el programa y si no existen errores, se tendrá la salida del mismo.
  • 12.
  • 13. V. TÉCNICAS DE PROGRAMA SÍMBOLO Y REGLAS DEL DIAGRAMA DE FLUJO - Diagramas de flujo: Son herramientas gráficas para la representación visual y gráfica de algoritmos, compuestos por una serie de símbolos icónicos unidos por flechas. Características:  Los símbolos representan acciones o funciones en el programa.  Las flechas representan el orden de realización de las acciones o funciones, marcando el sentido o flujo lógico del algoritmo.  Cada símbolo tendrá al menos una flecha que conduzca a él y una flecha que parta de él, a excepción de los terminadores y conectores.  Se leen de arriba a abajo y de izquierda a derecha. Sus principales ventajas son que al ser visuales son muy sencillos de entender y que utilizan símbolos estándar. Su mayor desventaja es la dificultad de mantenimiento y actualización, puesto que deben utilizarse editores gráficos. Los símbolos están normalizados por las organizaciones de estandarización internacionales ANSI (American National Standar Institute) e ISO (International Standard Organization) y los más utilizados son los siguientes: NORMAS O REGLAS PARA LA CREACIÓN DE DIAGRAMAS DE FLUJO 1. Los diagramas de flujo se escriben de arriba abajo y de izquierda a derecha. 2. Todo símbolo (excepto las líneas de flujo) llevará en su interior información que indique su función exacta y unívoca.
  • 14. EJEMPLOS 3. Un elemento del diagrama no puede tener más de una salida si no es un elemento de decisión. Existen excepciones que veremos en su debido momento. EJEMPLOS
  • 15. 4. Las líneas de flujo no pueden cruzarse. EJEMPLOS EJERCICIO Crear el diagrama de flujo que proporcione el volumen de un cilindro dados su altura y diámetro. SOLUCIÓN
  • 16.
  • 17. También hay una serie de símbolos secundarios que son:
  • 18. Otro ejemplo de un diagrama de flujo para una operación sencilla. Imaginemos que tenemos una lámpara o bombilla y queremos hacer el diagrama de flujo para saber que hacer cuando la lámpara no funciona. ¿Hacemos-otro? Bueno vamos hacer uno que nos muestre el resultado del área de un triángulo en pantalla. Como ves, en este ni siquiera hemos puesto las operaciones dentro de los símbolos, ya que, con la forma del símbolo ya se entiende.
  • 19. VI. FASES EN LA RESOLUCION DE PROBLEMAS DE PROGRAMACIÓN Cuando nos proponemos resolver problemas en programación siempre pasamos directamente al computador y empezamos a escribir código sin antes haber analizado en lo más mínimo el problema, o bueno lo vamos analizando y directamente vamos escribiendo el código y pues en algunos casos esta práctica funciona, claro está, cuando los problemas son sencillos o cuando eres un programador experimentado, no así con problemas más complejos y más aún cuando estas empezando a programar. A veces pensamos que con hacer las cosas directamente vamos a ganar más tiempo, pero en realidad no es así, muchas de las veces el tiempo que se lleva programando un problema directamente sin haber hecho un análisis previo, es el doble o triple que si hubiésemos hecho previamente un análisis, por lo general se cometen muchos errores, que a la larga perdemos tiempo. Un buen hábito y como buenos programadores es la de llevar una metodología para solucionar un problema por más mínimo que este sea. Es por eso que esta vez vamos a ver algunos pasos que debemos seguir para resolver un problema en programación y básicamente la idea es convertirlo en un hábito cada vez que vayamos a programar. 1. ANÁLISIS PREVIO DEL PROBLEMA En esta etapa se debe definir y tener claro lo que el programa tiene que hacer junto con las tareas que debe realizar para llevar a cabo la solución, qué datos necesito para realizar la tareas, que formato deben tener los datos de entrada, de donde provienen los datos de entrada, como se obtienen esos datos, cómo interactúan los datos entre sí para obtener el resultado, muy importante tener claro cuál será el resultado que
  • 20. se desea obtener, tampoco dejar de lado las restricciones que puede haber al momento de procesar los datos.. De igual forma se debe analizar todos los escenarios que pueden darse ya que un cambio de escenario puede variar el resultado final del programa, siempre vale la pena cuestionarse y hacer la pregunta: y si pasa esto o aquello? qué comportamiento tomaría el programa. Para clarificar dudas se debe pedir formatos (formas de presentación de los datos o de donde se obtienen los datos cuando se hacen de forma manual), fórmulas, realizar ejemplos y verificar los resultados. Básicamente en este punto o fase se debe recoger todos los requerimientos y especificaciones del problema. Este punto debe ser uno de los más importantes y críticos de la resolución de problemas ya que un mal análisis lleva a un mal diseño y posterior a un mal resultado. En lo personal no importa el tiempo que demores en esta etapa, la idea es que quede bien claro todo, la primera vez puede que te demores un montón pero a medida que lo practicas vas cogiendo experiencia y si lo tomas como hábito en las próximas veces lo harás aún más rápido.
  • 21. 2. DISEÑO DEL ALGORITMO Una vez que tenemos claro el problema, después de haber definido todas las entradas y salidas que va tener el programa, también las tareas a realizar, es hora de diseñar el algoritmo y que irá de acuerdo a todas las especificaciones anteriores y posteriormente será implementado en un lenguaje de programación para ser ejecutado por la computadora. El algoritmo se lo puede hacer de cualquier forma: Pseudocódigo o Diagrama de Flujo, la idea principal es que sea entendible, y no solo por el que lo diseñó si no por cualquier persona. En conclusión en la etapa anterior se define qué es lo que hará el programa, en esta fase, se define como lo hará. Algo importante de este diseño es que sea entendible para el programador que lo va implementar. 3. CONFIGURACIÓN DEL ENTORNO DE DESARROLLO Y CODIFICACIÓN Esta etapa consiste en transcribir o adaptar el algoritmo a un lenguaje de programación, se tendrá que adaptar todos los pasos diseñados en el algoritmo con sentencias y sintaxis propias del lenguaje. Verificar errores, organizar el código y comentarlo, son buenas prácticas que hacen programas más legibles y facilitan la depuración.
  • 22. Previamente a la codificación se debe tener configurado el entorno de trabajo: IDEs, librerías, Frameworks (aunque este último no lo recomiendo si estas empezando a programar, es mejor aprender las cosas más básicas los fundamentos, todo a mano primero y luego los frameworks) y luego pasar el algoritmo al lenguaje de programación. 4. COMPILACIÓN Y PRUEBAS La fase de compilación permitirá detectar errores en tiempo de compilación, ejecución y lógicos, y en el caso de Java se generará uno o varios archivos bytecode que serán ejecutados por la computadora. En esta fase también es necesario realizar pruebas con una gran cantidad de datos para encontrar posibles errores y corregirlos. 5. DOCUMENTACIÓN Y MANTENIMIENTO Por últimos se debe tener una documentación de todos los pasos hasta llegar a la solución del problema, a veces es un poco tedioso esta fase pero también es muy importante ya que muchas veces suceden modificaciones con el pasar del tiempo y estas se hace en algunos casos por otros programadores diferentes a los que lo crearon (que incluso cuando uno mismo va ha modificar no se acuerda que rayos hacia ese código, me ha pasado), y cuando un programa es pobre en documentación este proceso de modificación es totalmente complejo.
  • 23. CONCLUSIONES.  Un lenguaje de programación es un lenguaje formal diseñado para realizar procesos que pueden ser llevados a cabo por máquinas como las computadoras.  Existen tres niveles de lenguajes. Lenguaje de máquina- Lenguajes de Programación de Bajo Nivel: El lenguaje ensamblador fue el primer lenguaje de programación de bajo nivel que trato de sustituir el lenguaje máquina por otro mucho más parecido al de los seres humanos. Lenguajes de Programación de Alto Nivel: Este lenguaje es independientes de la máquina, lo podemos usar en cualquier computador con muy pocas modificaciones o sin ellas, son muy similares al lenguaje humano. Esta investigación nos permite desarrollar un sentido crítico de los lenguajes de programación, y a la vez conocer los diferentes programas de traductores y compiladores. Conocer las diferentes técnicas para realizar un diagrama de flujo. Esta investigación servirá para evaluar correctamente los lenguajes de programación, determinando las ventajas y desventajas que cada uno de ellos presenta, a partir de identificación de estos por el tipo de lenguajes de programación. Esperamos que al ser evaluado este trabajo hallamos cumplido con lo recomendado por el profesor ya que el mismo nos servirá para futuros trabajos.