SlideShare una empresa de Scribd logo
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.)
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.
   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.
   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.
   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.
   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.
   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.
   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.
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.
   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
   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.
   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.
   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.
   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.
   http://entrenate.dgsca.unam.mx/introduccio
    n/sistoper.html
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
1.1.2.   Análisis comparativo de Sistemas Operativos   Miércoles, 07 de Marzo de 2012
Miércoles, 07 de Marzo de 2012   1.1.2.   Análisis comparativo de Sistemas Operativos
Miércoles, 07 de Marzo de 2012   1.1.2.   Análisis comparativo de Sistemas Operativos
DEFINICION
Es 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.
   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ó.
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
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.
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.
   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.
   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.
   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.
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.”
   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.
 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, MAC's, 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.
 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
Intérprete: Es un programa que lee línea
a línea un programa escrito en un
lenguaje (código fuente), y lo va
traduciendo a un código intermedio, para
ejecutarlo.

Compilador: Es un programa que lee
totalmente un programa escrito en un
lenguaje (código fuente), y lo traduce a un
programa equivalente en otro lenguaje: el
lenguaje objeto.
Los lenguajes de nivel de máquina y los de ensamblador se clasifican
como lenguajes de nivel bajo. Esto se debe a que ambos utilizan
instrucciones que están vinculadas directamente a un tipo de
computadora.

Un lenguaje de nivel alto utiliza instrucciones similares a las de los
lenguajes escritos, como el inglés, y se pueden ejecutar en diversos
tipos de computadoras. FORTRAN, BASIC, Pascal y C++ son
ejemplos de lenguajes de nivel alto.
A los programas escritos en un lenguaje de computadora de nivel alto
o bajo se les conoce de manera indistinta como programas fuente o
código fuente.

       #include <stdio.h>
       #include <conio.h>

       void main()
       {
       printf("Hola mundo!...n");
       getch();
       }
Cuando cada instrucción en un programa fuente de nivel alto se traduce
de manera individual y se ejecuta inmediatamente al momento de la
traducción, el lenguaje de programación utilizado se llama lenguaje
interpretado, y el programa que efectúa la traducción se llama
intérprete.

 Cuando todas las instrucciones en un programa fuente de nivel alto se
traducen como una unidad completa antes de que cualquier instrucción
sea ejecutada, al lenguaje de programación utilizado se le llama
lenguaje compilado. En este caso, al programa que efectúa la
traducción se le llama compilador.
Puede haber versiones tanto compiladas como interpretadas de un
lenguaje, aunque generalmente una predomina.

Por ejemplo, aunque existen versiones compiladas de BASIC, éste es
predominantemente un lenguaje interpretado.

De la misma forma, aunque existen versiones interpretadas de C++,
éste es básicamente un lenguaje compilado.
INTERPRÉTES                         COMPILADORES
1.- Un intérprete facilita la       1.- Un compilador suele generar
búsqueda de errores, pues la        programas      más    rápidos    y
ejecución de un programa puede      eficientes, ya que el análisis del
interrumpirse    en    cualquier    lenguaje fuente se hace una sola
momento 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 obligado
modificarse sobre la marcha, sin    generalmente a analizar cada
necesidad de volver a comenzar      instrucción tantas veces como se
la ejecución.                       ejecute (incluso miles o millones
                                    de veces).


2.- Un intérprete necesita menos 2.- Un compilador necesita más
memoria que un compilador.       memoria que un intérprete.
INTERPRÉTES                           COMPILADORES
3.- Un intérprete permite utilizar     3.- Usualmente, este tipo de
funciones     y   operadores   más     instrucciones es imposible tratarlos
potentes, como por ejemplo ejecutar    por medio de compiladores. Los
código contenido en una variable en    lenguajes que permiten el uso de un
forma de cadenas de caracteres.        compilador, prescinden de este tipo
Los lenguajes que incluyen este tipo   de operadores.
de operadores, por tanto, exigen un
intérprete.
4.- En el caso del intérprete, es      4.- Se compila una vez, se ejecuta n
necesario disponer de él para          veces (Genera un archivo ejecutable
ejecutar el programa.                  directamente por la computadora).
5.-      Permiten     una     mayor    5.- El compilador tiene una visión
interactividad con el código en        global del programa, por lo que la
tiempo de desarrollo.                  información de mensajes de error es
                                       más detallada.
