FUNDAMENTOS DE INFORMÁTICA

Tamaño: px
Comenzar la demostración a partir de la página:

Download "FUNDAMENTOS DE INFORMÁTICA"

Transcripción

1 E. U. Politécnica Ingeniería Técnica Industrial FUNDAMENTOS DE INFORMÁTICA TEMA 5 ALGORITMOS Y PROGRAMAS 1. Introducción 2. El ciclo de vida del software 3. Definición del problema 4. Diseño del algoritmo 4.1. Concepto de algoritmo 4.2. Métodos de representación de algoritmos 4.3. Metodología de diseño 5. Codificación 5.1. Características de los programas. Programación estructurada 6. Lenguajes de programación 6.1. Definición 6.2. Clasificación de los lenguajes de programación 6.3. Traductores: compiladores e intérpretes. 7. Informes propuestos en este tema INTRODUCCIÓN Hemos visto cómo se relacionaban entre sí los distintos componentes hardware de una computadora. Pero todo este hardware resulta prácticamente inútil si no tiene software que le indique lo que tiene que hacer. Necesitamos aprender técnicas de programación para utilizar la computadora como una herramienta para resolver problemas. Qué ventajas aporta el uso del ordenador para la resolución de problemas? Un buen número de problemas conlleva cálculos complicados o manejo de grandes cantidades de datos. En el primer caso, el riesgo de equivocarse es grande, y en el segundo, el trabajo se convierte en pesado y rutinario. Mediante el uso de la computadora se eliminan estos inconvenientes debido a las capacidades de la misma, basadas en las siguientes características: precisión, rapidez y memoria.

2 Pero el ordenador por sí mismo no puede analizar un problema y dar directamente su solución. El programador deberá describir al ordenador con detalle y en una forma entendible para la máquina, todos los pasos que debe seguir para resolver el problema. Una descripción de este tipo es un programa y su objetivo es dirigir el funcionamiento de la máquina. 1. CICLO DE VIDA DEL SOFTWARE En general, para crear cualquier aplicación software, hemos de seguir las siguientes fases, que constituyen el ciclo de vida del software: 1. Fase de definición: Se analiza el problema que se pretende resolver. 2. Fase de desarrollo: Se lleva a cabo el diseño de los programas y la documentación asociada a los mismos. Se divide a su vez en tres fases: 2.1. Diseño: Debemos obtener un producto software que cumpla con los requisitos establecidos en la fase anterior. Para ello, antes de codificar debemos diseñar -en esta fase- la estructura adecuada para el mismo. Esto consiste en diseñar el algoritmo que resuelva el problema Codificación: Plasmamos el diseño de la fase anterior en programas escritos en un lenguaje de programación adecuado, dependiendo del tipo de aplicación. Si el diseño se ha hecho correctamente y de forma detallada, la codificación puede realizarse mecánicamente, es decir, sería un simple proceso de traducción Prueba: Consiste en comprobar si hemos construido el software que se deseaba, es decir, comprobar que los programas: o se corresponden con el diseño, o realizan correctamente sus funciones, y o satisfacen los requisitos indicados. 3. Fase de mantenimiento: En ella se realizan las mejoras y correcciones del software desarrollado, durante su tiempo de vida útil, debido fundamentalmente a: o la existencia de errores, o la necesidad de adaptar el software (nuevo Sistema Operativo, nueva máquina específica, etc.), o nuevas necesidades del cliente que requiere aumentos funcionales o de rendimiento del software. Teniendo en cuenta el tipo de aplicaciones que se desarrollarán en este curso, aplicar el ciclo completo supondría un esfuerzo no justificado por la poca complejidad de los problemas a los que nos vamos a enfrentar. Es por esto por lo que diseñaremos programas siguiendo, al menos, los siguientes pasos: 1. Fase de definición del problema. 2. Fase de desarrollo Diseño de una solución general del problema (algoritmo) Transformación de esta solución general (algoritmo) en una solución específica (programa). Generalmente estos pasos se incrementan para incluir: una prueba del algoritmo para detectar errores en el mismo y corregirlos antes de avanzar en el proceso,

3 una prueba y verificación del programa que permita ver que el programa realmente hace la tarea adecuada de la forma correcta, y una etapa de mantenimiento en la que se realizarán mejoras en el programa y/o se corregirán posibles errores detectados en el uso del mismo. 2. DEFINICIÓN DEL PROBLEMA Para definir con precisión un problema es necesario identificar los datos de entrada. De igual manera se deben especificar los datos de salida. En definitiva, se debe responder a estas dos preguntas: Qué datos se necesitan para resolver el problema? Qué información necesitamos que nos proporcione el usuario para poder obtener una solución al problema? Qué información debe proporcionar la resolución del problema? Cuál es la información que debemos dar como salida? Es conveniente en este punto, intentar ver la relación existente entre las entradas y las salidas. Es importante definir bien el problema para obtener una correcta solución del mismo. 3. DISEÑO DEL ALGORITMO 3.1. Concepto de algoritmo. Características Un algoritmo es un método para resolver un problema. Más exactamente, es un conjunto finito de acciones primitivas que dan una secuencia de operaciones para resolver un tipo específico de problema. Por acciones primitivas entendemos aquellas que el procesador (el que ejecuta el algoritmo) es capaz de ejecutar sin necesidad de información suplementaria. Un algoritmo debe cumplir las siguientes condiciones: Ser finito, acabar siempre tras un número finito de pasos. Si el algoritmo nunca acaba, no obtendremos ninguna solución y, como se ha señalado, el objetivo principal de un algoritmo es obtener la solución de un problema. Estar definido. Para ello debe estar compuesto por un conjunto ordenado de acciones, especificadas en cada caso rigurosamente y sin ambigüedad. De esta forma se cumplirá que si se sigue el algoritmo dos veces con los mismos datos de entrada, se obtendrán los mismos datos de salida. Llegados a este punto, podemos preguntarnos, cuál es la diferencia entre programa y algoritmo? Para que una computadora resuelva un problema según un algoritmo éste tiene que ser convertido en un programa traduciéndolo a algún lenguaje de programación concreto. Los algoritmos no son directamente interpretables por la computadora, pero tienen la ventaja de que son independientes de cualquier lenguaje de programación. A la hora de escribir un algoritmo es importante considerar los siguientes aspectos: Lenguaje simbólico a utilizar para desarrollar el algoritmo. Representación de los datos. Determinación de las primitivas de las que partimos.

