Introducción a la programación

Documentos relacionados
Tema 2 Introducción a la Programación en C.

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Algoritmos y programas

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo

1. Computadores y programación

Profesor(a): M. A. Zeferino Galarza Hernández

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje.

LÓGICA DE PROGRAMACIÓN

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

Lenguajes de programación Última modificación 2008/10

Lenguaje de Programación

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

TEMA 3: El proceso de compilación, del código fuente al código máquina

ESTRUCTURAS ALGORITMICAS

Principios de Programación en Java

Algoritmos y Lenguajes de Programación

Definición: Dispositivo mecánico-electrónico que procesa Información (numérica, alfanumérica )

FUNCIONAMIENTO DEL ORDENADOR

Nombre de la asignatura: Programación Básica. Créditos: Objetivo de aprendizaje

Diseño Estructurado de Algoritmos

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial.

Metodología para la solución de problemas programables

La resolución de un problema

Algoritmos y programas. Algoritmos y Estructuras de Datos I

TEMA 2 METODOLOGÍA DE LA PROGRAMACIÓN

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla

Guía práctica de estudio 05: Diagramas de flujo

Fundamentos de programación y Bases de Datos

I02.- SISTEMAS INFORMÁTICOS: ESTRUCTURA, ELEMENTOS COMPONENTES Y SU FUNCIÓN EN EL CONJUNTO. PROGRAMAS: TIPOS Y CARACTERÍSTICAS.

Actividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L.

PROGRAMACIÓN UNIDADES

Introducción a la programación

Estructuras de control

Estructura Selectiva Múltiple

Formato para prácticas de laboratorio

INTRODUCCION A LA PROGRAMACION

PSEUDOCÓDIGO. En este documento se recopilan los elementos conceptuales esenciales acerca PSEUDOCÓDIGO en la programación.

Introducción a la Operación de Computadoras Personales

la solución a una ecuación cuadrática solicitando al usuario los términos de dicha ecuación.

INDICE 1. Operación del Computador 2. Sistemas Numéricos 3. Álgebra de Boole y Circuitos Lógicos

: Algorítmica y Estructura de Datos I

Universidad Centroccidental Lisandro Alvarado. Decanato de Ciencias y Tecnología Departamento de Sistemas

ESCUELA DE INFORMÁTICA

LENGUAJES DE PROGRAMACION INFORMATICOS PARA EL DESARROLLO DE SOFTWARE

Operadores y Expresiones

Introducción a la arquitectura de computadores

Misión Sucre P.N.F. de Informática U.C.: Algoritmia y Programación. Elaborado por: Ing. Víctor Valencia

Guía del Curso Experto en Microsoft Excel 2016, VBA y Business Intelligence

Computación II. Introducción a Visual Basic

Fundamentos de Programación Visual Basic

Programación de Sistemas Depuradores (Debugger) MIS. Lizbeth Hdz. Glz.

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

Tema: Entorno a C# y Estructuras Secuenciales.

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

by Tim Tran:

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios:

A continuación estudiaremos a qué se refiere el término «programación», qué es un lenguaje de programación y veremos alguna terminología propia de

UNIDAD 1. COMPONENTES DEL COMPUTADOR

Fundamentos de programación. Diagramas de flujo, Diagramas N-S, Pseudocódigo y Java

C a l ses P P y y NP C a l se P C a l se N P N P [No N n o -De D te t rmin i i n s i ti t c i Polynomial-tim i e]

Programación en java. Estructuras algorítmicas

3. TÉCNICAS DE DISEÑO

Objetos de aprendizaje: Computadora

Guía del Curso Certificación It en Microsoft Excel VBA para Excel: Macros and Graphics Expert

Facultad de Ingeniería de Sistemas 1.5 Carrera: Ingeniería de Sistemas 1.6 Código: ISI 1.7 Nivel: Pregrado

Java para no Programadores

Taller de Resolución de Problemas Computacionales

UNIVERSIDAD DE GUADALAJARA

Cristian Blanco

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main.

Exterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas

2.2 Nombres, Ligado y Ámbito

Inteligencia artificial

1. Resolución de problemas con computadoras

construcción de programas Prof. Eliana Guzmán U.

MANUAL DE PRÁCTICAS DEL TALLER DE PROGRAMACIÒN PRACTICA NO.6

Introducción a la Computación. Capítulo 10 Repertorio de instrucciones: Características y Funciones

Principios de Computadoras II

Anexo. Control de errores

Tema 2 Conceptos básicos de programación. Fundamentos de Informática