C es un lenguaje sencillo y profundo, pues maneja elementos básicos
presentes en todas las computadoras: caracteres, números y
direcciones.

Suele ser llamado lenguaje de programación de sistemas debido a su
utilidad para escribir compiladores y sistemas operativos, de igual
forma se pueden desarrollar cualquier tipo de aplicación.
El hecho de no poseer operaciones de entrada-salida, manejo de
arreglo de caracteres, de asignación de memoria, etc., puede al
principio parecer un grave defecto; sin embargo el hecho de que estas
operaciones se realicen por medio de llamadas a Funciones contenidas
en Librerías externas al lenguaje en sí, es el que confiere al mismo su
alto grado de portabilidad, independizándolo del "Hardware" sobre el
cual corren los programas.
El lenguaje de programación en C está compuesto o integrado
por:

Librerías: son grupos de funciones ya determinadas por el
programa, 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.)
El lenguaje de programación en C está
compuesto o integrado por:
Funciones hechas por el usuario: son funciones
hechas por el usuario, pero que tiene que declarar
en 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…
La mejor manera de aprender a programar en un
lenguaje es programando con él, mediante editar,
compilar, corregir y ejecutar pequeños programas
descriptivos.
/*Programa hola mundo*/
#include <stdio.h>
#include <conio.h>
void main()
{
printf("Hola mundo!...n");
getch();
}
Función main ( ).
La función main, indica donde empieza el programa, es la que ejecuta
el sistema operativo al llamar a un programa C. La función main
siempre va seguida de paréntesis ( ), tanto si tiene argumentos como si
no.

Las llaves { }
El cuerpo principal de un conjunto de sentencias está delimitado por
dos llaves, una inmediatamente después de la declaración main() " { ",
y otra que finaliza el listado " } ".
Función printf
Los programas en C se inician de la misma
manera o parten del mismo punto: ya que la
primer sentencia dentro de dicha función, en este
caso printf ("......"). Dicha función sirve para
imprimir en la pantalla lo que solicitamos.

El símbolo n
El símbolo n indica un cambio de línea, que
permite que el cursor avance a la posición extrema
izquierda de la línea siguiente.
El símbolo ;
Cada sentencia del programa queda
finalizada por el terminador “;", que indica al
compilador el fin de la misma. Es necesario
pues las sentencias complejas pueden llegar
a tener más de un renglón, y habrá que
avisarle al compilador donde termina.
Comentarios
Para C se toma como comentario todo carácter
interno a los símbolos: /* */. Los comentarios
pueden ocupar uno o más renglones.
http://www.alegsa.com.ar/Dic/compilador.php

http://www.di.uniovi.es/~labra/FTP/Interpretes.pdf

http://www.todo-programacion.com.ar/archives/2005/04/interpretes_y_c.html

http://www.mitecnologico.com/Main/ComparacionInterpretesYCompiladores

http://es.wikipedia.org/wiki/Int%C3%A9rprete_(inform%C3%A1tica)
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.
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
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.
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.
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.
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.
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) */
#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)
{

/* Variables locales del algoritmo principal */
int a, b;
float x, y;
...
...
/* Instrucciones del algoritmo principal */
...
función1(argumentos);
...
función2(argumentos);
 ...
return 0;

}
   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/
Se denominan DATOS a las características
propias de cualquier identidad. Por ejemplo, la
edad y el domicilio de una persona forman parte
de sus datos.
Los programas procesan datos a fin de obtener
resultados o información útiles.
Cada variable, constante o expresión lleva
asociado un tipo de datos que determina el
conjunto de valores que pueden tomar.
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 la
ejecución de un programa.
Es un subconjunto de los números enteros cuyo rango o tamaño dependen del lenguaje
y computadora utilizada.
Los datos de este tipo se expresan mediante una cadena de dígitos que pueden ir
precedidos de signo + o -.

EJEMPLOS:            1987                 -12        +3300.


                    Tipo Numérico Real
Es un subconjunto de los números reales limitado no solo en cuanto a cuyo tamaño, sino
también en cuanto a la precisión.
Se expresan de dos maneras diferentes denominadas notación de punto fijo y notación
exponencial. En la primera, un valor consiste en una cadena de dígitos que pueden ir
precedidos de signo + o – y un punto decimal intermedio.