4 Establecer datos de entrada. Establecer datos de salida. Establecer las relaciones entre los datos de entrada y los de salida. Ejemplo: calcular la longitud de una circunferencia y el área del círculo que limita dada la longitud de su radio. Determinación de las primitivas de las que partimos: Operaciones aritméticas simples Lenguaje simbólico a utilizar para desarrollar el algoritmo: Lenguaje de representación de expresiones aritméticas Representación de los datos: Cadenas de caracteres para las incógnitas Números reales Establecer datos de entrada: Radio de la circunferencia (radio) Establecer datos de salida: Longitud de la circunferencia (longitud) Área del círculo (area) Establecer las relaciones entre los datos de entrada y los de salida: longitud = 2 * * radio area = * radio * radio 3.2. Métodos de representación de algoritmos. Podemos expresar un algoritmo, básicamente con dos tipos de métodos: Método informal, como por ejemplo, el lenguaje natural. De esta forma, describiremos un algoritmo como si contáramos a otra persona los pasos que ha de seguir para resolver un problema dado. Este método tiene una ventaja y desventaja importantes: Por una parte, el lenguaje natural, es fácilmente comprensible para todos, es la forma más intuitiva de describir un método para resolver un problema. Por otra, las acciones expresadas a través de él pueden no tener un significado preciso y por tanto el algoritmo correspondiente puede no estar definido, por lo que no es una forma de descripción aconsejable. Es preferible usar cualquiera de los métodos formales que se señalan a continuación. Métodos formales, entre los que destacamos: Un lenguaje específico de descripción de algoritmos o pseudocódigo. Su uso hace que el paso de un algoritmo a un programa sea relativamente fácil. Podríamos decir que se trata de un lenguaje natural limitado y sin ambigüedad. Por su limitación se consigue expresar el conjunto de pasos que resuelven un problema, en función de las estructuras de control básicas. Su no ambigüedad hace que el método sea preciso. Diagramas de flujo u organigramas. Es un método de representación, que utiliza un conjunto de símbolos de forma que, cada paso del algoritmo se visualiza dentro del símbolo adecuado y el orden en que se realizan los pasos se representa mediante líneas de flujo que indican el flujo lógico del algoritmo Metodología de diseño

5 La fase de diseño es la fase de resolución del problema, es aquí donde el programador debe diseñar un algoritmo. En un principio no se utilizaba ninguna metodología para realizar este diseño. Prescindir de metodología puede acarrear problemas como: Rigidez e inflexibilidad de los programas. Pérdida excesiva de tiempo en la corrección de errores. Documentación deficiente. Imposibilidad de reutilización de código. De ahí que sea recomendable usar alguna metodología al diseñar un algoritmo (y el programa correspondiente). En programación, al igual que en otros contextos, la resolución de un problema se facilita notablemente si éste se divide en subproblemas, a continuación éstos se descomponen en subproblemas más simples, y así sucesivamente hasta que los problemas más pequeños sean fáciles de resolver. Al método de diseño que obtiene la solución de un problema mediante la solución de sus subproblemas, se le denomina diseño descendente, y a cada uno de los algoritmos que resuelven un subproblema, se les conoce como subalgoritmos. En el diseño de un algoritmo (o de un subalgoritmo), inicialmente sólo se indicarán las tareas más importantes que se deben realizar para resolver el problema (o subproblema). Generalmente esta primera descripción es incompleta y debe ser refinada, por lo que este proceso se completará para indicar de forma más precisa los pasos a seguir. Algunos de estos pasos pueden requerir un refinamiento adicional que nos llevará a una tercera descripción del algoritmo. Este proceso, denominado refinamiento por pasos, continuará hasta que se obtenga un algoritmo claro, preciso y completo. Por tanto, al diseñar algoritmos aplicaremos las dos técnicas mencionadas anteriormente: diseño descendente (ya que se descompondrá el problema en subproblemas) y refinamiento por pasos (puesto que de forma sucesiva iremos incrementando el nivel de detalle de las descripciones del algoritmo). El diseño descendente proporciona varias ventajas al diseño de algoritmos y programas: Se simplifica el problema, algoritmo y programa resultantes. Las soluciones a los diferentes subproblemas pueden ser diseñadas de forma independiente e incluso por diferentes personas. El algoritmo y el programa final estará estructurado en módulos, lo que hará más fácil su lectura, comprensión, prueba, verificación y mantenimiento. 4. CODIFICACIÓN Una vez analizado el problema y diseñado el algoritmo, es necesario expresarlo según un lenguaje de programación para así convertirlo en un programa y ejecutarlo, obteniendo la solución al problema. El proceso de transformación de un algoritmo en un programa se denomina codificación ya que al algoritmo traducido a un lenguaje de programación específico se le denomina código. Este proceso es, en general, una tarea mecánica. Tras la codificación el programa se ejecutará y se realizará la prueba y verificación del mismo para comprobar que el programa realiza la función adecuada y de la forma correcta.

6 4.1. Características de los programas. Programación estructurada Para un determinado problema se pueden diseñar distintos algoritmos y, consecuentemente, distintos programas. La elección del algoritmo más adecuado se puede basar en una serie de características que adquieren gran importancia a la hora de evaluar el coste de diseño y mantenimiento. Las características generales que debe reunir un programa (y por tanto su algoritmo) son las siguientes: 1. Legibilidad. Es importante que todo programa sea fácil de leer y entender. 2. Portabilidad. El diseño del algoritmo debe permitir la codificación en cualquier lenguaje de programación, así como la instalación del programa en distintos sistemas. 3. Modificabilidad. Debe ser fácil realizar modificaciones y actualizaciones sobre el programa, es decir, debe ser fácil realizar el mantenimiento del mismo. 4. Eficiencia. Se debe aprovechar al máximo los recursos del ordenador, especialmente la memoria utilizada. De igual forma, se debe minimizar el tiempo de ejecución. 5. Modularidad. El programa debe estar dividido de una forma inteligente en módulos, cada uno de los cuales realice una parte del proceso de resolución del problema. 6. Estructuración. El programa debe cumplir las reglas de la Programación Estructurada, para facilitar la depuración y mantenimiento del mismo. En qué consiste la Programación Estructurada? Bajo el nombre de Programación Estructurada se incluye un conjunto de técnicas que aumentan la productividad de un programa, reduciendo bastante el tiempo requerido para escribir, verificar, depurar (quitar errores) y mantener los programas. La programación estructurada utiliza un número limitado de estructuras de control que minimizan la complejidad de los problemas y por tanto reducen los errores. Se basa en el teorema de BOHM- JACOPINI que afirma que cualquier programa, por complejo que sea, puede escribirse utilizando tan sólo estas tres estructuras de control: secuencial, selectiva y repetitiva. Un programa estructurado por tanto, no contendrá instrucciones de salto. 5. LENGUAJES DE PROGRAMACIÓN Definición Para que un computador (hardware) funcione es necesario utilizar programas (software), los cuales le indican cuál es la tarea que se tiene que hacer. Un lenguaje de programación es el que se utiliza para escribir dichos programas. Posteriormente estos se introducirán en la memoria del computador y éste último ejecutará todas las operaciones que se incluyen. Los lenguajes de programación constan de: Un conjunto finito de símbolos, a partir del cual se define el léxico o vocabulario del lenguaje. Un conjunto finito de reglas, la gramática del lenguaje, para la construcción de las sentencias correctas del lenguaje. (Sintaxis).

