INICIACIÓN A LA PROGRAMACIÓN 1ª parte

Documentos relacionados
1. Computadores y programación

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

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

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

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

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

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

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

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

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

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

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

LÓGICA DE PROGRAMACIÓN

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

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

DESCRIPCIÓN ESPECÍFICA NÚCLEO: Núcleo Sector Comercio y Servicios.

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

Fundamentos de Programación Visual Basic

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

UNIDAD ACADÉMICA PROFESIONAL TIANGUISTENCO

INTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA

La resolución de un problema

: Algorítmica y Estructura de Datos I

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

Agradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1

ALGORITMOS, ESTRUCTURAS Y PROGRAMACION

Algoritmos y Lenguajes de Programación

Estructuras de Control

Control de Flujo. Estructuras de Control! Experiencia Educativa de Algorítmica CONTROL DE FLUJO

Algoritmos y programas. Algoritmos y Estructuras de Datos I

Diseño Estructurado de Algoritmos

Fundamentos de programación y Bases de Datos

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

Estructuras de control

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

ESTRUCTURAS ALGORITMICAS

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

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

Java para no Programadores

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

Algoritmos y Programas

TEMA 2 METODOLOGÍA DE LA PROGRAMACIÓN

Principios de Programación en Java

Unidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones

Carlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas

UNIVERSIDAD NACIONAL EXPERIMENTAL DE GUAYANA VICERRECTORADO ACADÉMICO COORDINACION DE PRE-GRADO PROYECTO DE CARRERA DE INGENIERIA INDUSTRIAL

Tema: Entorno a C# y Estructuras Secuenciales.

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación.

Taller de Resolución de Problemas Computacionales

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

Introducción a la programación

Metodología para la solución de problemas programables

4. Operadores Operador asignación

PROGRAMACIÓN UNIDADES

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

Lenguaje de Programación

Computación II. Introducción a Visual Basic

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

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

PROGRAMACIÓN ALGORITMOS y DIAGRAMAS

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

TEMA 4. ESTRUCTURAS DE CONTROL

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

Índice general. Capítulo 1 Conceptos básicos. Capítulo 2 Controles básicos I. Pág. N. 1

Anexo. Control de errores

Capítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"

Algoritmos y Programas OBJETIVOS

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa.

Programación Estructurada

Java Avanzado Facultad de Ingeniería. Escuela de computación.

Estructura Selectiva Múltiple

FUNCIONAMIENTO DEL ORDENADOR

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

Formato para prácticas de laboratorio

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]

Tema: Introducción al IDE de Microsoft Visual C#.

Operadores y Expresiones

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Planificaciones Algoritmos y Programación I. Docente responsable: AZCURRA DIEGO ANDRES. 1 de 5

Introducción al Lenguaje de Programación C

3. TÉCNICAS DE DISEÑO

ESCUELA SUPERIOR POLITECNICA DEL LITORAL PROGRAMA DE ESTUDIOS

6.1.- Introducción a las estructuras de datos Tipos de datos Arrays unidimensionales: los vectores Operaciones con vectores.

La eficiencia de los programas

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

Estructuras en LabVIEW.

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

UNIVERSIDAD DEL CARIBE UNICARIBE. Escuela de Informática. Programa de Asignatura

Ficha de Aprendizaje N 13

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

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

3.2. Programación estructurada. Principal. Modulo 1 Modulo 2 Modulo 3 Modulo 4. Modulo Modulo Modulo 3 1 Modulo 4 1 Modulo 4 2. Pág.

Aprender a desarrollar con JavaScript

Sistemas Electrónicos Digitales

Transcripción:

TEMA 4 INICIACIÓN A LA PROGRAMACIÓN 1ª parte

Qué es la programación? La programación es el proceso de diseñar, codificar, depurar y mantener el código fuente de programas computacionales. En la actualidad, la noción de programación se encuentra muy asociada a la creación de aplicaciones informáticas y videojuegos; es el proceso por el cual una persona desarrolla un programa valiéndose de una herramienta que le permita escribir el código (el cual puede estar en uno o varios lenguajes, tales como C++, Java y Python) y de otra que sea capaz de traducirlo a lo que se conoce como lenguaje de máquina, el cual puede ser entendido por una CPU.

Qué es un lenguaje de programación? Un lenguaje de programación sirve para especificar las secuencias de instrucciones que debe interpretar una CPU. Cada equipo según su diseño entiende un conjunto de instrucciones elementales llamado lenguaje máquina. Lenguajes de bajo nivel: están muy próximos al lenguaje máquina. El lenguaje ensamblador es una reformulación del lenguaje máquina que utiliza una notación abreviada (mnemotécnica) para que el programador pueda recordar sin dificultad las instrucciones de la CPU, direcciones de memoria, etc. Lenguajes de alto nivel: están pensados para que las personas puedan escribir y entender programas de una manera mucho más sencilla en comparación con los de bajo nivel. Los más difundidos: C, C++, Cobol, Java, Pyton, Pascal, Delphi, Fortran, Smalltalk, Visual Basic, C#, PHP, ASP, etc. public class Hello{ public static void main(string[] args) { System.out.println("Hola mundo"); } }