EJEMPLOS:                                 97.84                -12.00               +0.5
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”
TIPO DE DATOS             TAMAÑO EN BITS

 El tamaño de un int es de        32 bits

El tamaño de un float es de       32 bits

El tamaño de un char es de         8 bits
   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 Aguilar
Ed. McGrawHill

Más contenido relacionado

La actualidad más candente

Que son los sistemas operativos
Que son los sistemas operativosQue son los sistemas operativos
Que son los sistemas operativoschicaruda
 
Introducción a los sistemas operativos i.doc
Introducción a los sistemas operativos i.docIntroducción a los sistemas operativos i.doc
Introducción a los sistemas operativos i.docCarolina Cols
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativoerroko
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativomery1044
 
Que es un sistema operativo
Que es un sistema operativoQue es un sistema operativo
Que es un sistema operativo
divaaleja
 
Que es un sistema operativo
Que es un sistema operativoQue es un sistema operativo
Que es un sistema operativo
divaaleja
 
Procesos
ProcesosProcesos
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administradanielvaldez
 
Sistemaoperativo tic
Sistemaoperativo ticSistemaoperativo tic
Sistemaoperativo tic
danirata1
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativocamilobar2
 
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOSCLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
Gibran Ramirez Orozco
 

La actualidad más candente (14)

Maritza
MaritzaMaritza
Maritza
 
Que son los sistemas operativos
Que son los sistemas operativosQue son los sistemas operativos
Que son los sistemas operativos
 
Introducción a los sistemas operativos i.doc
Introducción a los sistemas operativos i.docIntroducción a los sistemas operativos i.doc
Introducción a los sistemas operativos i.doc
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 
Maria
MariaMaria
Maria
 
Que es un sistema operativo
Que es un sistema operativoQue es un sistema operativo
Que es un sistema operativo
 
Que es un sistema operativo
Que es un sistema operativoQue es un sistema operativo
Que es un sistema operativo
 
Sistema operativo
Sistema operativoSistema operativo
Sistema operativo
 
Procesos
ProcesosProcesos
Procesos
 
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administra
 
Sistemaoperativo tic
Sistemaoperativo ticSistemaoperativo tic
Sistemaoperativo tic
 
Qué es un sistema operativo
Qué es un sistema operativoQué es un sistema operativo
Qué es un sistema operativo
 
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOSCLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
CLASIFICACIÓN DE LOS SISTEMAS OPERATIVOS
 

Similar a Presentacion general (Fundamentos de Programacion)

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas OperativosMerlyn
 
Sistema operativo, caracteristicas, clasif, tipos
Sistema operativo, caracteristicas, clasif, tiposSistema operativo, caracteristicas, clasif, tipos
Sistema operativo, caracteristicas, clasif, tipos
fernandoguffante
 
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administraMartin Lautrerio
 
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administraMartin Lautrerio
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
guaadaaluupee
 
Actividad 2 y 3
Actividad 2 y 3Actividad 2 y 3
Actividad 2 y 3
araaacelyy
 
Actividad 2 y 3
Actividad 2 y 3Actividad 2 y 3
Actividad 2 y 3
guaadaaluupee
 
Actividad 2 y 3
Actividad 2 y 3Actividad 2 y 3
Actividad 2 y 3
Lupiita Riios
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
Viri Reyes
 
Actividad 2 informtica
Actividad 2 informticaActividad 2 informtica
Actividad 2 informtica
Lupiita Riios
 
actividad 2 y 3
actividad 2 y 3actividad 2 y 3
actividad 2 y 3
Viri Reyes
 
Actividad 2 y3
Actividad 2 y3Actividad 2 y3
Actividad 2 y3
araaacelyy
 
Actividad
ActividadActividad
Actividad
guaadaaluupee
 
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02leopt
 
Que es un sistema operativo
Que es un sistema operativoQue es un sistema operativo
Que es un sistema operativo
divaaleja
 
Organización de un sistema operativo.
Organización  de un sistema operativo.Organización  de un sistema operativo.
Organización de un sistema operativo.
adolfoduno
 

Similar a Presentacion general (Fundamentos de Programacion) (20)

Sistemas Operativos
Sistemas OperativosSistemas Operativos
Sistemas Operativos
 