7 Semántica, que asocia un significado (la acción que debe llevarse a cabo) a cada posible construcción del lenguaje. Así, podemos decir que un lenguaje de programación consta de un conjunto de símbolos y un conjunto de reglas válidas para componerlos, de forma que formen un mensaje con significado para el computador Clasificación de los lenguajes de programación Existen distintas clasificaciones de los lenguajes de programación atendiendo a diversos criterios. Una de las clasificaciones más utilizadas es la que divide los lenguajes atendiendo al nivel de proximidad al sistema utilizado por el procesador. En ese caso, de más bajo nivel a más alto se pueden clasificar los lenguajes de programación en: Lenguaje máquina. Lenguaje ensamblador. Lenguajes de alto nivel. Veremos más adelante las características, ventajas e inconvenientes de estos tres tipos de lenguajes. Otra clasificación importante es la que se hace según el estilo de programación. En este caso los lenguajes se dividen en imperativos y declarativos. También comentaremos las características más importantes de los lenguajes según esta división Lenguaje Máquina Los ordenadores sólo entienden un lenguaje específico para cada máquina, que se denomina Código Máquina o Lenguaje Máquina. Este lenguaje utiliza un código binario (símbolos "0" y "1"). Las órdenes que se dan a un ordenador han de ir codificadas en instrucciones, y estas forman los programas. Las instrucciones tienen dos partes diferenciadas: código de operación y código(s) de operando(s). En la primera, se codifica la operación que realiza la instrucción. Este código de operación siempre es único para cada instrucción. En la segunda, se indica(n) la(s) dirección(es) de memoria en la que se encuentra el operando, hasta un máximo de tres, sobre el/(los) que se aplicará la operación. Puesto que cada tipo de ordenador tiene su código máquina específico, para programar en este lenguaje el programador debe conocer la arquitectura física de la computadora con cierto detalle (registros de la CPU, palabras de memoria,...). La estructura del lenguaje máquina está totalmente adaptada a los circuitos de la computadora y muy alejada del lenguaje que empleamos normalmente. Las ventajas de los lenguajes máquina son: Un programa escrito en lenguaje máquina es directamente interpretable por el procesador central. Una vez introducido el programa en la memoria principal de la computadora, no se necesitan transformaciones previas para ser ejecutado. Los programas escritos en lenguaje máquina se ejecutan muy eficientemente (con rapidez), debido a que el usuario lo redacta específicamente para los circuitos que lo han de interpretar y ejecutar. Por contra, los lenguajes máquina tienen los siguientes inconvenientes: Las instrucciones son cadenas de ceros y unos, aunque estas cadenas se pueden introducir en la computadora mediante un código intermedio (octal o hexadecimal).

8 Los datos se utilizan por medio de las direcciones de memoria donde se encuentran. El repertorio de instrucciones suele ser muy reducido y las instrucciones realizan operaciones muy simples. Las instrucciones tiene un formato muy rígido. El lenguaje máquina depende y está ligado íntimamente a la CPU del computador. Esto hace que los programas redactados en este lenguaje de programación sean poco transferibles o transportables de una computadora a otra. En un programa en código máquina, no pueden incluirse comentarios que faciliten la legibilidad del mismo. Además, debido a su representación totalmente numérica, es muy difícil de reconocer o interpretar por el usuario Ensambladores Los lenguajes ensambladores permiten al programador: Escribir las instrucciones utilizando, en vez de códigos binarios o intermedios, una notación simbólica para representar los códigos de operación. Normalmente los códigos están constituidos por tres o cuatro letras que, en forma abreviada, indican la operación a realizar. Por ejemplo: ADD (suma), SUB (sustracción), MOV (movimiento), NOT (negación lógica), CALL (llamada a un subprograma), RET (retorno de subprograma), etc. Utilizar, para los datos, direcciones simbólicas de memoria en lugar de direcciones binarias absolutas. Las instrucciones escritas en este lenguaje, guardan una estrecha relación con las instrucciones del lenguaje máquina en que posteriormente serán traducidas. Este tipo de lenguajes hace corresponder a cada instrucción en ensamblador una instrucción en código máquina. Incluir líneas de comentarios entre las líneas de instrucciones. Un programa en ensamblador no puede ejecutarse directamente por la computadora, siendo necesario ser traducido (ensamblado) previamente. El traductor de lenguaje ensamblador a lenguaje máquina se denomina ensamblador. El ensamblador mejora o resuelve algunos de los problemas de los lenguajes máquina (como son el que las instrucciones sean cadenas de 1's y 0's, que no existen nombres de variables sino direcciones de memoria, o que no permiten comentarios), pero siguen persistiendo otras limitaciones (repertorio de instrucciones reducido, poca elasticidad para la redacción de instrucciones, o que está íntimamente ligado a la CPU de la computadora) Lenguajes de alto nivel Los lenguajes ensambladores se suelen denominar lenguajes de segunda generación, en contraposición a los lenguajes máquina, que fueron los de la primera generación. Los lenguajes de alto nivel se consideran lenguajes de tercera generación. Los lenguajes de alto nivel no obligan al usuario a conocer los detalles de la computadora que utiliza. Con estos lenguajes las operaciones se expresan con sentencias o frases muy parecidas al lenguaje matemático o al lenguaje natural, utilizados habitualmente por las personas (igual que para los ensambladores, predomina el uso de palabras o términos en inglés). Las características de los lenguajes de alto nivel son: Las instrucciones se expresan por medio de caracteres alfabéticos, numéricos y caracteres especiales (+, -, /, etc.). El usuario puede definir las variables que desee, dándoles los nombres que considere oportuno. La asignación de memoria para variables y constantes las hace directamente el traductor.

