Your SlideShare is downloading. ×
Presentacion general (Fundamentos de Programacion)
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Introducing the official SlideShare app

Stunning, full-screen experience for iPhone and Android

Text the download link to your phone

Standard text messaging rates apply

Presentacion general (Fundamentos de Programacion)

498
views

Published on

Published in: Education

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total Views
498
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
7
Comments
0
Likes
0
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Un Sistema Operativo (SO) es un software que actúa de interfaz entre los dispositivos de hardware y los programas usados por el usuario para utilizar un computador. Es responsable de gestionar, coordinar las actividades y llevar a cabo el intercambio de los recursos y actúa como estación para las aplicaciones que se ejecutan en la máquina.Uno de los propósitos de un Sistema Operativo como programa estación principal, consiste en gestionar los recursos de localización y protección de acceso del hardware, hecho que alivia a los programadores de aplicaciones de tener que tratar con estos detalles. Se encuentran en la mayoría de los aparatos electrónicos que utilizan microprocesadores para funcionar. (teléfonos móviles, reproductores de DVD, computadoras, radios, etc.)
  • 2. Un Sistema Operativo está conformado básicamente por cuatro módulos:  Núcleo o Kernel.  Administrador de memoria.  Sistema de entrada/salida.  Administrador de archivos.
  • 3.  Es el módulo de más bajo nivel de un sistema operativo, pues descansa directamente sobre el hardware de la computadora. Entre las tareas que desempeña se incluyen el manejo de las interrupciones, la asignación de trabajo al procesador y el proporcionar una vía de comunicación entre los distintos programas. En general, el núcleo se encarga de controlar el resto de los módulos y sincronizar su ejecución. El núcleo contiene un submódulo denominado "planificador", el cual se encarga de asignar tiempo del procesador a los programas, de acuerdo a una cierta política de planificación que varía de un sistema operativo a otro. Normalmente se utiliza una jerarquía de prioridades que determinan cómo se asignará el tiempo del CPU a cada programa. Una política de planificación muy común en los sistemas de multiprogramación y multiproceso son las técnicas de "time slicing" (fracción de tiempo). Se asigna a cada programa un corto intervalo de tiempo del procesador. Si el programa no ha terminado durante este intervalo de tiempo, vuelve a la cola de programas.
  • 4.  Este módulo se encarga de asignar ciertas porciones de la memoria principal (RAM) a los diferentes programas o partes de los programas que la necesiten, mientras el resto de los datos y los programas se mantienen en los dispositivos de almacenamiento masivo. De este modo, cuando se asigna una parte de la memoria principal se hace de una forma estructurada, siguiendo un determinado orden. La forma más común de administración de la memoria supone crear una memoria virtual; con este sistema, la memoria de la computadora aparece, para cualquier usuario del sistema, mucho mayor de lo que en realidad es.
  • 5.  Este componente presenta al usuario la E/S de datos como una cuestión independiente del dispositivo; es decir, para los usuarios, todos los dispositivos tienen las mismas características y son tratados de la misma forma, siendo el sistema operativo el encargado de atender las particularidades de cada uno de ellos (como su velocidad de operación). Una técnica muy común, especialmente en salida, es el uso de "spoolers". Los datos de salida se almacenan de forma temporal en una cola situada en un dispositivo de almacenamiento masivo (el spool), hasta que el dispositivo periférico requerido se encuentre libre; de este modo se evita que un programa quede retenido porque el periférico no esté disponible. El sistema operativo dispone de llamadas para añadir y eliminar archivos del spool.
  • 6.  Se encarga de mantener la estructura de los datos y los programas del sistema y de los diferentes usuarios (que se mantienen en archivos) y de asegurar el uso eficiente de los medios de almacenamiento masivo. El administrador de archivos también supervisa la creación, actualización y eliminación de los archivos, manteniendo un directorio con todos los archivos que existen en el sistema en cada momento y coopera con el módulo administrador de memoria durante las transferencias de datos desde y hacia la memoria principal. Si se dispone de un sistema de memoria virtual, existen transferencias entre la memoria principal y los medios de almacenamiento masivo para mantener la estructura de la misma.
  • 7.  Permitir la concurrencia de procesos, traslapándose el tiempo de entrada/salida (E/S) con el de cálculo y ocupando la memoria con varios programas. Posibilitar la ejecución de cualquier proceso en el momento que se solicite siempre y cuando haya suficientes recursos libres para él. Ser eficiente en cuanto a reducir: el tiempo medio que ocupa cada trabajo, el tiempo que no se usa la CPU, el tiempo de respuesta en sistemas multiacceso y el plazo entre dos asignaciones de CPU a un mismo programa. Ser eficiente en cuanto a aumentar la utilización de recursos en general, tales como memoria, procesadores, dispositivos de E/S, discos magnéticos, datos, etc. Ser fiable, es decir, un sistema operativo no debe tener errores y debe prever todas las posibles situaciones. Ser de tamaño pequeño. Posibilitar y facilitar en lo posible el "diálogo" entre computadora y usuario de la misma. Permitir compartir entre varios usuarios los recursos de hardware con que cuenta una computadora. Permitir a los usuarios compartir datos entre ellos, en caso necesario. Facilitar la E/S de los diferentes dispositivos conectados a una computadora.
  • 8.  Aceptar los trabajos y conservarlos hasta su finalización. Detectar errores y actuar de modo apropiado en caso de que se produzcan. Controlar las operaciones de E/S. Controlar las interrupciones. Planificar la ejecución de tareas. Entregar recursos a las tareas. Retirar recursos de las tareas. Proteger la memoria contra el acceso indebido de los programas. Soportar el multiacceso. Proporcionar al usuario un sencillo manejo de todo el sistema. Aprovechar los tiempos muertos del procesador. Compartir los recursos de la máquina entre varios procesos al mismo tiempo. Administrar eficientemente el sistema de cómputo como un todo armónico. Permitir que los diferentes usuarios se comuniquen entre sí, así como protegerlos unos de otros. Permitir a los usuarios almacenar información durante plazos medianos o largos. Dar a los usuarios la facilidad de utilizar de manera sencilla todos los recursos, facilidades y lenguajes de que dispone la computadora. Administrar y organizar los recursos de que dispone una computadora para la mejor utilización de la misma, en beneficio del mayor número posible de usuarios. Controlar el acceso a los recursos de un sistema de computadoras.
  • 9. Debido a la evolución de los sistemas operativos fue necesario realizar una clasificación; considerando las diferencias existentes entre sus componentes los podemos clasificar en: Sistemas operativos por lotes.  Sistemas operativos multiprogramación.  Sistemas operativos multiusuario.  Sistemas operativos de tiempo compartido.  Sistemas operativos de tiempo real.
  • 10.  Los sistemas operativos por lotes requieren que la información esté reunida en bloque o "lote" (el programa, los datos, y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de "primero en llegar primero en ser atendido". En estos sistemas la memoria se divide en dos zonas. Una de ellas es ocupada por el sistema operativo, y la otra se usa para cargar programas transitorios para su ejecución. Cuando termina la ejecución de un programa
  • 11.  Los sistemas de multiprogramación son capaces de soportar dos o más procesos concurrentes múltiples, permiten que residan al mismo tiempo en la memoria primaria las instrucciones y los datos procedentes de dos o más procesos. Estos sistemas implican la operación de multiproceso, para el manejo de la información. Se caracterizan principalmente por un gran número de programas activos simultáneamente que compiten por los recursos del sistema, como el procesador, la memoria , y los "dispositivos de E/S". Estos sistemas monitorean el estado de todos los programas activos y recursos del sistema.
  • 12.  Los sistemas operativos multiusuario permiten acceder simultáneamente a un sistema de computadoras a través de dos o más terminales. Este tipo de sistema operativo es fundamental en el manejo de redes de computadoras actualmente.
  • 13.  Los sistemas operativos de tiempo compartido tratan de proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente. En estos sistemas el administrador de memoria proporciona aislamiento y protección de los programas, ya que generalmente no tienen necesidad de comunicarse entre ellos. El control de E/S se encarga de proporcionar o retirar la asignación a los dispositivos de forma que se preserve la integridad del sistema y se proporcione servicio a todos los usuarios. El administrador de archivos proporciona protección y control en el acceso de la información, dada la posibilidad de concurrencia y conflictos al tratar de acceder a los archivos.
  • 14.  Estos sistemas tienen como objetivo proporcionar tiempos más rápidos de respuesta, procesar la información sin tiempos muertos. En estos sistemas el administrador de memoria es relativamente menos solicitado debido a que muchos procesos residen permanentemente en memoria. El administrador de archivos se encuentra normalmente en grandes sistemas de tiempo real y su objetivo principal es manejar la velocidad de acceso, más que la utilización eficaz del almacenamiento secundario.
  • 15.  http://entrenate.dgsca.unam.mx/introduccio n/sistoper.html
  • 16. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 17. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 18. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 19. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 20. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 21. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 22. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 23. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 24. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 25. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 26. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 27. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 28. Miércoles, 07 de Marzo de 2012 1.1.2. Análisis comparativo de Sistemas Operativos
  • 29. Miércoles, 07 de Marzo de 2012 1.1.2. Análisis comparativo de Sistemas Operativos
  • 30. DEFINICIONEs un lenguaje artificial para controlar una maquina o crear programas mediante conjunto de instrucciones y reglas de sintaxis(coordinar), para que estos se pongan a disposición del programador para que este pueda comunicarse con los dispositivos de hardware y software.
  • 31.  Independencia: Los lenguajes deben ser independientes de la máquina o sea una sentencia no depende del diseño de hardware de una computadora en particular. Corrección: Un programa es correcto si hace lo que debe hacer tal y como se estableció en las fases previas a su desarrollo. Claridad: Es muy importante que el programa sea lo más claro y legible posible, para facilitar así su desarrollo y posterior mantenimiento. Eficiencia: Se trata de que el programa, además de realizar aquello para lo que fue creado lo haga gestionando de la mejor forma posible los recursos que utiliza. Portabilidad: Un programa es portable cuando tiene la capacidad de poder ejecutarse en una plataforma, ya sea hardware o software, diferente a aquella en la que se elaboró.
  • 32. IMPLEMENTACION La implementación de un lenguaje es la que provee una manera de que se ejecute un programa para una determinada combinación de software y hardware. Existen básicamente dos maneras de implementar un lenguaje
  • 33. Compilación Interpretación Es el proceso que  Es una asignación de significados a las fórmulas traduce un programa bien formadas de un escrito en un lenguaje lenguaje formal. Como los lenguajes formales pueden de programación a definirse en términos otro lenguaje de puramente sintácticos, sus programación, genera fórmulas bien formadas pueden no ser más que ndo un programa cadenas de símbolos sin equivalente que la ningún significado. Una máquina será capaz interpretación otorga significado a esas interpretar. fórmulas.
  • 34. ANTECEDENTES HISTORICOS Para que la computadora entienda nuestras instrucciones debe usarse un lenguaje específico conocido como código máquina. Los primeros operadores de computadoras decidieron hacer un traductor para reemplazar los 0 y 1 por palabras o abstracción de palabras y letras provenientes del inglés; éste se conoce como lenguaje ensamblador.
  • 35.  La necesidad de recordar secuencias de programación para las acciones usuales llevó a denominarlas con nombres fáciles de memorizar y asociar: ADD, SUB, MUL, CALL, etc. A este conjunto de instrucciones se le llamó lenguaje ensamblador. Posteriormente aparecieron diferentes lenguajes de programación, los cuales reciben su denominación porque tienen una estructura sintáctica similar a los lenguajes escritos por los humanos, denominados también lenguajes de alto nivel.
  • 36.  La primera programadora de computadora conocida fue Ada Lovelace, quien, después conoció a Charles Babbage, tradujo y amplió una descripción de su máquina analítica.
  • 37.  A finales de 1953, John Backus sometió una propuesta a sus superiores en IBM para desarrollar una alternativa más práctica al lenguaje ensamblador para programar la computadora central IBM 704. El primer manual para el lenguaje Fortran apareció en octubre de 1956, con el primer compilador Fortran entregado en abril de 1957. En 1960, se creó COBOL, uno de los lenguajes usados aún en 2010 en informática de gestión. se crearon los lenguajes de alto nivel, como lo fue BASIC en las versiones introducidas en los microordenadores de la década de 1980.
  • 38. FUNCIONES DE LOS LENGUAJES DE PROGRAMACIÓN “Para que se realize dicho procesamiento de información habra sido necesario construir un ordenador (hardware), pensar y crear un programa (software) y ejecutar dicho programa o aplicacion en el computador. La ultima de estas fases es la que realiza el usuario, las anteriores son realizadas por tecnicos que construyen el hardware y por programadores que desarrollan el software.”
  • 39.  Los leguajes de programación han servido de mucho y mas en la actualidad para satisfacer necesidades tecnológicas, por que al paso del tiempo han evolucionado y con ello las mejoras son cada vez mas, por que en base estos leguajes de programación se ha escrito una infinidad de programas desde el mas sencillo hasta el mas sofisticado.
  • 40.  Java: diseñado por la compañía Sun Microsystems Inc, con el propósito de crear un lenguaje que pudiera funcionar en redes computacionales heterogéneas ( redes de computadoras formadas por más de un tipo de computadora, ya sean PC, MACs, estaciones de trabajo, etc.) y que fuera independiente de la plataforma en la que se vaya a ejecutar. Esto significa que un programa de Java puede ejecutarse en cualquier máquina o plataforma.
  • 41.  http://es.wikipedia.org/wiki/Lenguaje_de _programaci%C3%B3n#Historia http://es.kioskea.net/contents/langages/l angages.php3 http://www.monografias.com/trabajos15 /computadoras/computadoras.shtml#LE NGUAJ
  • 42. Intérprete: Es un programa que lee líneaa línea un programa escrito en unlenguaje (código fuente), y lo vatraduciendo a un código intermedio, paraejecutarlo.Compilador: Es un programa que leetotalmente un programa escrito en unlenguaje (código fuente), y lo traduce a unprograma equivalente en otro lenguaje: ellenguaje objeto.
  • 43. Los lenguajes de nivel de máquina y los de ensamblador se clasificancomo lenguajes de nivel bajo. Esto se debe a que ambos utilizaninstrucciones que están vinculadas directamente a un tipo decomputadora.Un lenguaje de nivel alto utiliza instrucciones similares a las de loslenguajes escritos, como el inglés, y se pueden ejecutar en diversostipos de computadoras. FORTRAN, BASIC, Pascal y C++ sonejemplos de lenguajes de nivel alto.
  • 44. A los programas escritos en un lenguaje de computadora de nivel altoo bajo se les conoce de manera indistinta como programas fuente ocódigo fuente. #include <stdio.h> #include <conio.h> void main() { printf("Hola mundo!...n"); getch(); }
  • 45. Cuando cada instrucción en un programa fuente de nivel alto se traducede manera individual y se ejecuta inmediatamente al momento de latraducción, el lenguaje de programación utilizado se llama lenguajeinterpretado, y el programa que efectúa la traducción se llamaintérprete. Cuando todas las instrucciones en un programa fuente de nivel alto setraducen como una unidad completa antes de que cualquier instrucciónsea ejecutada, al lenguaje de programación utilizado se le llamalenguaje compilado. En este caso, al programa que efectúa latraducción se le llama compilador.
  • 46. Puede haber versiones tanto compiladas como interpretadas de unlenguaje, aunque generalmente una predomina.Por ejemplo, aunque existen versiones compiladas de BASIC, éste espredominantemente un lenguaje interpretado.De la misma forma, aunque existen versiones interpretadas de C++,éste es básicamente un lenguaje compilado.
  • 47. INTERPRÉTES COMPILADORES1.- Un intérprete facilita la 1.- Un compilador suele generarbúsqueda de errores, pues la programas más rápidos yejecución de un programa puede eficientes, ya que el análisis delinterrumpirse en cualquier lenguaje fuente se hace una solamomento para estudiar el entorno vez, durante la generación del(valores de las variables, etc.). programa equivalente. En cambio,Además, el programa puede un intérprete se ve obligadomodificarse sobre la marcha, sin generalmente a analizar cadanecesidad de volver a comenzar instrucción tantas veces como sela ejecución. ejecute (incluso miles o millones de veces).2.- Un intérprete necesita menos 2.- Un compilador necesita másmemoria que un compilador. memoria que un intérprete.
  • 48. INTERPRÉTES COMPILADORES3.- Un intérprete permite utilizar 3.- Usualmente, este tipo defunciones y operadores más instrucciones es imposible tratarlospotentes, como por ejemplo ejecutar por medio de compiladores. Loscódigo contenido en una variable en lenguajes que permiten el uso de unforma de cadenas de caracteres. compilador, prescinden de este tipoLos lenguajes que incluyen este tipo de operadores.de operadores, por tanto, exigen unintérprete.4.- En el caso del intérprete, es 4.- Se compila una vez, se ejecuta nnecesario disponer de él para veces (Genera un archivo ejecutableejecutar el programa. directamente por la computadora).5.- Permiten una mayor 5.- El compilador tiene una visióninteractividad con el código en global del programa, por lo que latiempo de desarrollo. información de mensajes de error es más detallada.
  • 49. C es un lenguaje sencillo y profundo, pues maneja elementos básicospresentes en todas las computadoras: caracteres, números ydirecciones.Suele ser llamado lenguaje de programación de sistemas debido a suutilidad para escribir compiladores y sistemas operativos, de igualforma se pueden desarrollar cualquier tipo de aplicación.
  • 50. El hecho de no poseer operaciones de entrada-salida, manejo dearreglo de caracteres, de asignación de memoria, etc., puede alprincipio parecer un grave defecto; sin embargo el hecho de que estasoperaciones se realicen por medio de llamadas a Funciones contenidasen Librerías externas al lenguaje en sí, es el que confiere al mismo sualto grado de portabilidad, independizándolo del "Hardware" sobre elcual corren los programas.
  • 51. El lenguaje de programación en C está compuesto o integradopor:Librerías: son grupos de funciones ya determinadas por elprograma, la cual contiene 29 archivos de cabecera(conio.h, stdio.h, etc.)Palabras reservadas: que son palabras personales del programa(char, if, else, int, float, etc.)
  • 52. El lenguaje de programación en C estácompuesto o integrado por:Funciones hechas por el usuario: son funcioneshechas por el usuario, pero que tiene que declararen el programa.Estructuras de control de flujo: que estácompuesta por ciclos (tales como: for, while, do-while), decisiones (como if, if – else – if ,switch), saltos (como goto).Tipos de datos: Los más usuales son: char, int,float, double, void, enum, long…
  • 53. La mejor manera de aprender a programar en unlenguaje es programando con él, mediante editar,compilar, corregir y ejecutar pequeños programasdescriptivos./*Programa hola mundo*/#include <stdio.h>#include <conio.h>void main(){printf("Hola mundo!...n");getch();}
  • 54. Función main ( ).La función main, indica donde empieza el programa, es la que ejecutael sistema operativo al llamar a un programa C. La función mainsiempre va seguida de paréntesis ( ), tanto si tiene argumentos como sino.Las llaves { }El cuerpo principal de un conjunto de sentencias está delimitado pordos llaves, una inmediatamente después de la declaración main() " { ",y otra que finaliza el listado " } ".
  • 55. Función printfLos programas en C se inician de la mismamanera o parten del mismo punto: ya que laprimer sentencia dentro de dicha función, en estecaso printf ("......"). Dicha función sirve paraimprimir en la pantalla lo que solicitamos.El símbolo nEl símbolo n indica un cambio de línea, quepermite que el cursor avance a la posición extremaizquierda de la línea siguiente.
  • 56. El símbolo ;Cada sentencia del programa quedafinalizada por el terminador “;", que indica alcompilador el fin de la misma. Es necesariopues las sentencias complejas pueden llegara tener más de un renglón, y habrá queavisarle al compilador donde termina.ComentariosPara C se toma como comentario todo carácterinterno a los símbolos: /* */. Los comentariospueden ocupar uno o más renglones.
  • 57. http://www.alegsa.com.ar/Dic/compilador.phphttp://www.di.uniovi.es/~labra/FTP/Interpretes.pdfhttp://www.todo-programacion.com.ar/archives/2005/04/interpretes_y_c.htmlhttp://www.mitecnologico.com/Main/ComparacionInterpretesYCompiladoreshttp://es.wikipedia.org/wiki/Int%C3%A9rprete_(inform%C3%A1tica)
  • 58. Un programa puede considerarse como una secuencia lógica de acciones (instrucciones) que manipulan un conjunto de objetos (datos) para obtener unos resultados que serán la solución al problema que resuelve dicho programa.Todo programa, en general contiene dos bloques bien diferenciados para la descripción de los dos aspectos anteriormente citados:Bloque de declaraciones. En él se especifican todos los objetos que utiliza el programa (constantes, variables, tablas, registros, archivos, etc.) indicando las características de estos. Este bloque se encuentra localizado siempre por delante del comienzo de las acciones.Bloque de instrucciones. Constituido por el conjunto de operaciones que se han de realizar para la obtención de los resultados deseados.
  • 59. Las partes principales de un programa están relacionadas con sus dos bloques ya mencionados. Dentro del bloque de instrucciones podemos diferenciar tres partes fundamentales, como se muestra en la siguiente figura: PROGRAMA INSTRUCCIONES DECLARIACIONES ENTRADA DE DATOS PROCESO O ALGORITMO SALIDA DE RESULTADOS
  • 60. Entrada de Datos: La constituyen todas las instrucciones que toman los datos de entrada desde un dispositivo externo y los almacena en la memoria principal para que puedan ser procesados.Proceso o algoritmo: Está formado por las instrucciones que modifican los objetos a partir de su estado inicial (datos de entrada) hasta el estado final (resultados) dejando los objetos que lo contiene disponibles en la memoria principal.Salida de resultados: Conjunto de instrucciones que toman los datos finales (resultado) de la memoria principal y los envían a los dispositivos externos.
  • 61. Para un determinado problema se pueden construir diferentes algoritmos de resolución o programas. La elección del más adecuado se debe basar en una serie de requisitos de calidad que adquieren gran importancia a la hora de evaluar el costo de su diseño y mantenimiento. Las características generales que debe reunir un programa son las siguientes:LEGIBILIDAD : Ha de ser claro y sencillo, de tal forma que facilite su lectura y compresión.PORTABILIDAD: Su diseño debe permitir la codificación en diferentes lenguajes de programación, así como su instalación en diferentes sistemas.
  • 62. MODIFICABILIDAD: Ha de facilitar su mantenimiento, esto es, las modificaciones y actualizaciones necesarias para adaptarlo a una nueva situación.EFICIENCIA : Se deben aprovechar al máximo los recursos de la computadora, minimizando la memoria utilizada y el tiempo de proceso o ejecución, siempre que no sea a costa de los requisitos anteriores.Metodología De La Programación:Es el conjunto de métodos y técnicas disciplinadas que ayudan al desarrollo de unos programas que cumplan los requisitos anteriormente expuestos.Los métodos propuestos utilizados, tanto explicita como implícitamente, son el método de programación modular y el de programación estructurada.
  • 63. MODULARIDAD: El diseño modular, descendente o mediante refinamientos sucesivos (top-down, stepwise refinamente) se basa en la realización de una serie de descomposiciones sucesivas del algoritmo inicial, que describen el refinamiento progresivo del repertorio de instrucciones que van a constituir el programa. Un programa quedara formado por una serie de módulos, cada uno de los cuales realiza una parte concreta de la tarea total.ESTRUCTURACION: Se basa en el uso exclusivo de las estructuras secuencia, alternativa e iteración para el control de flujo de ejecución de las instrucciones. Los programas así diseñados serán fáciles de verificar, depurar y mantener.
  • 64. Todo programa en C, desde el más pequeño hasta el más complejo, tiene una función principal denominada main(). Además, por encima de main() deben aparecer los prototipos de funciones (y esto implica a los archivos de cabecera, si se utilizan funciones de librería) y las variables y constantes globales, si las hay. Por debajo de main() encontraremos el código del resto de funciones.Por lo tanto, la estructura habitual de nuestros programas en C debería ser esta:/* Comentario inicial: nombre del programa, del programador, fecha, etc *//* Archivos de cabecera (prototipos de funciones de librería) */
  • 65. #include <archivo_cabecera.h>#include <archivo_cabecera.h>/* Prototipos de funciones escritas por nosotros */float función1 (argumentos);float función2 (argumentos);/* Variables y constantes globales */int variable_global;const char constante_global; #define PI 3.14/* Algoritmo principal */ int main(void)
  • 66. {/* Variables locales del algoritmo principal */int a, b;float x, y;....../* Instrucciones del algoritmo principal */...función1(argumentos);...función2(argumentos); ...return 0;}
  • 67.  www.paginasprodigy.com.mx/robertooso members.fortunecity.es/akiramishima1/programacionconc.doc http://profeblog.es/blog/alfredo/2008/03/27/estructura-general-de- un-programa-en-c/
  • 68. Se denominan DATOS a las característicaspropias de cualquier identidad. Por ejemplo, laedad y el domicilio de una persona forman partede sus datos.Los programas procesan datos a fin de obtenerresultados o información útiles.Cada variable, constante o expresión llevaasociado un tipo de datos que determina elconjunto de valores que pueden tomar.
  • 69. Son objetos cuyo valor permanece invariablemente a lo largo de la ejecución de un programa. Una constante es la determinación de un valor concreto, de tal forma que se utiliza su nombre cada vez que se necesita referenciarlo. ¿QUÉ ES UNA VARIABLE?Son los objetos cuyo valor puede ser modificado a lo largo de laejecución de un programa.
  • 70. Es un subconjunto de los números enteros cuyo rango o tamaño dependen del lenguajey computadora utilizada.Los datos de este tipo se expresan mediante una cadena de dígitos que pueden irprecedidos de signo + o -.EJEMPLOS: 1987 -12 +3300. Tipo Numérico RealEs un subconjunto de los números reales limitado no solo en cuanto a cuyo tamaño, sinotambién en cuanto a la precisión.Se expresan de dos maneras diferentes denominadas notación de punto fijo y notaciónexponencial. En la primera, un valor consiste en una cadena de dígitos que pueden irprecedidos de signo + o – y un punto decimal intermedio.EJEMPLOS: 97.84 -12.00 +0.5
  • 71. Es un conjunto formado por todos los caracteres o símbolos de que dispone la computadora. Se expresan mediante el carácter colocado entre comillas o apostrofes. El conjunto de los caracteres está formado por: Los caracteres alfabéticos mayúsculas; “A”, “B”, “C”, “D”, ... , “Z”. Los caracteres alfabéticos minúsculas; “a”, “b”, “c”, “d”, ... , “z”. Los caracteres dígitos; “1”, “2”, “3”, “4”, ... , “9”. Los caracteres especiales; “ ”, “+”, “-”, “*”, ... , “¿”. EJEMPLOS: “ALCALA” “28035”
  • 72. TIPO DE DATOS TAMAÑO EN BITS El tamaño de un int es de 32 bitsEl tamaño de un float es de 32 bitsEl tamaño de un char es de 8 bits
  • 73.  http://zarza.usal.es/~fgarcia/doc/tuto2/II_2.htm http://alex-sc-coral.blogspot.com/2009/02/tipos- de-datos-y-modificadores_03.html www.paginasprodigy.com.mx/robertoosoLibro “Metodologia de la programación”Autor Luis Joyanes AguilarEd. McGrawHill