Generaciones de lenguajes Primera generación: Dependen totalmente de la maquina. Lenguaje máquina y lenguaje ensamblador. Segunda generación(finales de los 50 y principios de los 60): Fortran: Científico y de ingeniería. Cobol: Aplicaciones de procesamiento de datos. Algol: Predecesor de los lenguajes de 3ª generación. Basic: Originalmente para enseñar a programar. Tercera generación(hacia los años 70 crisis del software): Lenguajes de programación estructurada. Posibilidades procedimentales y de estructura de datos. Propósito general: Pascal: Bloques estructurados, tipificación de datos. C: Originalmente para sistemas, gran flexibilidad. Ada: Para aplicaciones de tiempo real.

TEMA 4 - INICIACIÓN A LA PROGRAMACIÓN Generaciones de lenguajes Tercera generación (hacia los años 70 crisis del software): Orientados a objetos: Smalltalk. Eiffel. C++. Java. Especializados(sintaxis diseñada para una aplicación particular) LISP: demostración de teoremas. Prolog: inteligencia artificial. Apl: tratamiento de vectores y matrices. Cuarta generación: Alto nivel de abstracción. No es necesario detalles algorítmicos. Ejemplo: SQL (orientados a tratamiento de datos.)

Qué necesitamos para definir un lenguaje de programación? Conjunto de símbolos y palabras clase utilizables. Reglas gramaticales para construir sentencias sintáctica y semánticamente correctas (instrucciones y órdenes). Sintaxis: Conjunto de normas que dicen cómo hay que escribir las sentencias del lenguaje. Semántica: Interpretación de las sentencias. Indica el significado de las mismas. Algoritmos, programas y codificación. Un algoritmo es un procedimiento para resolver un problema de manera sistemática. Un problema puede ser resuelto por dos algoritmos diferentes, dando un mismo resultado pero pueden presentar distinto coste computacional. Un programa es una versión particular de un algoritmo descrito en un lenguaje de programación determinado. Al proceso de escribir un programa que ejecute un algoritmo determinado se le denomina codificación. Características que debe cumplir todo algoritmo: Preciso: Se ha de poder interpretar sin ambigüedad. Definido: Si se sigue dos veces, se debe obtener idénticos resultados. Finito:Sehadeterminarenalgúnmomento,esdecir,hadehacerunnúmerofinitodepasos.

Compiladores e intérpretes. Un traductor es un programa que toma como entrada un programa escrito en un lenguaje fuente y lo transforma en un programa escrito en lenguaje máquina. El proceso de conversión se denomina traducción y puede realizarse de dos formas diferentes: por interpretación o por compilación. Interprete: Es un programa que toma como entrada un programa escrito en lenguaje fuente y lo va traduciendo y ejecutando instrucción por instrucción(de una en una). Compilación: Es el proceso de traducción de programas de alto nivel a código máquina. La entrada de este proceso de traducción se denomina programa fuente y el resultado se denomina programa objeto. Ciclo de creación de un programa. si si Programa fuente Compilador Hay errores de compila_ ción? no Programa a prueba Hay errores de ejecu_ ción? no Programa correcto

Resolución de problemas. Haciendousodeunordenador,serefierealprocesoqueconsisteenpartirdeladescripcióndeunproblemay desarrollar un programa que resuelva dicho problema. Para ello se seguirán unos pasos: 1. Análisis del problema. 2. Diseño o desarrollo de un algoritmo. 3. Transformación del algoritmo en un programa(codificación). 4. Ejecución y validación del programa. Por tanto, una vez analizado el problema y obtenido el algoritmo, su transformación al programa es una mera tarea de traducción al lenguaje de programación deseado.

Pseudocódigo o lenguaje algorítmico: Es una notación algorítmica textual muy parecida al lenguaje natural. Es la aplicación de las estructuras tratadas en los puntos posteriores(1-6) disponiendo además de palabras reservadas con las que poder expresar tanto las acciones elementales como las diferentes estructuras lógicas del algoritmo. También en estas estructuras pueden utilizarse comentarios, generalmente entre los símbolos /* y */. Veamos un ejemplo: ALGORITMO nombre_algoritmo; CONSTANTES /* Sección reservada para la declaración de datos constantes usados en el algoritmo */ VARIABLES /* Sección reservada para la declaración de datos variables utilizados por el algoritmo */ INICIO /* Comienzo del cuerpo principal de acciones del algoritmo */ Acción 1; Acción 2; Acción 3; Acción N; FIN