9 El repertorio de instrucciones es muy amplio. El programador puede definir sus instrucciones con una gran versatilidad, siendo las reglas o gramáticas de los lenguajes muy abiertas. Los lenguajes de alto nivel apenas dependen de la máquina. Así se garantiza la portabilidad de los programas. Pueden incluirse comentarios en las líneas de instrucciones, o puede haber líneas específicas de comentarios. Esto facilita la legibilidad de los programas, tanto para el propio programador, como para otras personas Lenguajes imperativos y declarativos Otra clasificación importante de los lenguajes, como se ha comentado anteriormente, se hace según el estilo de programación. En este caso los lenguajes se dividen en lenguajes imperativos y declarativos. Los lenguajes imperativos o procedurales se basan en la asignación de valores. Se fundamentan en la utilización de variables para almacenar valores y en la realización de operaciones con los datos almacenados. La mayoría de los lenguajes son de este tipo (FORTRAN, BASIC, COBOL, PASCAL, C, etc.). También entrarían en este grupo los lenguajes ensamblador y máquina. Los lenguajes declarativos están basados en la definición de funciones o relaciones. No utilizan instrucciones de asignación (sus variables no almacenan valores). Son los más fáciles de utilizar (no se requieren conocimientos específicos de informática), están muy próximos al hombre. Se suelen denominar también lenguajes de órdenes, ya que los programas están formados por sentencias que ordenan "qué es lo que se quiere hacer", no teniendo el programador que indicar a la computadora el proceso detallado (el algoritmo) de cómo hacerlo. En este grupo se incluyen ciertos lenguajes especializados en funciones tales como recuperación de la información en bases de datos (NATURAL e IMS), análisis de circuitos electrónicos (SPICE), y realización de cálculos estadísticos (BMDP, SPSS, SAS, etc.). Se dividen en lenguajes funcionales y lógicos. o Los lenguajes funcionales son un tipo de lenguajes declarativos, en los que los programas están formados por una serie de definiciones de funciones. Ejemplos de estos lenguajes son el LISP y el SCHEME. Se suelen aplicar a problemas de Inteligencia Artificial. o Los lenguajes lógicos son el otro tipo de lenguajes declarativos, y en ellos los programas están formados por una serie de definiciones de predicados. El mayor exponente es el lenguaje PROLOG. Se aplican sobre todo en la resolución de problemas de Inteligencia Artificial Traductores: Compiladores e intérpretes Un programa escrito en un lenguaje de alto nivel no puede ser directamente interpretado por la computadora, siendo necesario realizar previamente su traducción a lenguaje máquina. Existen dos tipos de traductores para los lenguajes de alto nivel:

10 Los compiladores traducen el código fuente a código objeto, para todo el programa a la vez (todo el programa completo). El programa fuente suele estar contenido en un fichero, y el programa objeto pasa a ocupar otro fichero. El fichero objeto puede almacenarse en memoria masiva para ser procesado posteriormente. A su vez llevan a cabo optimizaciones del programa (como eliminar variables o constantes no utilizadas, o ciclos inútiles) que permiten que el programa ocupe menos espacio o sea más rápido. Los intérpretes traducen el código fuente línea por línea, sin generar programa objeto, y traduciendo las instrucciones en comandos para el hardware. Son más lentos que los compiladores, puesto que tienen que interpretar una línea cada vez que pasan por ella (en los compiladores cada línea solo se traduce una vez). Existen lenguajes cuyos traductores se idearon como intérpretes (BASIC, LISP,...) Y otros como compiladores (FORTRAN, C, ADA...). No obstante en la actualidad, para un lenguaje dado pueden existir tanto compiladores como intérpretes. 6. INFORMES Lenguajes orientados a objetos. Lenguajes declarativos. Características del lenguajes C++. Características del lenguaje Java. Lenguajes para diseño Web.

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

Tema 2 Conceptos básicos de programación. Fundamentos de Informática Tema 2 Conceptos básicos de programación Fundamentos de Informática Índice Metodología de la programación Programación estructurada 2 Pasos a seguir para el desarrollo de un programa (fases): Análisis

Más detalles

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

Tema 2 Introducción a la Programación en C. Tema 2 Introducción a la Programación en C. Contenidos 1. Conceptos Básicos 1.1 Definiciones. 1.2 El Proceso de Desarrollo de Software. 2. Lenguajes de Programación. 2.1 Definición y Tipos de Lenguajes

Más detalles

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

Métodos para escribir algoritmos: Diagramas de Flujo y pseudocódigo TEMA 2: CONCEPTOS BÁSICOS DE ALGORÍTMICA 1. Definición de Algoritmo 1.1. Propiedades de los Algoritmos 2. Qué es un Programa? 2.1. Cómo se construye un Programa 3. Definición y uso de herramientas para

Más detalles

Introducción a la programación

Introducción a la programació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

Más detalles

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

Algoritmos y solución de problemas. Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Algoritmos y solución de problemas Fundamentos de Programación Otoño 2008 Mtro. Luis Eduardo Pérez Bernal Introducción Departamento de Electrónica, Sistemas e Informática En las ciencias de la computación

Más detalles

Técnicas de Programación

Técnicas de Programación Técnicas de Programación 2.1.- Introducción: unos conceptos previos y primeros conceptos de la API Introducción La resolución de un problema con medios informáticos implica generalmente la siguiente secuencia

Más detalles

1. Computadores y programación

1. Computadores y programación 1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la

Más detalles

LÓGICA DE PROGRAMACIÓN

LÓGICA DE PROGRAMACIÓN LÓGICA DE PROGRAMACIÓN Lógica de la Programación Lenguajes de Programación Ing CIP. Mike Joseph Palacios Juárez Clasificación del Software Sistemas Operativos 1. Multitarea 2. Multiusuario 3. Multiproceso

Más detalles

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

Algoritmos. Medios de expresión de un algoritmo. Diagrama de flujo Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten

Más detalles

Tema III: Introducción al lenguaje de programación

Tema III: Introducción al lenguaje de programación Tema III: Introducción al lenguaje de programación Semestre: U-2014 Profesora: Nelly García Mora Agenda 1. Definición 2. Programación estructurada 3. Programación Modular 4. Tipos de lenguaje de Programación

Más detalles

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

2. Codificar de forma sistemática la secuencia de instrucciones en un lenguaje. Modulo 1. Introducción a los lenguajes de programación La solución de problemas mediante en uso de un computador nos lleva a desarrollar programas o aplicaciones, la construcción de estos programas debe

Más detalles

INICIACIÓN A LA PROGRAMACIÓN 1ª parte

INICIACIÓN A LA PROGRAMACIÓN 1ª parte 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,

Más detalles

Computadora y Sistema Operativo

Computadora y Sistema Operativo Computadora y Sistema Operativo Según la RAE (Real Academia de la lengua española), una computadora es una máquina electrónica, analógica o digital, dotada de una memoria de gran capacidad y de métodos

Más detalles

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos

SISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus

