fundamentos de la computación licenciatura en ciencias de la informática academias de tecnología...

19
Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas M. en C. Ángel Gutiérrez González [email protected] Departamento de Estudios Profesionales Genéricos

Upload: tomas-barreda

Post on 23-Jan-2016

214 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Fundamentos de la Computación

L i c e n c i a t u r a e n C i e n c i a s d e l a I n f o r m á t i c a

Academias de Tecnología Informática

Instituto Politécnico NacionalUnidad Profesional Interdisciplinaria de Ingeniería y

Ciencias Sociales y Administrativas

M. en C. Ángel Gutiérrez González

[email protected]

Departamento de Estudios Profesionales Genéricos

Page 2: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Fundamentos de la Computación

Objetivos:

Al término de este curso el alumno:

Habrá adquirido los conocimientos generales acerca de la computación, así como la arquitectura y funcionamiento de la computadora digital además de sus periféricos. Se aplicaran los conceptos de forma práctica.

Page 3: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Contenido:

• UNIDAD I. Introducción

• UNIDAD II. Componentes Principales de una Computadora

• UNIDAD III. Conceptos de Programación

• UNIDAD IV. Ambientes de Procesamiento de Datos

• UNIDAD V. Sistema Operativo

• UNIDAD VI. Tópicos

• Bibliografía

Fundamentos de la Computación

Page 4: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Fundamentos de la Computación

Objetivos particulares:

Al término de este curso el alumno:

• Identificará los diferentes modos de procesamientos de datos de un sistema de cómputo

• Distinguirá las diferentes fases por las que atraviesa una aplicación• Definirá el tipo de proceso más adecuado a las exigencias de un

sistema de información a operar

Unidad III: Conceptos

de Programación

Page 5: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Unidad III. Conceptos de programación

Conceptos de programación

• 3.1. COMO DETERMINAR QUE UN PROBLEMA SEA RESUELTO POR COMPUTADORA.

• 3.2. SOLUCIONES LÓGICAS

• 3.3. DIAGRAMAS LÓGICOS

• 3.4. QUE ES UN LENGUAJE DE PROGRAMACIÓN

• 3.5. QUE ES UN LENGUAJE MAQUINA

• 3.6. QUE ES UN TRADUCTOR DE LENGUAJES

• 3.7. ELEMENTOS DE PROGRAMACIÓN

• 3.8. PROGRAMACIÓN ESTRUCTURADA

• Bibliografía (Unidad III)

Al término de La unidad se incluye una lista de actividades de aprendizaje a para ser realizadas por los alumnos participantes.

Page 6: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.1. Como determinar que un problema sea resuelto por computadora

Conceptos de programación

Diseñar una estrategia para obtener la solución

Consideraciones iníciales: ¿que tengo para solucionarlo ó con que?

Algoritmo para realizar la solución (los pasos uno a uno y en orden de cómo lo haré).

Efectuar un análisis de la situación

Identificar el problema Identificar la solución

Existen problemas que no pueden ser resueltos por una computadora, dado que las computadoras solamente pueden ejecutar algoritmos, esto es secuencia de instrucciones universalmente precisas y entendibles que resuelven cualquier instancia de problemas computacionales definidos rigurosamente.

Page 7: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.1. Como determinar que un problema sea resuelto por computadora

•El programador debe de reconocer cual es el problema estableciendo con claridad cuales son los datos disponibles y a que resultados se desea llegar.

Definición del Problema

•El programador debe entender lo que va a hacer y comprender la situación por la que esta pasando y debe tener una solución para transformar los datos en grandes resultados.

Análisis del Problema

•Durante esta fase se planea la estrategia que permitirá alcanzar la solución del problema.

Diseño del Algoritmo

•Consiste en traducir el algoritmo diseñado a un lenguaje de programación y aplicarlo en una computadora. Las pruebas verifican su funcionamiento para corregir posibles errores.

Programación y Pruebas

•Esta es la última etapa el programador se encarga de modificar el programa según vayan apareciendo necesidades adicionales.

Mantenimiento

Conceptos de programación

La técnica propuesta para la resolución de problemas es aplicable a muchos campos, dentro el campo de la computación un problema consiste en la necesidad de transformar un grupo de datos iniciales en un grupo de datos finales. Así la computadora podrá resolver un problema si alguien desarrolla un programa que contenga las instrucciones adecuadas que permitan transformar los datos.