Procesadores de Lenguaje

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013

Función cuadrática. Ecuación de segundo grado completa

Requerimientos de Software

Programación Estructurada

CONJUNTOS NUMÉRICOS. La noción de número es tan antigua como el hombre mismo ya que son necesarios para resolver situaciones de la vida diaria.

Inicio del programa. Entrada de datos. Proceso de datos. Salida de datos. Fin del programa

Escuela de Ingeniería en Informática Empresarial SYLLABUS

Sistemas Electrónicos Digitales

MS_10962 Advanced Automated Administration with Windows PowerShell

16 - Programando robots

[ GUÍA DIDÁCTICA: DESARROLLO DE ALGORITMOS PSEINT] 11 de julio de 2013

Capítulo 16. Diagrama de Clases UML

CONTROLADORES LÓGICOS PROGRAMABLES

COLEGIO NACIONAL NICOLAS ESGUERRA EDIFICAMOS FUTURO TEMATICA DE TRABAJO GRADO: DECIMO ASIGNATURA: INFORMATICA PROFESOR: DANILO RODRIGUEZ ACERO

Transcripción:

Introducción a la programación Conceptos Básicos El objetivo fundamental de éste curso es enseñar a resolver problemas mediante una computadora. El programador de computadoras es antes que nada una persona que resuelve problemas, por lo que para llegar a ser un programador eficaz se necesita aprender a resolver problemas de un modo riguroso y sistemático. Algoritmos y Programas Algoritmo El algoritmo es un método para resolver un problema. Un algoritmo es un conjunto ordenado y finito de instrucciones que conducen a la solución de un problema. Características de un algoritmo Preciso: no contiene ambigüedades. Repetitividad: solución genérica de un problema dado Finito: siempre termina. Partes en la que se estructura Entrada: información de partida. Proceso: operaciones y cálculos a realizar. Salida: resultados obtenidos. Las herramientas más utilizadas para diseñar un algoritmo son: diagramas de flujo y pseudocódigos. Diagramas de Flujo Un diagrama de flujo es una representación gráfica de un algoritmo que muestra los pasos que se deben seguir para alcanzar la solución de un problema. Pseudocódigos El pseudocódigo es la representación escrita de un algoritmo. Las instrucciones que componen el pseudocódigo se escriben en palabras del inglés o español que facilitan tanto la escritura como la lectura de programas. Ejemplo de Algoritmo Pseudocódigo: Problema: Dado un número, determinar si es positivo o negativo. 1. Inicio 2. leer numero 3. si numero > 0 entonces 4. imprimir Número positivo 5. sino 6. imprimir Número negativo 7. fin si 8. Fin

Diagrama de Flujo: Características: Representación gráfica de la secuencia de pasos a realizar. Las operaciones se escriben en símbolos normalizados. Las líneas de flujo indican el orden de ejecución. Símbolos principales: Inicio y fin del algoritmo Proceso Entrada/Salida Decisión Línea de Flujo Ejemplo: Dado un número, determinar si es positivo o negativo. Programa Implementación de un algoritmo en un lenguaje de programación. Conjunto ordenado de instrucciones que se dan a la computadora indicándole las operaciones o tareas que ha de realizar para resolver un problema. Lenguaje de Programación Los lenguajes utilizados para escribir programas de computadoras que pueden ser entendido por ellas se denominan Lenguaje de Programación.

Las computadoras no entienden matices, no resuelven contradicciones, ni realizan deducciones fruto de la experiencia. Por ello, los programas deberán estar escritos de una forma rigurosa Sin errores sintácticos Sin contradicciones Sin omisiones Los errores sintácticos producen programas incomprensibles para la computadora programas que no se pueden ejecutar Las contradicciones u omisiones (errores lógicos), producen programas que posiblemente no se ejecuten como el programador ha previsto. Suelen ser por ello, más difíciles de detectar Las computadoras son quisquillosas. Una simple coma (,) de más, de menos, o fuera de lugar, puede producir errores sintácticos Los lenguajes de programación se clasifican en tres categorías: máquina, bajo nivel y alto nivel Lenguaje Máquina El único que entiende directamente la CPU de la computadora Características Depende del modelo de la computadora, por tanto, diferiría de una computadora a otra. Instrucciones reducido (operaciones elementales) Muy difícil de programar en él (en binario, cadenas de cero y uno) Lenguajes de Bajo Nivel (ensambladores) La programación en lenguaje de máquina es difícil, por ello se necesitan lenguajes que permitan simplificar ese proceso. Los lenguajes de Bajo Nivel han sido diseñados para ese fin. Características Dependientes del modelo de máquina, es decir, dependen de un conjunto de instrucciones específicas de la computadora. Un lenguaje típico de bajo nivel es el lenguaje ensamblador Las instrucciones se escriben en códigos conocidos como nemotécnicos (abreviatura de palabra inglesa o española) ADD, SUB, DIV, etc. Para traducir a código máquina, se necesita de un traductor -llamado ensamblador- Lenguajes de Alto Nivel Los lenguajes de Alto Nivel son aquellos en los que las instrucciones o sentencias a las computadoras son escritas con palabras similares a los lenguajes humanos, en general ingles. Características Independiente del modelo de la computadora, es decir no dependen del diseño de la computadora Proporciona un mayor nivel de abstracción