1. Acción elemental: Una acción elemental es aquella que el ordenador es capaz de realizar de forma nativa ypuedenserdedostipos: A. Aritmético lógicas: Son operaciones que a partir de unos determinados datos, realizan un calculo aritmético (suma, resta, multiplicación, ) o un cálculo lógico (mayor que, igual que, ). Las primeras devuelven un valor numérico (4, 45,75454, )ylassegundasunvalorlógico(verdaderoofalso). B. De entrada salida: Son acciones que permiten capturar datos de entrada para su posterior tratamiento(las de entrada) y guardar los resultados de dicho tratamiento(las de salida). 2. Secuencia de acciones elementales(composición secuencial): Cuando en un algoritmo se deben ejecutar varias acciones sucesivamente, estas se describen una detrás de otrasegúnelordenenquedebanejecutarse.seempleaelpuntoycoma ; parasepararlas. Acción 1; Acción 2; Acción n;

3. Ejecución condicional de una acción: Cuandoenunalgoritmosequiereindicarqueciertaacciónsólosedebeejecutarbajouna cierta condición se indica del siguiente modo: SI condición ENTONCES Acción; FIN SI Solo si la condición (operación lógica) es verdadera se ejecutará la acción. 4. Ejecución alternativa de una de dos acciones: En ocasiones se deben ejecutar unas acciones u otras en función de que una determinada condición se dé o no.portanto,silacondiciónsecumpleserealizarála accióna ysinosecumpleserealizarála acciónb : SI condición ENTONCES Acción A; SINO Acción B; FIN SI

5. Ejecución condicional de una de varias opciones: Otra posibilidad es escoger una acción entre varias dependiendo del valor de una determinada variable, debiendo expresarse del siguiente modo: SELECCIONAR indicador: Caso valor1: Acción 1; Caso valor2: Acción 2; Caso valor 3: Acción 3; [En otro caso: Acción X;] FIN CASO indicador tendrá un determinado valor que en caso de coincidir con alguno de los n valores provocará la ejecución de la acción asociada.

6. Ejecución múltiple de una acción: Cuando una acción o conjunto de acciones debe ejecutarse varias veces se recurre a una estructura iterativa llamada bucle. Este tipo de estructuras necesitan una condición que determine cuándo terminan las iteraciones: Condición al principio de la estructura. Condición al final de la estructura La condición de terminación ha de ser FALSA Estructura 1 MIENTRAS condición HACER Acción 1; FIN MIENTRAS Estructura 3 HACER Acción 1; MIENTRAS condición; La condición de terminación ha de ser VERDADERA Estructura 2 HASTA condición HACER Acción 1; FIN HASTA Estructura 4 HACER Acción 1; HASTA condición;

6. Ejecución múltiple de una acción: Enlasestructuras1y2,cuandoseevalúala Condición porprimeravez,siéstatomaun valortalquenopermitaejecutarla Acción (FALSOenla1yVERDADEROenla2),éstano seejecutaráningunavez,esdecir,puedeocurrirquenosellegueaejecutarnunca. En las estructuras 3 y 4, al estar la Condición al final de la construcción, la Acción se ejecutará antes de que la condición se evalúe por primera vez, por lo que aunque la Condición tome un valor tal que no se permita realizar más iteraciones, la Acción se ejecutará al menos una vez. Estructuras especiales: Cuando queremos que una acción se repita un número determinado de veces: PARA parámetro HASTA condición HACER Parámetro Acción A; MIENTRAS condición HACER FIN PARA Acción A; Operar parámetro; FIN MIENTRAS

Diagramas de flujo: Un diagrama de flujo es una representación gráfica de un algoritmo. Los elementos gráficos que emplea son los siguientes: Indicador de inicio y fin del algoritmo Operación de tratamiento de datos Operación lógica para la toma de decisiones Operación de entrada / salida (E/S) Línea de flujo Conector (Para cuando un diagrama no cabe en una página)

Del Pseudocódigo al diagrama de flujo: Inicio Acción 1; Acción 2; Acción n; Acción 1 Acción 2 Acción 3 Fin

Del Pseudocódigo al diagrama de flujo: SI condición ENTONCES Acción; FIN SI Inicio Condición NO SI Acción 1 Fin

Del Pseudocódigo al diagrama de flujo: SI condición ENTONCES Acción A; SINO Acción B; FIN SI SI Inicio Condición NO Acción A Acción B Fin

Del Pseudocódigo al diagrama de flujo: SELECCIONAR indicador: Caso valor1: Acción A; Caso valor2: Acción B; Caso valor 3: Acción C; [En otro caso: Acción X;] FIN CASO Acción A Inicio Condición Acción B Acción C Acción D Fin

Del Pseudocódigo al diagrama de flujo: MIENTRAS condición HACER Acción 1; FIN MIENTRAS Inicio Condición SI NO Acción Fin

Del Pseudocódigo al diagrama de flujo: HACER Acción 1; MIENTRAS condición; Inicio Acción SI Condición Fin NO

Del Pseudocódigo al diagrama de flujo: PARA parámetro HASTA condición HACER Inicio Acción A; FIN PARA i = 1 i < = n SI NO i = i + 1 Fin