Page 8: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.2. Soluciones Lógicas

Conceptos de programación

ALGORITMO

• Es una serie de pasos ordenados lógicamente que permite resolver un problema.

• Diseño de algoritmos.- Es preparar una estrategia para solucionar un problema. Para ello se debe entender perfectamente el problema y comprender la solución que se desea alcanzar.

Características de los Algoritmos

• Finitud• Precisión• Entradas y Salidas

bien Definidas• Efectividad

Elementos en la construcción de los

Algoritmos

• Variables• Control de entradas

y salidas• Operaciones• Comparaciones y

selecciones

Page 9: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.3. Diagramas Lógicos• Los diagramas lógicos o diagramas de flujo son la

representación grafica de lo que se desea que la computadora haga.

• También es una representación gráfica de los pasos que seguimos para realizar un proceso; partiendo de una entrada, y después de realizar una serie de acciones, llegamos a una salida.

• Cada paso se apoya en el anterior y sirve de sustento al siguiente:

Tienen como ventajas:

Facilitar la visualización de la estructura de un proceso.

Presenta la información (flujos de control, entradas, salidas, etc.) y se utiliza en la fase de diseño en el desarrollo de sistemas computacionales.

Ayuda en la búsqueda y detección de errores.

Se usa para aprender un lenguaje computacional debido a lo específico que es.

Inicio

Datos Proceso

Decisión

Documento

Fin

Conceptos de programación

Page 10: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.4. Que es un lenguaje de programaciónEs el conjunto de reglas y estándares para escribir un programa.

Los lenguajes de programación sirven para escribir programas que permitan la comunicación usuario/maquina.

Los lenguajes utilizados para escribir programas de computadoras que pueden ser entendidos por ellas se denominan lenguajes de programación.

Len

guaj

e M

aqui

na Están escritos en lenguajes directamente inteligibles por la computadora, ya que sus instrucciones son cadenas binarias (0 y 1).

Len

guaj

e de

Baj

o N

ivel Los lenguajes de

bajo nivel son lenguajes de programación que se acercan al funcionamiento de una computadora. El lenguaje de más bajo nivel por excelencia es el código máquina.

Len

guaj

e de

Alto

Niv

el

Son de uso fácil, ya que en ellos un solo comando o instrucción puede equivaler a millares es código máquina.

Len

guaj

e de

4

Gen

erac

ión Permitir a los

usuarios con poco conocimiento de programación, desarrollar sus propios programas de aplicación sin la asistencia de un experto informático.

Conceptos de programación

Page 11: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Lenguajes Imperativos

•BASIC•C•C++•Java•C#•Perl•unerg

Lenguajes Funcionales

•Puros: •Haskell•Miranda•Híbridos: •Lisp•Scheme•Ocaml•Standard ML•ML•Scala

Lenguajes Lógicos

•Prolog

Lenguajes Orientado a Objetos

•ActionScript•Ada•C++•Visual FoxPro•Clarion•Delphi•Harbour•Eiffel•Java•Java Script•Léxico•Oz•Perl •PHP

3.4. Que es un lenguaje de programación

Conceptos de programación

Page 12: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.5. Que es un lenguaje maquina• El lenguaje máquina es el único que entiende directamente la computadora, utiliza el

alfabeto binario que consta de los dos únicos símbolos 0 y 1, denominados bits.

• Fue el primer lenguaje utilizado en la programación de computadoras, pero dejó de utilizarse por su dificultad y complicación, siendo sustituido por otros lenguajes más fáciles de aprender y utilizar, que además reducen la posibilidad de cometer errores.

Conceptos de programación

Page 13: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.6. Que es un traductor de lenguajesExisten programas llamados traductores que traducen programas escritos en un lenguaje de programación al lenguaje maquina de la computadora.

Un traductor es un programa que toma un programa denominado “programa fuente” y proporcionan como salida otro programa escrito en un lenguaje comprensible por el hardware de la computadora denominado “programa objeto”.

Existen 2 tipos de Traductores

Los Compiladores• Permiten que un programa