Necesitan ser traducidos en lenguaje de máquina, los programas que realizan esta traducción se llaman compiladores Ejemplos de algunos Lenguajes de Alto Nivel Fortran (FORmula TRANlation) 1957, IBM (John Bacuks) Orientado a la resolución de problemas científicos y técnicos Cobol (COmmon Business Oriented Language) 1957, Codasyl (Committee on System Language) Aplicaciones comerciales de gestión Lisp (LISt Processing ) 1959, John McCarthy Procesamiento de datos no numéricos (usado en inteligencia artificial) C 1972, Denis Ritchie (Bell Labs) Lenguaje, pequeño, flexible y eficiente C++ 2000 Microsoft Corporation Alternativa de Microsoft a Java muy similar a éste. Java 1995 Sun Microsystems Lenguaje orientado a objetos, asociado como ningún otro a Internet. En 1998 Sun Microsystems anuncia el Java 2 como marca comercial y generó un interés avasallador en la comunidad de los negocios a causa de los avances relacionados con la Internet y la World Wide Web. Clasificación de los lenguajes de programación de Alto Nivel 1. Lenguajes Imperativos Los programas indican a la computadora en forma inequívoca los pasos a seguir para la resolución de un problema. Programación Estructurada La estructura del texto del programa debe auxiliarnos para entender la función que realiza: estrategia divide y vencerás (la resolución de un problema se divide en tareas simples y, éstas en subtareas más simples). Ejemplos: C, Pascal y Fortran. Programación Orientada a Objetos Estilo de programación que basa la estructura de un programa en módulos deducidos de los tipos de objetos que manipula (en lugar de basarse en las tareas que el sistema debe realizar). Ejemplos: C++, Java, Smalltalk, etc. 2. Lenguajes Declarativos (funcionales y lógicos) Los programas se implementan como conjuntos de funciones (o reglas lógicas) cuya evaluación nos dará el resultado deseado. Ejemplos: LISP, PROLOG, Haskell, etc.

Evolución de los Lenguajes Imperativos

Evolución de los Lenguajes Declarativos Traductores Los traductores de lenguajes son programas que traducen los programas fuente escritos en lenguajes de alto nivel en código de máquina. Los traductores se dividen en: Compiladores Un compilador es un programa que traduce los programas fuente escritos en lenguaje de alto nivel a lenguaje máquina. Código fuente Compilador Código objeto Los programas escritos en lenguajes de alto nivel se llaman programas fuente o código fuente el programa traducido, programa objeto o código objeto.

Intérpretes Un interprete es un traductor que toma un programa fuente, lo traduce a continuación lo ejecuta. Herramientas de Programación Editor, Depurador 1, Profilers 2 IDEs (Entorno Integrados de Desarrollo). Ejemplos de Eclipse, JBuilder X, NetBeans, etc. Eclipse, un IDE para Java (http://www.eclipse.org) 1 Programa diseñado para ayudar a depurar otro programa al permitir al programador observar su ejecución, instrucción por instrucción. Se pueden visualizar los valores de las variables en cada momento y establecer puntos de ruptura (instrucción que se marca indicando donde detener la ejecución del programa para ver hasta ese momento el resultado de la ejecución). Los depuradores a nivel de código máquina presentan las instrucciones de máquina reales (desensambladas en lenguaje ensamblador) y permiten al programador observar los registros y ubicaciones en la memoria. 2 Perfilador (Profiler) - Un perfilador es un programa que examina una aplicación mientras ésta se ejecuta. Provee útil información de ejecución como el tiempo invertido en determinados bloques de código, el número de instancias de cada clase que hay en memoria, etc.

JBuilder IDE, para Java (http://www.borland.com/jbuilder/foundation) NetBeans IDE, para Java (http://www.netbeans.info/downloads/index.php).