Más detalles

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

Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria 1.2. Jerarquía de niveles de un computador Qué es un computador? Sistema electrónico digital (binario) que procesa datos siguiendo unas instrucciones almacenadas en su memoria Es un sistema tan complejo

Más detalles

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora

Tema II: Metodología para la construcción de programas. Profesora: Nelly García Mora Tema II: Metodología para la construcción de programas Profesora: Nelly García Mora 1. Metodologías de Programación Metodología de programación: es un conjunto o sistema de métodos, principios y reglas,

Más detalles

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas

Unidad I Introducción a la programación de Sistemas. M.C. Juan Carlos Olivares Rojas Unidad I Introducción a la programación de Sistemas M.C. Juan Carlos Olivares Rojas Agenda 1.1 Qué es y que estudia la programación de sistemas? 1.2 Herramientas desarrolladas con la teoría de programación

Más detalles

Tema II: Metodología para la construcción de programas

Tema II: Metodología para la construcción de programas Tema II: Metodología para la construcción de programas Semestre: A-2012 Profesora: Nelly García Mora Agenda 1. Definición 2. Análisis E P S 3. Construcción de Algoritmos 4. Diagramas de Flujo 5. Codificación

Más detalles

La resolución de un problema

La resolución de un problema CAP. 2. ALGORITMOS Y PROGRAMAS 2.1. Solución de problemas por computadora La resolución de problemas por computadora, es importante para que las personas o usuarios aprendan a programar de manera general,

Más detalles

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

PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY PROGRAMACIÓN. UNIDAD II. ALGORITMO PROFA : HAU MOY ALGORITMO DEFINICIÓN: CONSISTE EN LA DESCRIPCIÓN CLARA Y DETALLADA DEL PROCEDIMIENTO A SEGUIR PARA ALCANZAR LA SOLUCIÓN A UN PROBLEMA EN DONDE SE ESTABLECE

Más detalles

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL

TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL 1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto

Más detalles

Introducción a la programación

Introducción a la programación Introducción a la programación Resolución de Problemas El objetivo principal para que las personas aprendan a programar en algún lenguaje de programación en particular es utilizar el computador como una

Más detalles

Unidad II: Análisis semántico

Unidad II: Análisis semántico Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico

Más detalles

Metodología para la solución de problemas programables

Metodología para la solución de problemas programables Metodología para la solución de problemas programables Nosotros efectuamos día a día una serie de pasos, acciones y procedimientos para solucionar problema y esto es de forma natural y casi inconscientemente

Más detalles

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO

CAPITULO ALGORITMOS Y PROGRAMAS CONTENIDO CAPITULO 1 ALGORITMOS Y PROGRAMAS CONTENIDO 1.1. Los sistemas de procesamiento de la información. 1.2. Concepto de algoritmo. 1.3. Los lenguajes de programación. 1.4. Datos, tipos de datos y operaciones

Más detalles

Tema V Generación de Código

Tema V Generación de Código Tema V Generación de Código Una vez que se ha realizado la partición HW/SW y conocemos las operaciones que se van a implementar por hardware y software, debemos abordar el proceso de estas implementaciones.

Más detalles

Tema III: Semestre: A-2011

Tema III: Semestre: A-2011 Tema III: Introducción al lenguaje de programación Semestre: A-2011 Profesora: Nelly García Mora Agenda 1. Definición 2. Tipos de lenguaje de Programación 3. Programación estructurada 4. Programación Modular

Más detalles

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

TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013 TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba

Más detalles

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

TEMA 3: El proceso de compilación, del código fuente al código máquina TEMA 3: El proceso de compilación, del código fuente al código máquina 3.1 Fase de compilación y linkado (link, montado o enlace) Un programa escrito en un lenguaje de alto nivel, no puede ser ejecutado

Más detalles

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

Guía práctica de estudio 05: Diagramas de flujo Guía práctica de estudio 05: Diagramas de flujo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 05: Diagramas de

Más detalles

Qué es un programa informático?

Qué es un programa informático? Qué es un programa informático? Un programa informático es una serie de comandos ejecutados por el equipo. Sin embargo, el equipo sólo es capaz de procesar elementos binarios, es decir, una serie de 0s

Más detalles

FUNDAMENTOS DE INFORMÁTICA

FUNDAMENTOS DE INFORMÁTICA FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería

Más detalles

: Algorítmica y Estructura de Datos I

: Algorítmica y Estructura de Datos I FACULTAD POLITÉCNICA DIRECCIÓN ACADÉMICA PROGRAMA DE ESTUDIO I. IDENTIFICACIÓN Carrera : Ingeniería de Sistemas CARGA HORARIA (Horas reloj) Asignatura : Algorítmica y Estructura de Datos I Carga Horaria

Más detalles

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

ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla ARQUITECTURA BÁSICA DEL ORDENADOR: Hardware y Software. IES Miguel de Cervantes de Sevilla Índice de contenido 1.- Qué es un ordenador?...3 2.-Hardware básico de un ordenador:...3 3.-Software...4 3.1.-Software

Más detalles

TEMA 2: Algoritmos y Programas. Fundamentos de Informática (Grados en Ingenierías Industriales)

TEMA 2: Algoritmos y Programas. Fundamentos de Informática (Grados en Ingenierías Industriales) TEMA 2: Algoritmos y Programas Fundamentos de Informática (Grados en Ingenierías Industriales) Índice de contenidos 1. Introducción. Conceptos básicos 2. Representación de algoritmos. 3. Metodología de

Más detalles

INICIACIÓN A LA PROGRAMACIÓN I

INICIACIÓN A LA PROGRAMACIÓN I INICIACIÓN A LA PROGRAMACIÓN I ÍNDICE 1. Qué es programar?... 2 2. Programas... 2 3. Los lenguajes de programación... 3 3.1 Clasificación de los lenguajes de programación... 3 3.1.1 Clasificación según

Más detalles

Estructuras de control

Estructuras de control Estructuras de control Introducción Los algoritmos vistos hasta el momento han consistido en simples secuencias de instrucciones; sin embargo, existen tareas más complejas que no pueden ser resueltas empleando

Más detalles

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.

Enteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal. LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado

Más detalles

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman)

CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman) CONTENIDO 1 Diagrama de flujo 2 Pseudocodigo 3 Diagrama estructurado (nassi-schneiderman) Las dos herramientas utilizadas comúnmente para diseñar algoritmos son: Diagrama de Flujo Pseuducodigo 1 Diagrama

Más detalles

I.S.F.T. Nº 38 Programación I página 1

I.S.F.T. Nº 38 Programación I página 1 Programación I página 1 Una persona piensa y se comporta obedeciendo a un secuencial lógico. Un computador realiza tareas y maneja datos en memoria obedeciendo a una secuencia de pasos lógicos para lo