fuente escrito en un determinado lenguaje vaya traduciéndose y ejecutándose directamente sentencia por sentencia por la computadora.

Los Traductores• Traduce

completamente el programa fuente generando un programa objeto escrito en lenguaje maquina

Conceptos de programación

Page 14: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.7. Elementos de programación

Diagramas de flujo • es una representación

grafica de un algoritmo. Los símbolos utilizados han sido normalizados por el Instituto Norteamericano de Normalización (ANSI), y los mas frecuentemente empleados se muestran en la figura.

Pseudocódigos • es una herramienta de

programación en la que las instrucciones se escriben en palabras similares al ingles o al español, que facilitan tanto como la escritura como la lectura del programa.

Conceptos de programación

Page 15: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

3.8. Programación estructuradaSurge a finales de los años 60, con esta nueva forma de programar surge el teorema del programa estructurado, demostrado por Böhm-Jacopini, demuestra que todo programa puede escribirse utilizando únicamente las tres instrucciones de control siguientes:

• Secuencia• Instrucción condicional.• Iteración (bucle de instrucciones) con condición al

principio.

Conceptos de programación

Page 16: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Introducción

SUBRUTINA: se presenta como un su algoritmo que forma parte del algoritmo principal, el cual permite resolver una tarea específica.

Este es un ejemplo de un programa con una Subrutina:

PROGRAMA principal instrucción 1 instrucción 2 ... instrucción N ... SUBRUTINA Nombre X ....... FIN SUBRUTINA ... FIN PROGRAMA principal.

3.8. Programación estructurada

• Los programas son más fáciles de entender.

• Reducción del esfuerzo en las pruebas.

• Reducción de los costos de mantenimiento.

• Programas más sencillos y más rápidos.

• Aumento en la productividad del programador.

• Se facilita la utilización de las otras técnicas para el mejoramiento de la productividad en programación.

Page 17: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Actividades de aprendizaje

a) Planteamiento de un problema por parte del profesor y en discusión de grupo plantear las diferentes alternativas de solución que tiene el problema y ver la viabilidad de que este se pueda solucionar o no utilizando una computadora.

b) Del problema planteado anteriormente, obtener un diagrama lógico, un diagrama de flujo y su correspondiente algoritmo.

c) Realizar con la elaboración de algunos casos prácticos el dominio básico de al menos un lenguaje de programación (“C” o “JAVA”)

d) Con los ejemplos anteriores explicar que es el lenguaje maquina, explicar la diferencia entre traductor e interprete.

e) Con el alguno de los ejemplos anteriores poner en práctica los principios de la programación estructurada.

Conceptos de programación

Page 18: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Bibliografía (Unidad III)

Introducción a la Computación para IngenierosSteven C. Chapra Raymond P. CanaleMc. Graw Hill 1990 2da. Ed. 739 p. USA

Introducción a las Computadoras y al Procesamiento de InformaciónLarry LongPrentice Hall 1995, USA2da. Ed. 592 p.

Fundamentos de programaciónLuis Joyanes AguilarMc Graw Hill, 2003, España3ra. Ed.

http://expo.itchihuahua.edu.mx/view.php?f=prog_16#page1http://teleformacion.edu.aytolacoruna.es/PASCAL/document/intro.htmwww.diegolucena.com/.../compiladores-y-traductores-de-lenguajes-de-programación http://www.utm.mx/~rruiz/materias/PE/ipe.htmhttp://sistemas.itlp.edu.mx/tutoriales/pascal/u1_1_4.htmlhttp://www.mitecnologico.com/Main/ProgramacionEstructurada

Conceptos de programación

Page 19: Fundamentos de la Computación Licenciatura en Ciencias de la Informática Academias de Tecnología Informática Instituto Politécnico Nacional Unidad Profesional

Fundamentos de la ComputaciónL i c e n c i a t u r a e n C i e n c i a s d e l a I n f o r m á t i c a

Academias de Tecnología Informática

M. en C. Ángel Gutiérrez González

[email protected]

!Gracias por su atención¡

Unidad Profesional Interdisciplinaria de Ingeniería y Ciencias Sociales y Administrativas

Instituto Politécnico Nacional

Fin de la Unidad III: Conceptos

de Programación

Departamento de Estudios Profesionales Genéricos