Sistema operativo, caracteristicas, clasif, tipos
Sistema operativo, caracteristicas, clasif, tiposSistema operativo, caracteristicas, clasif, tipos
Sistema operativo, caracteristicas, clasif, tipos
 
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administra
 
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administra
 
5.2 identificar los recursos que administra
5.2 identificar los recursos que administra5.2 identificar los recursos que administra
5.2 identificar los recursos que administra
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
Actividad 2 y 3
Actividad 2 y 3Actividad 2 y 3
Actividad 2 y 3
 
Actividad 2 y 3
Actividad 2 y 3Actividad 2 y 3
Actividad 2 y 3
 
Actividad 2 y 3
Actividad 2 y 3Actividad 2 y 3
Actividad 2 y 3
 
Actividad 2
Actividad 2Actividad 2
Actividad 2
 
Actividad 2 informtica
Actividad 2 informticaActividad 2 informtica
Actividad 2 informtica
 
Actividad
ActividadActividad
Actividad
 
actividad 2 y 3
actividad 2 y 3actividad 2 y 3
actividad 2 y 3
 
Actividad 2 y3
Actividad 2 y3Actividad 2 y3
Actividad 2 y3
 
Actividad
ActividadActividad
Actividad
 
Actividad
ActividadActividad
Actividad
 
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02Introduccinalossistemasoperativosi doc-110920001101-phpapp02
Introduccinalossistemasoperativosi doc-110920001101-phpapp02
 
Que es un sistema operativo
Que es un sistema operativoQue es un sistema operativo
Que es un sistema operativo
 
3 componentes asoitson
3 componentes asoitson3 componentes asoitson
3 componentes asoitson
 
Organización de un sistema operativo.
Organización  de un sistema operativo.Organización  de un sistema operativo.
Organización de un sistema operativo.
 

Último

Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
LorenaCovarrubias12
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
cintiat3400
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
pablomarin116
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
TatianaVanessaAltami
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
Martín Ramírez
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
MaribelGaitanRamosRa
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
danitarb
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
CESAR MIJAEL ESPINOZA SALAZAR
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Demetrio Ccesa Rayme
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
JAVIER SOLIS NOYOLA
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
Alejandrino Halire Ccahuana
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
Alejandrino Halire Ccahuana
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
YolandaRodriguezChin
 

Último (20)

Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptxSemana 10-TSM-del 27 al 31 de mayo 2024.pptx
Semana 10-TSM-del 27 al 31 de mayo 2024.pptx
 
Junio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividadesJunio 2024 Fotocopiables Ediba actividades
Junio 2024 Fotocopiables Ediba actividades
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.Friedrich Nietzsche. Presentación de 2 de Bachillerato.
Friedrich Nietzsche. Presentación de 2 de Bachillerato.
 
Mapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativaMapa_Conceptual de los fundamentos de la evaluación educativa
Mapa_Conceptual de los fundamentos de la evaluación educativa
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptxc3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
c3.hu3.p3.p2.Superioridad e inferioridad en la sociedad.pptx
 
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia leeevalaución de reforzamiento de cuarto de secundaria de la competencia lee
evalaución de reforzamiento de cuarto de secundaria de la competencia lee
 
Libro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdfLibro infantil sapo y sepo un año entero pdf
Libro infantil sapo y sepo un año entero pdf
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNETPRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
PRESENTACION DE LA SEMANA NUMERO 8 EN APLICACIONES DE INTERNET
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdfAsistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
Asistencia Tecnica Cultura Escolar Inclusiva Ccesa007.pdf
 
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLAACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
ACERTIJO DE CARRERA OLÍMPICA DE SUMA DE LABERINTOS. Por JAVIER SOLIS NOYOLA
 
El fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amorEl fundamento del gobierno de Dios. El amor
El fundamento del gobierno de Dios. El amor
 
El fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docxEl fundamento del gobierno de Dios. Lec. 09. docx
El fundamento del gobierno de Dios. Lec. 09. docx
 
corpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdfcorpus-christi-sesion-de-aprendizaje.pdf
corpus-christi-sesion-de-aprendizaje.pdf
 