Más detalles

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA

TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA TEMA 2. CONCEPTOS BÁSICOS DE ALGORÍTMICA 2.1 Deición de Algoritmo Un algoritmo es una secuencia precisa de operaciones (pasos) que resuelven un problema en un tiempo ito. Solución(problema) ALGORITMO(Solución(problema))

Más detalles

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira

Algoritmos. Diagramas de Flujo. Informática IV. L. S. C. Heriberto Sánchez Costeira Informática IV Algoritmos Diagramas de Flujo L. S. C. Heriberto Sánchez Costeira Algoritmos 1 Definición Es una serie finita de pasos o instrucciones que deben seguirse para resolver un problema. Es un

Más detalles

Programación MODULAR: Subalgoritmos - funciones y procedimientos

Programación MODULAR: Subalgoritmos - funciones y procedimientos Programación MODULAR: Subalgoritmos - funciones y procedimientos Uno de los métodos fundamentales para resolver un problema es dividirlo en problemas más pequeños, llamados subproblemas. Estos problemas

Más detalles

Objetos de aprendizaje: Computadora

Objetos de aprendizaje: Computadora MOMENTO I. BLOQUE 1. Opera las funciones básicas del sistema operativo y garantiza la seguridad de la información Objetos de aprendizaje: Computadora Lectura 1: La Computadora La computadora es una máquina

Más detalles

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

Actividad de Evaluación Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L. Actividad de Evaluación 2.4.1 Brandon Emmanuelle Cuevas Rangel GPO: 303 Carrera: Informática 3er Semestre Joel Rocha Barocio Cienega de Flores N.L. Las técnicas de programación constituyen parte fundamental

Más detalles

Formato para prácticas de laboratorio

Formato para prácticas de laboratorio PLAN DE CLAVE CARRERA NOMBRE DE LA ASIGNATURA ESTUDIO ASIGNATURA LSC 2009-2 11290 Introducción a la Programación PRÁCTICA No. 2 LABORATORIO DE NOMBRE DE LA PRÁCTICA Licenciado en Sistemas Computacionales

Más detalles

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

Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. Constantes y variables Constante: Una constante es un dato numérico o alfanumérico que no cambia durante la ejecución del programa. pi = 3.1416 Variable: Es un espacio en la memoria de la computadora que

Más detalles

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

DES: Programa(s) Educativo(s): Tipo de materia: Clave de la materia: Semestre: Área en plan de estudios: UNIVERSIDAD AUTÓNOMA DE CHIHUAHUA Clave: 08MSU0017H Clave: 08USU4053W FACULTAD DE INGENIERÍA PROGRAMA DEL CURSO: INGENIERÍA DE SOFTWARE Y COMPUTACIÓN I DES: Programa(s) Educativo(s): Tipo de materia: Clave

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Ing. Ricardo Coppo Qué es una computadora? Una computadora es una máquina digital y sincrónica con capacidad de cálculo numérico y lógico controlada

Más detalles

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta Centro Asociado Palma de Mallorca Arquitectura de Ordenadores Tutor: Antonio Rivero Cuesta Unidad Didáctica 1 Representación de la Información y Funciones Lógicas Tema 1 Representación de la Información

Más detalles

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf

https://dac.escet.urjc.es/docencia/etc-sistemas/teoria-cuat1/tema2.pdf 1.3 Sistemas numéricos 1.3.1. Introducción Un sistema de representación numérica es un lenguaje que consiste en: Un conjunto ordenado de símbolos (dígitos o cifras) y otro de reglas bien definidas para

Más detalles

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación

INDICE Prologo Capitulo 1. Algoritmos y programas Capitulo 2. La resolución de los problemas con computadoras y las herramientas de programación INDICE Prologo XI Capitulo 1. Algoritmos y programas 1.1. Configuraciones de una computadora 1 1.2. Lenguajes de programación 2 1.3. Resolución de problemas 1.3.1. Fase de resolución del problema 3 1.3.1.1.

Más detalles

Jesús Manuel Carrera Velueta José Juan Almeida García Fecha de elaboración: Mayo 6 de 2010 Fecha de última actualización:

Jesús Manuel Carrera Velueta José Juan Almeida García Fecha de elaboración: Mayo 6 de 2010 Fecha de última actualización: PROGRAMA DE ESTUDIO Programa Educativo: Área de Formación : Licenciatura en Ingeniería Ambiental Sustantiva profesional. Programa elaborado por: PROGRAMACIÓN APLICADA Horas teóricas: 1 Horas prácticas:

Más detalles

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF

ESCUELA POLITÉCNICA SUPERIOR PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF ESCUELA POLITÉCNICA SUPERIOR GRADO EN DISEÑO IND. INFORMÁTICA CURSO 2012-13 PRÁCTICA 2: EXPRESIONES, PRINTF Y SCANF HASTA AHORA... En prácticas anteriores se ha aprendido: La estructura principal de un

Más detalles

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid

C1 INTRODUCCIÓN AL LENGUAJE C. Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid C1 INTRODUCCIÓN AL LENGUAJE C Fundamentos de Informática Departamento de Ingeniería de Sistemas y Automática. EII. Universidad de Valladolid Índice 1. Lenguajes de Programación 1. Definición. 2. Niveles

Más detalles

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

Java Avanzado. Guía 1. Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 1 Java Avanzado Facultad de Ingeniería. Escuela de computación. Java Avanzado. Guía 2 Introducción Este manual ha sido elaborado para orientar al estudiante de Java Avanzado en el desarrollo

Más detalles

Principios de Computadoras II

Principios de Computadoras II Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario

Más detalles

Algoritmos y Lenguajes de Programación

Algoritmos y Lenguajes de Programación Introducción y horario Algoritmos y Lenguajes de Programación 543242-2 mariomedina@udec.cl Código: 543242-2 Carrera: Ing. Civil Electrónica Clases 7 de Marzo a 28 de Junio Horario clases Martes, 9:10 a

Más detalles

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true

by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true by Tim Tran: https://picasaweb.google.com/lh/photo/sdo00o8wa-czfov3nd0eoa?full-exif=true II. SOFTWARE 5. Fundamentos de programación Introducción a la Informática Curso de Acceso a la Universidad para

Más detalles

P L A N I F I C A C I O N

P L A N I F I C A C I O N P L A N I F I C A C I O N ESTABLECIMIENTO: INSTITUTO SUPERIOR JUJUY CARRERA: TECNICATURA SUPERIOR EN INFORMATICA CON ORIENTACION EN SISTEMAS DE INFORMACION ASIGNATURA: HS. CATEDRA: MODALIDAD: PROFESOR:

