Unidad 1 Introducción a la Computación Presentación 1.1 Breve reseña de la computación 1.1 linea-del-tiempo-de-la-computacion

Unidad 1 Introducción a la Computación Presentación 1.1 Breve reseña de la computación 1.1 linea-del-tiempo-de-la-computacion-1230520594691211-1.odp 1
Author:  Javier Escobar Rey

0 downloads 31 Views 227KB Size

Recommend Stories


PREGUNTAS DE LA UNIDAD 11: LA DESCOLONIZACIÓN
PREGUNTAS DE LA UNIDAD 11: LA DESCOLONIZACIÓN 1. VOCABULARIO DE LA UNIDAD 11  Apartheid: Política de segregación racial que consiste en privar de to

UNIDAD 11. La Psicología del desarrollo: definición y conceptos 1
1 UNIDAD 11. La Psicología del desarrollo: definición y conceptos La “psicología del desarrollo” o también llamada “psicología evolutiva” estudia el

Story Transcript

Unidad 1 Introducción a la Computación Presentación 1.1 Breve reseña de la computación 1.1 linea-del-tiempo-de-la-computacion-1230520594691211-1.odp 1.2 Impacto de las computadoras en la sociedad

LA SOCIEDAD DE LA INFORMACIÓN El impacto de la computadora es tal que de 1950 a la fecha su uso se ha generalizado en todas las actividades humanas, debido a la tendencia de precios cada vez más bajos y equipos cada vez más potentes. En la mayoría de las escuelas ya cuentan con laboratorios y conexión a Internet. Los niños que crecen con computadora la consideran una herramienta de uso cotidiano. Las nóminas se pagan con tarjeta de débito. Surge el teletrabajo (trabajar fuera de la empresa, reduciendo el tráfico y la contaminación. Se puede establecer comunicación con una o miles de personas con una computadora con micrófono y web cam. La mayoría de los gobiernos invierten en programas de educación para crear una cultura informática. Caso extremo: La casa del mañana Ética.- Parte de la filosofía que trata la moral y obligaciones del hombre, el bien y el mal de los actos humanos, grupo de principios que regulan comportamiento y relaciones humanas Cada vez que hay cambios drásticos en la organización de las sociedades se deben reinventar las reglas del juego social para permitir el desarrollo armónico. Los expertos en TI quieren tener poder encima de los usuarios normales. Los hackers pretenden demostrar su superioridad ante los retos que presenta la informática Los crackers lo pretenden causando destrozos o robos de información. (bancos, empresas Los programadores malévolos que desarrollan virus. Los piratas que violan los derechos de autor. Todo lo anterior hace necesario legislar y crear reglas y códigos de ética y obligar a que sean cumplidos (Cafés Internet) o medios tecnológicos para protección (firewall, antivirus, tarjetas con chip o banda magnética, encriptación, etc. Ergonomía.- Estudio de cómo diseñar el equipo de trabajo que afecta la eficiencia de la gente, relación de eficiencia y salud entre el hombre, su ambiente y herramientas de trabajo. Muchas empresas desarrollan mobiliario y accesorios para prevenir los riesgos y molestias causados por los largos periodos que un usuario pasa en su computadora. (Lentes, teclados, sillas, ratones, etc., filtros) (Nuevos mercados y empleos frente a la teoría que la computadora reduce las plazas) Aplicaciones de la informática Casi no hay actividad donde no se aplique la TI. La computación ha permitido reducir precios de producción, manufactura y distribución de bienes, desarrollo de mejores medicinas, proliferación de servicios bancarios.

Ciencia.- Se avanza a pasos agigantados. Se realizan investigaciones arqueológicas más avanzadas, viajes espaciales, “robots astronautas”, simuladores de terremotos, simuladores de vuelo, etc. Administración y economía.- Programas de cálculo financiero, contables y administrativos, control de procesos administrativos, toma de decisiones, control de inversiones y proyectos, control de operaciones de bolsa, transacciones comerciales por redes públicas y privadas, control de nóminas, etc. Diseño, manufactura e ingeniería.- Los programas de CAD y CAM y otros de control de procesos productivos, de tiempos y movimientos permiten aumentar la producción y reducir costos en la industria, comercio y el arte. Simulación de procesos: mejores procesos de producción, robótica: automatización de procesos repetitivos. Medicina.- Medicina, biología, psicología y psiquiatría. Se aceleran los procesos de investigación, facilitan las intervenciones quirúrgicas, y el control de pacientes y expedientes. Hay programas basados en datos históricos y experiencias sintomáticas que emiten diagnósticos y tratamientos. Transmisiones por Internet permiten operaciones a distancia. Educación.- La informática es una materia obligatoria. Las escuelas, oficinas y bibliotecas usan computadoras. Se ha creado el término de cultura informática. Milicia.- Comunicación, política y relaciones internacionales. Ataques quirúrgicos, aviación y bombas nucleares. Arte y cultura.- Música, danza, pintura, arquitectura, poesía, cine, etc. Excelente calidad en audio y video, animación de imágenes (películas hechas por completo en computadora "Administrar bien es administrar su futuro, y administrar su futuro es administrar información". La información es un recurso más de la empresa Debe ser veraz y oportuna 1.3 Definiciones 1.3.1 Lenguaje de Alto Nivel, bajo nivel, ensamblador y maquina. Lenguaje de alto nivel Un lenguaje de programación de alto nivel se caracteriza por expresar los algoritmos de una manera adecuada a la capacidad cognitiva humana, en lugar de a la capacidad ejecutora de las máquinas. Los lenguajes de alto nivel suelen utilizar términos ingleses del tipo LIST, PRINT u OPEN como comandos que representan una secuencia de decenas o de centenas de instrucciones en lenguaje máquina. Los comandos se introducen desde el teclado, desde un programa residente en la memoria o desde un dispositivo de almacenamiento, y son interceptados por un programa que los traduce a instrucciones en lenguaje máquina Principales lenguajes de alto nivel * Ada * ALGOL * BASIC

* C++ * C# * COBOL * Fortran * Java * Lisp * Modula-2 * Pascal * Perl * PHP * PL/SQL * Python LENGUAJES DE BAJO NIVEL Se llaman de bajo nivel porque están muy cercanos al hardware del ordenador. Es necesario conocer a fondo la arquitectura de la maquina para la que se va a programar. El primer lenguaje de este tipo que se utilizó fue el lenguaje máquina, que consiste en un conjunto de instrucciones en binario, es decir, con ceros y unos, con los cuales se indica al ordenador qué hacer. Este lenguaje es muy complicado y la posibilidad de cometer errores es muy alta, por lo que ya no se utiliza. Para solventar estas dificultades apareció el lenguaje ensamblador, que consiste en asignar una abreviatura a cada instrucción en binario, de forma que sea más fácil recordarla y más difícil equivocarse. Sin embargo, con este lenguaje sigue siendo necesario conocer muy bien el hardware del ordenador. 1.3.2 Compilador 1.3.3 Traductor Los programas traductores son de dos tipos: intérpretes y compiladores. Con un intérprete, los programas que repiten un ciclo para volver a ejecutar parte de sus instrucciones, reinterpretan la misma instrucción cada vez que aparece. Por consiguiente, los programas interpretados se ejecutan con mucha mayor lentitud que los programas en lenguaje máquina. Por el contrario, los compiladores traducen un programa íntegro a lenguaje máquina antes de su ejecución, por lo cual se ejecutan con tanta rapidez como si hubiesen sido escritos directamente en lenguaje máquina. 1.3.4 Sistemas Numéricos Un sistema de numeración es un conjunto de símbolos y reglas de generación que permiten construir todos los números válidos. Un sistema de numeración puede representarse como

donde: *N es el sistema de numeración considerado (p.ej. decimal, binario, etc.).

*S, es el conjunto de símbolos permitidos en el sistema. En el caso del sistema decimal son {0,1,...9}; en el binario son {0,1}; en el octal son {0,1,...7}; en el hexadecimal son {0,1,...9,A,B,C,D,E,F}. * R son las reglas que nos indican qué números son válidos en el sistema, y cuáles no. En un sistema de numeración posicional las reglas son bastante simples, mientras que la numeración romana requiere reglas algo más elaboradas. Estas reglas son diferentes para cada sistema de numeración considerado, pero una regla común a todos es que para construir números válidos en un sistema de numeración determinado sólo se pueden utilizar los símbolos permitidos en ese sistema. 1.3.5 Arquitectura de computadoras La arquitectura de computadoras es el diseño conceptual y la estructura operacional fundamental de un sistema de computadora. Es decir, es un modelo y una descripción funcional de los requerimientos y las implementaciones de diseño para varias partes de una computadora, con especial interés en la forma en que la unidad central de proceso (UCP) trabaja internamente y accede a las direcciones de memoria. También suele definirse como la forma de seleccionar e interconectar componentes de hardware para crear computadoras según los requerimientos de funcionalidad, rendimiento y costo. El ordenador recibe y envía la información a través de los periféricos por medio de los canales. La UCP es la encargada de procesar la información que le llega al ordenador. El intercambio de información se tiene que hacer con los periféricos y la UCP. Todas aquellas unidades de un sistema exceptuando la UCP se denomina periférico, por lo que el ordenador tiene dos partes bien diferenciadas, que son: la UCP (encargada de ejecutar programas y que esta compuesta por la memoria principal, la UAL y la UC) y los periféricos (que pueden ser de entrada, salida, entrada-salida y comunicaciones). 1.3.6 Sistemas operativos Un sistema operativo (SO) es el programa o conjunto de programas que efectúan la gestión de los procesos básicos de un sistema informático, y permite la normal ejecución del resto de las operaciones. 1.4 Descripción de tipos de programación 1.4.1 Programación estructurada La programación estructurada es una forma de escribir programas de ordenador (programación de computadora) de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN). 1.4.2 Programación orientada a objetos La programación orientada a objetos o POO (OOP según sus siglas en inglés) es un paradigma de programación que usa objetos y sus interacciones, para diseñar

aplicaciones y programas informáticos. Está basado en varias técnicas, incluyendo herencia, abstracción, polimorfismo y encapsulamiento. 1.4.3 Programación de descripción de Hardware sistemas numéricos 1.5 Lenguajes de programación Un lenguaje de programación es un idioma artificial diseñado para expresar computaciones que pueden ser llevadas a cabo por máquinas como las computadoras. Pueden usarse para crear programas que controlen el comportamiento físico y lógico de una máquina, para expresar algoritmos con precisión, o como modo de comunicación humana.[1] Está formado por un conjunto de símbolos y reglas sintácticas y semánticas que definen su estructura y el significado de sus elementos y expresiones. Al proceso por el cual se escribe, se prueba, se depura, se compila y se mantiene el código fuente de un programa informático se le llama programación. También la palabra programación se define como el proceso de creación de un programa de computadora, mediante la aplicación de procedimientos lógicos, a través de los siguientes pasos: * El desarrollo lógico del programa para resolver un problema en particular. * Escritura de la lógica del programa empleando un lenguaje de programación específico (codificación del programa). * Ensamblaje o compilación del programa hasta convertirlo en lenguaje de máquina. * Prueba y depuración del programa. * Desarrollo de la documentación.

Unidad 2 Diseño de Algoritmos 2.1Metodología para la resolución de problemas: Hay cinco etapas para resolver problemas algorítmicos, estas son: 1. Definición del sistema: definir que va a hacer el programa y que solución obtendremos. 2. Diseño del sistema: Establecer que tipo de metodología usaremos para solucionar el problema (Ej. Top down o Botton up). 3. Codificación: Es la etapa en donde se escribe el algoritmo en un lenguaje de programación. Cuando se compila el algoritmo, hay un “antes” y un “después” a. Antes > Programa Fuente (lenguaje de programación). b. Después > Programa ejecutable (lenguaje de maquina). 4. Prueba y depuración: Se realizan pruebas para verificar el funcionamiento del programa, se prueba con valores válidos y con no válidos para ver como se comporta y corregir si es necesario. 5. Documentación y Mantenimiento: Se basa en la instalación, funcionamiento y características del programa. Permite corregir errores o modificar el programa (estos cambios son el mantenimiento del programa). Hay dos tipos de documentación, estas son: • Interna > viene dentro del programa (Ej. Readme, características operativas) • Externa > Viene fuera del programa, diagramas de flujo, manuales de usuario, consejos de uso, etc. 2.2 Metodología Para El Diseño De Software Top down, Bottom up, modular y programación estructurada. Elementos y reglas de la representación grafica y manuscrita de los algoritmos (diagrama de flujo, diagrama N-S, diagrama estructurado y pseudocódigo) El Diseño de Sistemas se define como el proceso de aplicar ciertas técnicas y principios con el propósito de definir un dispositivo, un proceso o un Sistema, con suficientes detalles como para permitir su interpretación y realización física. La etapa del Diseño del Sistema encierra cuatro etapas: El diseño de los datos. Trasforma el modelo de dominio de la información, creado durante el análisis, en las estructuras de datos necesarios para implementar el Software. El Diseño Arquitectónico. Define la relación entre cada uno de los elementos estructurales del programa. El Diseño de la Interfaz. Describe como se comunica el Software consigo mismo, con los sistemas que operan junto con él y con los operadores y usuarios que lo emplean. El Diseño de procedimientos. Transforma elementos estructurales de la arquitectura del programa. La importancia del Diseño del Software se puede definir en una sola palabra Calidad, dentro del diseño es donde se fomenta la calidad del Proyecto. El Diseño es la única manera de materializar con precisión los requerimientos del cliente. El Diseño del Software es un proceso y un modelado a la vez. El proceso de Diseño es un conjunto de pasos repetitivos que permiten al diseñador describir todos los aspectos del Sistema a construir. A lo largo del diseño se evalúa la calidad del desarrollo del proyecto con un conjunto de revisiones técnicas:

El diseño debe implementar todos los requisitos explícitos contenidos en el modelo de análisis y debe acumular todos los requisitos implícitos que desea el cliente. Debe ser una guía que puedan leer y entender los que construyan el código y los que prueban y mantienen el Software. El Diseño debe proporcionar una completa idea de lo que es el Software, enfocando los dominios de datos, funcional y comportamiento desde el punto de vista de la Implementación. Para evaluar la calidad de una presentación del diseño, se deben establecer criterios técnicos para un buen diseño como son: Un diseño debe presentar una organización jerárquica que haga un uso inteligente del control entre los componentes del software. El diseño debe ser modular, es decir, se debe hacer una partición lógica del Software en elementos que realicen funciones y subfunciones especificas. Un diseño debe contener abstracciones de datos y procedimientos. Debe producir módulos que presenten características de funcionamiento independiente. Debe conducir a interfaces que reduzcan la complejidad de las conexiones entre los módulos y el entorno exterior. Debe producir un diseño usando un método que pudiera repetirse según la información obtenida durante el análisis de requisitos de Software. Estos criterios no se consiguen por casualidad. El proceso de Diseño del Software exige buena calidad a través de la aplicación de principios fundamentales de Diseño, Metodología sistemática y una revisión exhaustiva. Cuando se va a diseñar un Sistema de Computadoras se debe tener presente que el proceso de un diseño incluye, concebir y planear algo en la mente, así como hacer un dibujo o modelo o croquis. Top Down La programación descendente o “Top - Down” es el proceso mediante el cual un problema se descompone en una serie de niveles o pasos sucesivos de refinamiento (stepwise). La metodología descendente consiste en efectuar una relación entre las sucesivas etapas de estructuración de modo que exista una relación entre ellas mediante entradas y salidas de información. El problema se descompone en varias estructuras jerárquicas, de forma que se pueda considerar cada estructura desde dos puntos de vista: ¿qué hace? y ¿cómo lo hace? BOTTOM UP El diseño ascendente se refiere a la identificación de aquellos procesos que necesitan computarizarse conforme vayan apareciendo, su análisis como sistema y su codificación, o bien, la adquisición de paquetes de software para satisfacer el problema inmediato. Cuando la programación se realiza internamente y haciendo un enfoque ascendente, es difícil llegar a integrar los subsistemas al grado tal de que el desempeño global, sea fluido. Los problemas de integración entre los subsistemas son sumamente costosos y muchos de ellos no se solucionan hasta que la programación alcanza la fecha límite para la integración total del sistema. En esta fecha, ya se cuenta con muy poco tiempo, presupuesto o paciencia de los usuarios, como para corregir aquellas delicadas interfaces, que en un principio, se ignoran. Aunque cada subsistema parece ofrecer lo que se requiere, cuando se contempla al sistema como una entidad global, adolece de ciertas limitaciones por haber tomado un enfoque ascendente.

Uno de ellos es la duplicación de esfuerzos para acceder el software y más aun al introducir los datos. Otro es, que se introducen al sistema muchos datos carentes de valor. Un tercero y tal vez el más serio inconveniente del enfoque ascendente, es que los objetivos globales de la organización no fueron considerados y en consecuencia no se satisfacen. PROGRAMACIÓN ESTRUCTURADA Es una forma de escribir programas de computadora de manera clara. Para ello utiliza únicamente tres estructuras: secuencia, selección e iteración; siendo innecesario el uso de la instrucción o instrucciones de transferencia incondicional (GOTO, EXIT FUNCTION, EXIT SUB o múltiples RETURN). Hoy en día las aplicaciones informáticas son mucho más ambiciosas que las necesidades de programación existentes en los años 1960, principalmente debido a las aplicaciones gráficas, por lo que las técnicas de programación estructurada no son suficientes. Ello ha llevado al desarrollo de nuevas técnicas, tales como la programación orientada a objetos y el desarrollo de entornos de programación que facilitan la programación de grandes aplicaciones. Algoritmo Es un Método para resolver un problema mediante una serie de pasos precisos, definidos y finitos. Un algoritmo es una serie de operaciones detalladas, en otras palabras un algoritmo es un conjunto de pasos para resolver una cierta clase de problemas y se puede formular de muchas formas con el cuidado de que no exista ambigüedad. Características Preciso (debe indicar el orden de realización en cada paso y no puede tener ambiguedad). Definido (si se sigue dos veces, obtiene el mismo resultado cada vez) Finito (tiene fin; un número determinado de pasos). Debe ser Sencillo, Legible. Modular. Eficiente y Efectivo. Se ha de desarrollar en el menor tiempo posible. Correcto. Todo Algoritmo debe tener cero ó más entradas. Debe tener al menos una salida y ésta debe ser tangible. Representación Gráfica Y Manuscrita De Los Algoritmos Implementación de algoritmos secuenciales. Un algoritmo puede adoptar una de las estructuras siguientes o combinaciones de ellas: lineal o secuencial, alternativa o selectiva y repetitiva o cíclica. La más sencilla de las tres es la lineal, también llamada secuencial que se caracteriza porque todos los pasos del algoritmo se realizan en secuencia, es decir, se suceden uso a otros. Un ejemplo de esta estructura es el algoritmo para calcular el área de un triángulo a partir de base, altura y la fórmula de cálculo: Desarrollarla en clase Diseño algorítmico de las funciones El diseño algorítmico de cualquier función implica cómo se hace o realiza la tarea (problema) solicitada a resolver. En el diseño, en la resolución de un problema complejo, se divide en varios sub- problemas y seguidamente se vuelven a dividir los sub-problemas en otros más sencillos, hasta que puedan implementarse en la computadora. Esta característica define lo que se entiende como diseño descendente o diseño modular.

• Cada problema se resuelve mediante un módulo (subprograma) y tiene un solo punto de entrada y un solo punto de salida. • Un programa bien diseñado consta de un programa principal (modulo de nivel más alto) que llama a subprogramas (módulos de nivel más bajo), que a su vez pueden llamar otros sub-programas. Los programas que se estructuran de esta forma, se dicen que tienen diseño modular y el método de romper el programa en modos pequeños se llama programación modular. Diagramas de flujo Un diagrama de flujo es una representación gráfica de un algoritmo o de una parte del mismo. Los diagramas de flujo ayudan en la comprensión de la operación de las estructuras de control (Si, Mientras). La ventaja de utilizar un algoritmo es que se lo puede construir independientemente de un lenguaje de programación, pues al momento de llevarlo a código se puede hacer en cualquier lenguaje. Dichos diagramas se construyen utilizando ciertos símbolos de uso especial como son rectángulos, diamantes, óvalos, y pequeños círculos, estos símbolos están conectados entre sí por flechas, conocidas como líneas de flujo. A continuación se detallarán estos símbolos. Terminal.- Representa el inicio y fin de un programa. También puede representar una parada o interrupción programada que sea necesaria realizar en un programa. Entrada.- Cualquier tipo de introducción de datos en la memoria desde los periféricos o registro de información procesada en un periférico. Proceso.- Cualquier tipo de operación que pueda originar cambio de valor, formato o posición de la información almacenada en memoria, operaciones aritméticas, de transformaciones, etc. Decisión.- Indica operaciones lógicas o de comparación entre datos (normalmente dos) y en función del resultado de la misma determina (normalmente si y no) cual de los distintos caminos alternativos del programa se debe seguir Conector Misma Página.- Sirve para enlazar dos partes cualesquiera de un diagrama a través de un conector en la salida y otro conector en la entrada. Se refiere a la conexión en la misma página del diagrama Indicador de dirección o línea de flujo.- Indica el sentido de la ejecución de las operaciones Salida.- Es usado para mostrar datos o resultados. Reglas de los diagramas de flujo Debe de indicar claramente dónde inicia y dónde termina el diagrama. Cualquier camino del diagrama debe de llevarte siempre a la terminal de fin. Organizar los símbolos de tal forma que siga visualmente el flujo de arriba hacia abajo y de izquierda a derecha. No usar lenguaje de programación dentro de los símbolos. Las líneas deben ser verticales u horizontales, nunca diagonales. No cruzar las líneas de flujo empleando los conectores adecuados sin hacer uso excesivo de ellos. No fraccionar el diagrama con el uso excesivo de conectores. Debe llegar una sola línea de flujo a un símbolo. Pero pueden llegar muchas líneas de flujo a otras líneas.

Las líneas de flujo deben de entrar a un símbolo por la parte superior o izquierda y salir de él por la parte inferior o derecha. Evitar que el diagrama sobrepase una página; de no ser posible, enumerar y emplear los conectores correspondientes. Usar lógica positiva, es decir, realizar procesos cuando es verdadera la condición y expresar las condiciones de manera clara (por ej., “no es a =/= de b” ==> “a=b”). Diagramas de Nassi - Schneiderman El diagrama N-S es una técnica de especificación de algoritmos que combina la descripción textual, propia del pseudocódigo, con la representación gráfica del diagrama de flujo. El diagrama N-S cuenta con un conjunto limitado de símbolos para representar los pasos del algoritmo, por ello se apoya en expresiones del lenguaje natural; sin embargo, dado que el lenguaje natural es muy extenso y se presta para la ambigüedad, sólo se utiliza un conjunto de palabras, a las que se denomina palabras reservadas. Las palabras reservadas más utilizadas son: Inicio, Fin, Leer, Escribir, Mientras, Repita, Hasta, Para, Incrementar, Decrementar, Hacer, Función, Entero, Real, Carácter, Cadena, Lógico, Retornar La Estructura del algoritmo es la siguiente: Teorema de la Programación Estructurada “Todo algoritmo estructurado puede ser escrito por tres tipos de estructuras de control” • Secuencial.- Las acciones se suceden una a continuación de la siguiente. Tiene una entrada y una salida. Nunca se ejecuta más de una acción por vez. • Condicional.- Se evalúa una condición y en función del resultado de la misma se realiza una operación u otra Simples (SI-Entonces).- Ejecuta una acción cuando se cumple la condición. Alternativas (Si- Entonces-si no).- Ejecuta una(s) acción(es) cuando se cumple la condición. Caso contrario (condición falsa) ejecuta otra(s) acción(es). Múltiples (SEGÚN).- Permite ejecutar una sentencia según el valor de una variable. • Repetitivas.- Repiten una secuencia un Número de veces (Bucles) y al hecho de repetir la ejecución de una secuencia de acciones (Iteración). Estas son: Estructura MIENTRAS.- Permite ejecutar una sentencia “mientras” se cumpla la condición (booleana o lógica). Es importante que la condición sea falsa en algún momento para que no se genere un “ciclo infinito”. Estructura REPETIR HASTA.- Permite ejecutar la sentencia “hasta que” cumpla la condición (booleana o lógica). Es importante que la condición sea verdadera en algún momento para que no se genere un “ciclo infinito”. Estructura PARA.- Permite ejecutar una sentencia un número especifico de veces. Las sentencias se ejecutan dentro del “bucle”. Comienza con un Valor inicial hasta llegar a un valor final.

Pseudocódigo Serie de normas léxicas y gramaticales parecidas a la mayoría de los lenguajes de programación, pero sin llegar a la rigidez de sintaxis de éstos ni a la fluidez del lenguaje coloquial. Esto permite codificar un programa con mayor agilidad que en cualquier lenguaje de programación, con la misma validez semántica, normalmente se utiliza en las fases de análisis o diseño de Software, o en el estudio de un algoritmo. Forma parte de las distintas herramientas de la ingeniería de software. El pseudocódigo describe un algoritmo utilizando una mezcla de frases en lenguaje común, instrucciones de programación y palabras clave que definen las estructuras básicas. Su objetivo es permitir que el programador se centre en los aspectos lógicos de la solución a un problema. No siendo el pseudocódigo un lenguaje formal, varían de un programador a otro, es decir, no hay una estructura semántica ni arquitectura estándar. Es una herramienta ágil para el estudio y diseño de aplicaciones.

Unidad 3 Fundamentos del Lenguaje Tipo de datos.- Conjunto de valores y operaciones que puede tener una variable. Un lenguaje sencillamente estructurado Un lenguaje estructurado en bloques permite declarar funciones y procedimientos dentro de otros, dando cabida a los conceptos de globalidad y localidad mediante reglas de alcance que determinan la "visibilidad" de las variables o procedimientos. Permite la compartición de código y datos, que es la capacidad de un lenguaje de seccionar y esconder del resto del programa la información e instrucciones necesarias para ejecutar una tarea., mediante el uso de rutinas que empleen variables locales, de forma que lo que ocurra en su interior no tenga efectos secundarios en otra parte del programa, por lo que es muy fácil compartir rutinas. No se hace distinción entre mayúsculas y minúsculas. Las palabras reservadas (palabras que conforman el lenguaje de programación) no se pueden utilizar para definir identificadores (nombres de variables, constantes, arreglos, funciones, etc.) Forma general de un programa en Fox declaraciones globales (variables, tablas) variables locales sentencias función1(parámetros) variables locales sentencias función_n(parámetros) variables locales sentencias Traducción.- Compilación o interpretación, que convierte un programa fuente en lenguaje fox a un programa objeto en lenguaje máquina. Variables, constantes, operadores y expresiones Identificadores.- Son los nombres para referirse a variables, funciones, etiquetas y otros objetos. El primer caracter debe ser una letra, los siguientes pueden ser letras, números o _, no se permiten los espacios en blanco. Por ejemplo: Correcto Incorrecto cont 1cont prueba23 hola! balance_total balance total Un identificador no puede ser una palabra reservada ni un nombre de función ya escrita. Tipos de datos Espacio que ocupan Carácter libre Monetario 8 bytes Numérico libre Flotante libre Fecha 8 bytes DateTime 8 bytes Doble libre

Entero 4 bytes Lógico 1 byte Memo 4 bytes General 4 bytes Comentarios Secciones de código ignoradas por el compilador, usadas para documentar el programa. Comienzan con * y terminan con el fin de línea o pueden incluirse dentro de una línea comenzando con & Declaración de variables Las variables deben ser declaradas antes de ser usadas. Forma general: Identificador=valor de inicio. Donde identificador es un nombre de variable válido y valor de inicio es el valor que se asignará al crear la variable y que determinará el tipo de dato. No se recomienda mezclar tipos de datos distintos en expresiones. El nombre de una variable no tiene que ver con su tipo. Existen tres lugares básicos para declarar variables: Dentro de las funciones, y fuera de todas las funciones (variables locales y globales, respectivamente). Asignación de valores Forma general: nombre_variable=expresión; Expresión puede ser una constante, una variable o una combinación de éstas con operadores. Operadores Símbolo que indica al compilador una manipulación matemática o lógica. Tipos: aritméticos, relacionales y lógicos. Aritméticos.- Pueden aplicarse a casi todos los tipos de datos. Operador Acción resta, menos monario + suma * multiplicación / división % módulo o residuo = asignación Precedencia de operadores aritméticos () - (monario) */% +Los operadores al mismo nivel son evaluados de izq. a der. Se pueden usar ( ) para alterar la precedencia. Relacionales y lógicos Relacionales.- determinan la relación entre dos valores. Lógicos.- Se refiere a las formas en que estas relaciones pueden conectarse entre sí siguiendo las reglas de la lógica formal. La clave es la idea de cierto y falso. Las expresiones relacionales dan 0 si son falsas y 1 si son ciertas.

Relacionales > >= < 1+12 es 10>(1+12) resultado falso Se pueden combinar: 10>5 and !(10= <

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.