Presentacion general (Fundamentos de Programacion)

  • 1.
  • 2. 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.)
  • 3. 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.
  • 4. 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.
  • 5. 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.
  • 6. 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.
  • 7. 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.
  • 8. 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.
  • 9. 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.
  • 10. 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.
  • 11. 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
  • 12. 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.
  • 13. 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.
  • 14. 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.
  • 15. 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.
  • 16. http://entrenate.dgsca.unam.mx/introduccio n/sistoper.html
  • 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. 1.1.2. Análisis comparativo de Sistemas Operativos Miércoles, 07 de Marzo de 2012
  • 29. Miércoles, 07 de Marzo de 2012 1.1.2. Análisis comparativo de Sistemas Operativos
  • 30. Miércoles, 07 de Marzo de 2012 1.1.2. Análisis comparativo de Sistemas Operativos
  • 31. DEFINICION Es 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.
  • 32. 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ó.
  • 33. 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
  • 34. 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.
  • 35. 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.
  • 36. 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.
  • 37. 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.
  • 38. 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.
  • 39. 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.”
  • 40. 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.
  • 41.  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, MAC's, 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.
  • 42.  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
  • 43. Intérprete: Es un programa que lee línea a línea un programa escrito en un lenguaje (código fuente), y lo va traduciendo a un código intermedio, para ejecutarlo. Compilador: Es un programa que lee totalmente un programa escrito en un lenguaje (código fuente), y lo traduce a un programa equivalente en otro lenguaje: el lenguaje objeto.
  • 44. Los lenguajes de nivel de máquina y los de ensamblador se clasifican como lenguajes de nivel bajo. Esto se debe a que ambos utilizan instrucciones que están vinculadas directamente a un tipo de computadora. Un lenguaje de nivel alto utiliza instrucciones similares a las de los lenguajes escritos, como el inglés, y se pueden ejecutar en diversos tipos de computadoras. FORTRAN, BASIC, Pascal y C++ son ejemplos de lenguajes de nivel alto.
  • 45. A los programas escritos en un lenguaje de computadora de nivel alto o bajo se les conoce de manera indistinta como programas fuente o código fuente. #include <stdio.h> #include <conio.h> void main() { printf("Hola mundo!...n"); getch(); }
  • 46. Cuando cada instrucción en un programa fuente de nivel alto se traduce de manera individual y se ejecuta inmediatamente al momento de la traducción, el lenguaje de programación utilizado se llama lenguaje interpretado, y el programa que efectúa la traducción se llama intérprete. Cuando todas las instrucciones en un programa fuente de nivel alto se traducen como una unidad completa antes de que cualquier instrucción sea ejecutada, al lenguaje de programación utilizado se le llama lenguaje compilado. En este caso, al programa que efectúa la traducción se le llama compilador.
  • 47. Puede haber versiones tanto compiladas como interpretadas de un lenguaje, aunque generalmente una predomina. Por ejemplo, aunque existen versiones compiladas de BASIC, éste es predominantemente un lenguaje interpretado. De la misma forma, aunque existen versiones interpretadas de C++, éste es básicamente un lenguaje compilado.
  • 48. INTERPRÉTES COMPILADORES 1.- Un intérprete facilita la 1.- Un compilador suele generar búsqueda de errores, pues la programas más rápidos y ejecución de un programa puede eficientes, ya que el análisis del interrumpirse en cualquier lenguaje fuente se hace una sola momento 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 obligado modificarse sobre la marcha, sin generalmente a analizar cada necesidad de volver a comenzar instrucción tantas veces como se la ejecución. ejecute (incluso miles o millones de veces). 2.- Un intérprete necesita menos 2.- Un compilador necesita más memoria que un compilador. memoria que un intérprete.
  • 49. INTERPRÉTES COMPILADORES 3.- Un intérprete permite utilizar 3.- Usualmente, este tipo de funciones y operadores más instrucciones es imposible tratarlos potentes, como por ejemplo ejecutar por medio de compiladores. Los código contenido en una variable en lenguajes que permiten el uso de un forma de cadenas de caracteres. compilador, prescinden de este tipo Los lenguajes que incluyen este tipo de operadores. de operadores, por tanto, exigen un intérprete. 4.- En el caso del intérprete, es 4.- Se compila una vez, se ejecuta n necesario disponer de él para veces (Genera un archivo ejecutable ejecutar el programa. directamente por la computadora). 5.- Permiten una mayor 5.- El compilador tiene una visión interactividad con el código en global del programa, por lo que la tiempo de desarrollo. información de mensajes de error es más detallada.
  • 50. C es un lenguaje sencillo y profundo, pues maneja elementos básicos presentes en todas las computadoras: caracteres, números y direcciones. Suele ser llamado lenguaje de programación de sistemas debido a su utilidad para escribir compiladores y sistemas operativos, de igual forma se pueden desarrollar cualquier tipo de aplicación.
  • 51. El hecho de no poseer operaciones de entrada-salida, manejo de arreglo de caracteres, de asignación de memoria, etc., puede al principio parecer un grave defecto; sin embargo el hecho de que estas operaciones se realicen por medio de llamadas a Funciones contenidas en Librerías externas al lenguaje en sí, es el que confiere al mismo su alto grado de portabilidad, independizándolo del "Hardware" sobre el cual corren los programas.
  • 52. El lenguaje de programación en C está compuesto o integrado por: Librerías: son grupos de funciones ya determinadas por el programa, 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.)
  • 53. El lenguaje de programación en C está compuesto o integrado por: Funciones hechas por el usuario: son funciones hechas por el usuario, pero que tiene que declarar en 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…
  • 54. La mejor manera de aprender a programar en un lenguaje es programando con él, mediante editar, compilar, corregir y ejecutar pequeños programas descriptivos. /*Programa hola mundo*/ #include <stdio.h> #include <conio.h> void main() { printf("Hola mundo!...n"); getch(); }
  • 55. Función main ( ). La función main, indica donde empieza el programa, es la que ejecuta el sistema operativo al llamar a un programa C. La función main siempre va seguida de paréntesis ( ), tanto si tiene argumentos como si no. Las llaves { } El cuerpo principal de un conjunto de sentencias está delimitado por dos llaves, una inmediatamente después de la declaración main() " { ", y otra que finaliza el listado " } ".
  • 56. Función printf Los programas en C se inician de la misma manera o parten del mismo punto: ya que la primer sentencia dentro de dicha función, en este caso printf ("......"). Dicha función sirve para imprimir en la pantalla lo que solicitamos. El símbolo n El símbolo n indica un cambio de línea, que permite que el cursor avance a la posición extrema izquierda de la línea siguiente.
  • 57. El símbolo ; Cada sentencia del programa queda finalizada por el terminador “;", que indica al compilador el fin de la misma. Es necesario pues las sentencias complejas pueden llegar a tener más de un renglón, y habrá que avisarle al compilador donde termina. Comentarios Para C se toma como comentario todo carácter interno a los símbolos: /* */. Los comentarios pueden ocupar uno o más renglones.
  • 59. 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.
  • 60. 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
  • 61. 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.
  • 62. 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.
  • 63. 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.
  • 64. 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.
  • 65. 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) */
  • 66. #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)
  • 67. { /* Variables locales del algoritmo principal */ int a, b; float x, y; ... ... /* Instrucciones del algoritmo principal */ ... función1(argumentos); ... función2(argumentos); ... return 0; }
  • 68. 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/
  • 69. Se denominan DATOS a las características propias de cualquier identidad. Por ejemplo, la edad y el domicilio de una persona forman parte de sus datos. Los programas procesan datos a fin de obtener resultados o información útiles. Cada variable, constante o expresión lleva asociado un tipo de datos que determina el conjunto de valores que pueden tomar.
  • 70. 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 la ejecución de un programa.
  • 71. Es un subconjunto de los números enteros cuyo rango o tamaño dependen del lenguaje y computadora utilizada. Los datos de este tipo se expresan mediante una cadena de dígitos que pueden ir precedidos de signo + o -. EJEMPLOS: 1987 -12 +3300. Tipo Numérico Real Es un subconjunto de los números reales limitado no solo en cuanto a cuyo tamaño, sino también en cuanto a la precisión. Se expresan de dos maneras diferentes denominadas notación de punto fijo y notación exponencial. En la primera, un valor consiste en una cadena de dígitos que pueden ir precedidos de signo + o – y un punto decimal intermedio. EJEMPLOS: 97.84 -12.00 +0.5
  • 72. 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”
  • 73. TIPO DE DATOS TAMAÑO EN BITS El tamaño de un int es de 32 bits El tamaño de un float es de 32 bits El tamaño de un char es de 8 bits
  • 74.
  • 75.
  • 76.
  • 77. 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 Aguilar Ed. McGrawHill