Más detalles

Requerimientos de Software

Requerimientos de Software Requerimientos de Software Ingeniería de Requerimientos Se define como el proceso de establecer los servicios que el consumidor requiere de un sistema y las restricciones sobre las cuales de funcionar

Más detalles

Fundamentos de Programación Visual Basic

Fundamentos de Programación Visual Basic Pág. N. 1 Fundamentos de Programación Visual Basic Familia: Editorial: Tecnología de información y computación Macro Autor: Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-236-3 N. de páginas: 280

Más detalles

Representación de números enteros: el convenio exceso Z

Representación de números enteros: el convenio exceso Z Representación de números enteros: el convenio exceso Z Apellidos, nombre Martí Campoy, Antonio (amarti@disca.upv.es) Departamento Centro Informàtica de Sistemes i Computadors Escola Tècnica Superior d

Más detalles

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación

Lenguaje de programación. COMPILADORES Unidad I: Introducción al proceso de compilación COMPILADORES Unidad I: Introducción al proceso de compilación Flor Prof. Flor Narciso GIDyC-Departamento de Computación LABSIULA-Escuela de Ingeniería de Sistemas Facultad de Ingeniería Universidad de

Más detalles

DISEÑO DEL SISTEMA DE INFORMACION (DSI)

DISEÑO DEL SISTEMA DE INFORMACION (DSI) DISEÑO DEL SISTEMA DE INFORMACION (DSI) El objetivo del proceso de Diseño del Sistema de Información (DSI) es la definición de la arquitectura del y del entrono tecnológico que le va a dar soporte, junto

Más detalles

FUNCIONAMIENTO DEL ORDENADOR

FUNCIONAMIENTO DEL ORDENADOR FUNCIONAMIENTO DEL ORDENADOR COMPUTACIÓN E INFORMÁTICA Datos de entrada Dispositivos de Entrada ORDENADOR PROGRAMA Datos de salida Dispositivos de Salida LOS ORDENADORES FUNCIONAN CON PROGRAMAS Los ordenadores

Más detalles

Construcción de tablas de análisis sintáctico LL(1)

Construcción de tablas de análisis sintáctico LL(1) Construcción de tablas de análisis sintáctico LL(1) Universidad de Costa Rica Escuela de Ciencias de la Computación e Informática Diego Centeno Gerardo Cortés Juan Diego Alfaro Resumen. A la medida en

Más detalles

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

Lenguajes de programación Última modificación 2008/10 Lenguajes de programación Última modificación 2008/10 La Torre de Babel (1563) - Pieter Brueghel el Viejo 2008 Güimi (http://guimi.net) Esta obra está bajo una licencia "Reconocimiento-Compartir bajo la

Más detalles

Definición de Memoria

Definición de Memoria Arquitectura de Ordenadores Representación de Datos en Memoria Abelardo Pardo abel@it.uc3m.es Universidad Carlos III de Madrid Departamento de Ingeniería Telemática Definición de Memoria DRM-1 La memoria

Más detalles

Unidad I: Organización del Computador. Ing. Marglorie Colina

Unidad I: Organización del Computador. Ing. Marglorie Colina Unidad I: Organización del Computador Ing. Marglorie Colina Arquitectura del Computador Atributos de un sistema que son visibles a un programador (Conjunto de Instrucciones, Cantidad de bits para representar

Más detalles

ESTRUCTURAS ALGORITMICAS

ESTRUCTURAS ALGORITMICAS ESTRUCTURAS ALGORITMICAS El proceso de resolución de problemas en un ordenador conduce a la escritura de un programa y su ejecución. Las fases en el desarrollo de un programa pueden resumirse de la siguiente

Más detalles

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA

DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA DESCRIPCIÓN ESPECÍFICA NÚCLEO: COMERCIO Y SERVICIOS SUBSECTOR: INFORMÁTICA Nombre del Módulo: PROGRAMACIÓN EN JAVASCRIPT Código: CSTI0087 total: 51 Horas Objetivo General: Crear contenido web basado en

Más detalles

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos

Departamento de Informática Universidad Técnica Federico Santa María. Tema 1: Algoritmos Departamento de Informática Universidad Técnica Federico Santa María Tema 1: Algoritmos Programación de Computadores (IWI-131) Profesor: Teddy Alfaro O. Que es un Computador? Un computador es una maquina

Más detalles

Universidad de Managua

Universidad de Managua Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras

Más detalles

Diseño Estructurado de Algoritmos

Diseño Estructurado de Algoritmos Diseño Estructurado de Algoritmos 1 Sesión No. 11 Nombre: Estructuras algorítmicas. Tercera parte. Objetivo de la sesión: Al concluir la sesión el estudiante aplicará las estructuras algorítmicas repetitivas

Más detalles

Diseño Estructurado de Algoritmos

Diseño Estructurado de Algoritmos Diseño Estructurado de Algoritmos 1 Sesión No. 1 Nombre: Conceptos de algoritmos Objetivo de la sesión: Al concluir la sesión el estudiante identificará los conceptos básicos sobre la definición de algoritmos

Más detalles

10 más ! Análisis de sistemas digitales básicos

10 más ! Análisis de sistemas digitales básicos IF - EHU Prácticas de laboratorio en la universidad, 2009 2 10 más 10... 100! nálisis de sistemas digitales básicos INTRODUCCIÓN Uno de los componentes principales de un procesador es la unidad aritmético/lógica;

Más detalles

UNIDAD DE APRENDIZAJE I

UNIDAD DE APRENDIZAJE I UNIDAD DE APRENDIZAJE I Saberes procedimentales Interpreta y utiliza correctamente el lenguaje simbólico para el manejo de expresiones algebraicas. 2. Identifica operaciones básicas con expresiones algebraicas.

Más detalles

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA

Diseño de compiladores. Organización de memoria. Organización de memoria. Organización de memoria. Zona de código 04/05/2014 ORGANIZACIÓN DE MEMORIA Diseño de compiladores Gestión de la memoria / Generación de código ORGANIZACIÓN DE MEMORIA Organización de memoria Depende del tipo de lenguaje (declarativos, imperativos), del compilador y del sistema

Más detalles

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

Herramientas de Programación. M.C. Juan Carlos Olivares Rojas Herramientas de Programación M.C. Juan Carlos Olivares Rojas Febrero 2011 Temario Simbología Reglas para la construcción de Diagramas Pseudocódigo Temario Tipos de Datos y Expresiones Estructuras lógicas

Más detalles

Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador.

Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador. Unidad III: Optimización Las optimizaciones pueden realizarse de diferentes formas. Las optimizaciones se realizan en base al alcance ofrecido por el compilador. La optimización va a depender del lenguaje

Más detalles

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS

UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS UNIVERSIDAD PEDAGÓGICA Y TECNOLÓGICA DE COLOMBIA FACULTAD DE CIENCIAS PROGRAMA DE MATEMÁTICAS PLAN DE ESTUDIOS ASIGNATURA : ELECTIVA I - PROGRAMACION CÓDIGO : 8104661 SEMESTRE : IV CRÉDITOS : 4 FECHA DE

Más detalles

Fundamentos de programación JAVA

Fundamentos de programación JAVA Pág. N. 1 Fundamentos de programación JAVA Familia: Editorial: Autor: Computación e informática Macro Ricardo Walter Marcelo Villalobos ISBN: 978-612-304-238-7 N. de páginas: 296 Edición: 2. a 2014 Medida:

Más detalles

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola)

Objetivos de la sesión. Aplicación de consola 7/30/11. Código con que se inicia un programa en Visual C# (aplicación de consola) Objetivos de la sesión Entender el tipo de programas que se pueden realizar con aplicaciones de consola. Conocer el concepto de variable, la forma en que se declaran y su utilización. Conocer la forma

Más detalles

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN

TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN TEMA 2. CODIFICACIÓN DE LA INFORMACIÓN 1. INTRODUCCIÓN. SISTEMAS DE NUMERACIÓN EN. Sistema binario. Sistema octal. Sistema hexadecimal. 2. REPRESENTACIÓN DE TEXTOS.. Números naturales. Números enteros.

Más detalles

Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316

Nombre de la asignatura: Diseño Estructurado de Algoritmos. Carrera: Ingeniería en Sistemas Computacionales. Clave de la asignatura: SCB-9316 . D A T O S D E L A A S I G N A T U R A Nombre de la asignatura: Diseño Estructurado de Algoritmos Carrera: Ingeniería en Sistemas Computacionales Clave de la asignatura: SCB-9 Horas teoría Horas práctica

Más detalles

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

Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Tipos de Datos Desde los programas más simples escritos en un lenguaje de programación suelen realizar tres tareas en forma secuencial. Entrada de datos Procesamientos de datos Salida de resultados Los

Más detalles

3. TÉCNICAS DE DISEÑO

3. TÉCNICAS DE DISEÑO 3. TÉCNICAS DE DISEÑO 3.1 Top Down También conocida como de arriba-abajo y consiste en establecer una serie de niveles de mayor a menor complejidad (arriba-abajo) que den solución al problema. Consiste

Más detalles

Nombre de la asignatura: Algoritmos y Lenguajes de programación.

Nombre de la asignatura: Algoritmos y Lenguajes de programación. Nombre de la asignatura: Algoritmos y Lenguajes de programación. Créditos: 2-4- 6 Aportación al perfil Dominar la lógica necesaria para aprender lenguajes de programación de alto nivel para poder resolver

Más detalles

Aritmética de Enteros

Aritmética de Enteros Aritmética de Enteros La aritmética de los computadores difiere de la aritmética usada por nosotros. La diferencia más importante es que los computadores realizan operaciones con números cuya precisión

Más detalles

Conocimientos previos

Conocimientos previos Tema: Lógica de programación: diagramas de flujo Ficha de Aprendizaje 2 n Logro Conoce el concepto de diagrama de flujo. Conoce la simbología de los diagramas de flujo y su función. Conoce los tipos de

Más detalles

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos

13. Utilizar la fórmula del término general y de la suma de n términos consecutivos Contenidos mínimos 3º ESO. 1. Contenidos. Bloque I: Aritmética y álgebra. 1. Utilizar las reglas de jerarquía de paréntesis y operaciones, para efectuar cálculos con números racionales, expresados en forma

Más detalles

UNIDAD I. ALGORITMOS

UNIDAD I. ALGORITMOS UNIDAD I. ALGORITMOS 1.1 Definición Un algoritmo es una serie de pasos organizados que describe el proceso que se debe seguir, para dar solución a un problema específico. 1.2 Tipos Cualitativos: Son aquellos

Más detalles

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

Todo programa en 'C' consta de una o más funciones, una de las cuales se llama main. LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan

Más detalles

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación

TUTORIAL PSEINT. Ing. Ronald Rentería Ayquipa. Fundamentos de Programación TUTORIAL PSEINT Ing. Ronald Rentería Ayquipa Fundamentos de Programación PSEINT Página Oficial: http://pseint.sourceforge.net/ Es un software que interpreta pseudocódigo. Permite la generación de diagramas

Más detalles

CICLOS DEL PROCESADOR

CICLOS DEL PROCESADOR UNIDAD DE CONTROL CICLOS DEL PROCESADOR Qué es un ciclo de búsqueda? Para qué sirve estudiar los ciclos de instrucción de una CPU? Para comprender el funcionamiento de la ejecución de instrucciones del

Más detalles

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento

Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento Soluciones a los problemas impares Tema 1. Introducción a la arquitectura de computadores: diseño, coste y rendimiento Arquitectura de Computadores I Curso 2009-2010 Tema 1: Hoja: 2 / 18 Tema 1: Hoja:

Más detalles

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011

TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso 2010/2011 TEMA 2 Introducción a C# ANÁLISIS Y DESARROLLO DE APLICACIONES INFORMÁTICAS Curso Origen Nuevo lenguaje de propósito general de Microsoft para la plataforma.net Es el único que ha sido diseñado específicamente.net

Más detalles

PROGRAMACIÓN DE AULA: OBJETIVOS CONTENIDOS MATERIALES y RECURSOS MODULO MATEMATICAS-TECNOLOGÍA

PROGRAMACIÓN DE AULA: OBJETIVOS CONTENIDOS MATERIALES y RECURSOS MODULO MATEMATICAS-TECNOLOGÍA UNIDAD 4: SUCESIONES Y ECUACIONES. PROYECTO TECNOLÓGICO TEMPORALIZACIÓN: 2 ÚLTIMAS SEMANAS DE NOVIEMBRE, 2 PRIMERAS DE DICIEMBRE, 3 ÚLTIMAS SEMANAS DE ENERO Y PRIMERA DE FEBRERO PROGRAMACIÓN DE AULA: CURSO/NIVEL:

Más detalles

Bloque temático I. Planear el proyecto de animación en 2D a partir de los requeriemientos del cliente

Bloque temático I. Planear el proyecto de animación en 2D a partir de los requeriemientos del cliente Bloque temático I 1 Planear el proyecto de animación en 2D a partir de los requeriemientos del cliente Guion BLOQUE TEMÁTICO I 2 Es un escrito detallado en el que se expone todo los elementos necesarios

Más detalles