SlideShare ist ein Scribd-Unternehmen logo
1 von 13
IES. Antonio Serna (Albatera)
  Curso académico 2011-2012
        2º Bachillerato
1 Iniciación a la programación en lenguaje C...................................................................1
   Algoritmos y programas...............................................................................................1
   Lenguajes de programación..........................................................................................1
     1.1.1 Lenguajes de bajo nivel....................................................................................1
     1.1.2 Lenguajes de alto nivel.....................................................................................1
     1.1.3 Lenguajes de cuarta generación........................................................................2
     1.1.4 Lenguajes orientados a objetos.........................................................................2
2 Creación de un programa................................................................................................2
3 Entorno de programación de BORLAND TURBO C++................................................3
   #include <stdio.h>........................................................................................................4
   void main( )..................................................................................................................4
   {....................................................................................................................................4
   int num;.........................................................................................................................4
   printf("Introduce un entero: ");.....................................................................................4
   scanf("%d",&num);......................................................................................................4
   num=num+1;................................................................................................................4
   printf("Incremento en una cantidad %d",num);............................................................4
   }....................................................................................................................................4
4 Elementos principales de un programa en lenguaje C:...................................................4
   Tipos de datos y declaración de variables:...................................................................5
   Instrucciones de entrada y salida de información:........................................................5
   Operadores aritméticos básicos:...................................................................................6
   Operadores relacionales:...............................................................................................7
   Operadores lógicos:......................................................................................................7
   Estructuras selectivas en lenguaje C:............................................................................7
   Estructuras repetitivas:.................................................................................................8
5 Ejemplos de programas en C..........................................................................................9
6 Actividades de la unidad:.............................................................................................11
LENGUAJE C                                                                       Página 1


1 Iniciación a la programación en lenguaje C

Algoritmos y programas
        Se puede definir un algoritmo como la sucesión de pasos ordenados que se
deben realizar desde que se plantea un problema, hasta que éste queda perfectamente
resuelto. Por ejemplo, la elaboración de una tortilla francesa, conlleva una serie de
pasos: cascar los huevos en un plato hondo, añadirle sal al gusto,…
        Un programa es similar a un algoritmo; la gran diferencia es que los pasos que
permiten resolver el problema deben escribirse en un determinado lenguaje de
programación, para que el ordenador pueda ejecutarlos y encontrar así la solución.


Lenguajes de programación
       La programación es la rama de la informática que permite crear programas
propios para resolver distintos problemas. Para ello es necesario utilizar un software
especial, denominado genéricamente, lenguajes de programación.
1.1.1 Lenguajes de bajo nivel
      Lenguaje máquina: éste es el único lenguaje que entiende el ordenador, ya que
      utiliza el alfabeto binario, es decir, 0 y 1. No es portable, lo que significa que un
      mismo programa no puede ser utilizado en ordenadores de características
      diferentes.
      Lenguaje ensamblador: fue el primer intento de sustituir el lenguaje máquina por
      otro más parecido a los que utilizan las personas. El lenguaje ensamblador
      necesita un compilador, es decir, un programa que traduzca las instrucciones
      escritas al lenguaje máquina, único lenguaje que el ordenador puede entender.
1.1.2 Lenguajes de alto nivel
                     Son posteriores a los de bajo nivel (por ejemplo, lenguajes como C,
      PASCAL, COBOL, BASIC) y se crearon con los siguientes objetivos:
          • Lograr la independencia del ordenador, ya que estos lenguajes sí son
             portables.
          • Aproximar aún más sus instrucciones al lenguaje humano, de modo que
             los programas se puedan leer y escribir más fácilmente, sin cometer
             errores.
          • Suministrar librerías de rutinas, con las funciones de uso frecuente:
             entrada/salida, manejo de tablas, manejo de ficheros, etc.; de este modo se
             evita tener que crearlas cada vez que se necesiten.
               Casi todos los lenguajes de alto nivel, deben ser compilados para obtener
       el programa en código máquina. Pero, algunos de estos lenguajes como BASIC
       no compilan sus programas, sino que utilizan un intérprete que va traduciendo
       el programa para que el ordenador pueda ejecutarlo.
               Las diferencias entre un compilador y un intérprete se pueden resumir
       en:
       1. el intérprete traduce y ejecuta cada línea del programa siguiendo la secuencia
           del mismo; por el contrario, el compilador traduce el programa completo,
           creando uno nuevo ya inteligible para el ordenador, llamado programa
           objeto. Posteriormente, éste debe ser montado (linkado), operación que
LENGUAJE C                                                                      Página 2
          consiste en enlazar con las librerías de rutinas, para crear así un nuevo
          fichero ejecutable por el ordenador, denominado programa ejecutable.
       2. Otra diferencia, es que el intérprete ejecuta el programa, paso a paso hasta el
          final o hasta encontrar un error, en cuyo caso se detendría la ejecución. Por
          el contrario, el compilador traduce el programa completo antes de que se
          pueda ejecutar

1.1.3 Lenguajes de cuarta generación
                 Hasta el momento, se habían creado únicamente lenguajes de propósito
general que no eran válidos para generar algunos programas específicos; por ello se
comenzaron a crear lenguajes más especializados y muy intuitivos, con lo que son
fáciles de utilizar. Como ejemplos podemos destacar:

       1. SQL: se trata de un lenguaje que permite realizar consultas en una base de
          datos.
       2. 4GL: permite generar aplicaciones con ayuda de una gran cantidad de
          módulos preprogramados en lenguaje C.

1.1.4 Lenguajes orientados a objetos
        Los lenguajes de alto nivel se basaban principalmente en la programación
estructurada; sin embargo, los lenguajes orientados a objetos se centran en los datos,
objetos, indicando como han de ser y definiendo las operaciones a las que se les va a
someter. Ejemplos de estos lenguajes son: Visual Basic, C++, Visual C++, Smalltalk.


2 Creación de un programa
       La creación de un programa se realiza en una serie de fases, que deben llevarse a
cabo de forma secuencial y ordenada:

1. Análisis del problema: se realiza un estudio detallado con el fin de definir el proceso
que se deberá seguir para lograr la automatización de la solución.

2. Búsqueda del algoritmo: en esta fase se diseña el algoritmo que permita resolver el
problema; para ello se utilizan organigramas o pseudocódigos. Se puede decir que es en
ésta fase donde realmente se resuelve el problema, ya que un buen algoritmo garantiza,
casi siempre, un perfecto funcionamiento del programa. Simbología de los
organigramas:
                                         Se utiliza para representar el inicio y el fin de
    Terminal                             un programa; también puede representar una
                                         pausa o interrupción del programa.
                                         Representar cualquier tipo de operación que se
    Proceso
                                         pueda realizar con los datos.
                                         Se utiliza para representar una operación lógica
                                         o una comparación de datos para que, en
                                         función del resultado, el programa tome uno de
    Decisión
                                         los caminos existentes. Lo normal es que tenga
                                         dos salidas, pero puede tener más, en cuyo caso
                                         se denomina decisión múltiple.
LENGUAJE C                                                                       Página 3
   Entrada/Salida                       Simboliza la introducción de datos o la salida
                                        de     información a través de        cualquier
                                        periférico.
   Líneas de flujo                      Indica la secuencia en la que se van a ejecutar
                                        los pasos del programa.

   •   Codificación del programa: en esta fase se escribe, en el lenguaje de
       programación elegido, el algoritmo obtenido en la fase anterior. El resultado
       final será la creación de un fichero con las instrucciones necesarias para resolver
       el problema, denominado programa fuente (extensión .cpp).

   •   Compilación del programa (Menú compile, opción Compile): una vez escrito
       el programa fuente, éste se traduce mediante el compilador a código máquina,
       apareciendo uno nuevo, denominado programa objeto (extensión .obj). Si en la
       fase de codificación se hubieran cometido errores en la escritura de las
       instrucciones del lenguaje de programación (errores de compilación), éstos
       aparecerían en la compilación y tendrían que corregirse hasta conseguir un
       programa objeto válido.


   •   Montaje o linkado (Menú compile, opción link): en esta fase se monta el
       programa objeto con las librerías necesarias del lenguaje de programación para
       formar el fichero ejecutable (extensión .exe).

   •   Fase de pruebas y ejecución (Menú Run, opción Run): el programa ejecutable
       obtenido se somete a una serie de pruebas para detectar posibles errores de
       funcionamiento (errores de ejecución); en ellas deben probarse todas las
       posibilidades del programa.

   •   Fase de explotación y mantenimiento: esta fase se desarrolla diariamente con
       el uso del programa. En ella, se realiza los cambios necesarios para solucionar
       los errores que aparezcan y para adecuar el programa a las nuevas exigencias de
       los usuarios.


3 Entorno de programación de BORLAND TURBO C++
      Ejecuta la aplicación Turbo C++; posteriormente, abre una ventana de
documento nueva y escribe el siguiente programa:
       /* Primer programa en C.
          Visualización de un literal en pantalla */
       #include <stdio.h>
       void main( )
       {
       printf(“Bienvenido a la programación en C”);
       }

Guarda el programa con el nombre de Bienveni. Compila el fichero (menú Compile /
opción compile), linka el fichero (menú Compile / opción link) y por último, ejecútalo
(menú Run / opción run)
LENGUAJE C                                                                     Página 4


Abre una ventana de documento nueva y escribe el siguiente programa:
       #include <stdio.h>
       void main( )
       {
       int num;
       printf("Introduce un entero: ");
       scanf("%d",&num);
       num=num+1;
       printf("Incremento en una cantidad %d",num);
       }

Guarda el programa con el nombre de Aumento. Compila el fichero (menú Compile /
opción compile), linka el fichero (menú Compile / opción link) y por último, ejecútalo
(menú Run / opción run)




4 Elementos principales de un programa en lenguaje C:
   1. Los ficheros de cabecera, son propios del Lenguaje C y contienen las distintas
       funciones del lenguaje.#include <stdio.h> posee las funciones printf() y scanf().
   2. La función main( ). Todo programa en C debe contener la función principal
       main( ), que es donde comienza el programa principal.
   3. Un conjunto de instrucciones se encierra entre llaves{ }
   4. Todas las instrucciones que ocupen una línea deben finalizar con el carácter “;”
   5. Los comentarios se encierran entre /*…*/. P.e. /* Esto es un comentario*/
   6. Instrucciones o sentencias, son las distintas acciones individuales que debe
       ejecutar el ordenador
   7. Las funciones son grupos de instrucciones que se ejecutan conjuntamente y
       permiten resolver un pequeño problema. Todos los programas incluyen
       funciones ya creadas (funciones de sistema) y a su vez, permiten crear nuevas
       funciones (funciones de usuario) para disponer de ellas en el futuro
LENGUAJE C                                                                         Página 5
Tipos de datos y declaración de variables:
A la hora de nombrar un dato, debe tenerse en cuenta que:
         •   Se puede utilizar cualquier carácter alfanumérico, pero siempre debe
             comenzar con una letra. C diferencia las mayúsculas de las minúsculas.
         •   No se pueden utilizar espacios en blanco, por lo que es frecuente utilizar el
             guión bajo ( _ ) para nombres compuestos.
         •   La longitud del nombre no puede ser superior a 32 caracteres.
         •   No se puede utilizar como nombre de dato, ninguna palabra clave reservada
             del lenguaje C.
Tipos de datos:
•     Carácter (char). Este dato estará constituido por un único carácter, que podrá ser
      uno cualquiera de la tabla ASCII.
•     Entero (int). Este podrá ser cualquier número entero cuyo valor esté comprendido
      entre –32768 y 32767.
       int long. Entero largo, comprendido entre –2 147 483 648 y 2 147 483 647.
       int unsigned. Permite declarar el dato sin signo, está entre 0 y 65 535.
       Ambos se pueden usar también conjuntamente.
•     Punto flotante (float). El valor de este dato podrá ser cualquier número con
      decimales; habrá que tener en cuenta que el separador decimal en C es el carácter
      punto “.”

Instrucciones de entrada y salida de información:
printf(cadena_de_formato,[lista_de_argumentos]);
Esta función permite visualizar información en pantalla (la lista de argumentos es
opcional por lo que se muestra entre corchetes).
Ej:    printf(“el número introducido es %d”,dato);
scanf(formato,argumentos);
Esta función indica la variable a la que se le asignará el dato introducido desde el
teclado. A diferencia de printf, scanf sólo puede tener un argumento, que deberá estar
precedido del carácter &
Ej:    scanf(“%d”,&dato);
         Tanto printf() como scanf(), necesitan del fichero de cabecera stdio.h
         La cadena de formato de printf y el formato de scanf, deben estar delimitados
por comillas dobles (“).
LENGUAJE C                                                                            Página 6
    TIPO DE DATOS O VARIABLE                       ESPECIFICACIÓN DE FORMATO
Entero con signo                                               %d
Entero sin signo                                               %u
Entero largo con signo                                         %ld
Entero largo sin signo                                         %lu
Flotante                                                       %f
Carácter                                                       %c

Secuencia de
                 Acción
   Escape
    n      Provoca un salto de línea, situando el cursor al principio de la siguiente línea.
    t      Sitúa el cursor en la siguiente parada del tabulador.
    a      Emite un aviso sonoro.
    ”      Permite obtener, en el resultado, el carácter comilla doble (“).
    ’      Permite visualizar el carácter comilla simple (‘).
          Se visualizará, en el resultado, el carácter barra invertida ().
    b      Hace retroceder el cursor un espacio.
delay(milisegundos); Hace una pausa de los milisegundos indicados.

getchar();        Detiene la ejecución del programa hasta que se pulse una tecla.

[variable_carácter=]getch();                Detiene la ejecución del programa hasta que se
pulse una tecla, muestra el carácter pulsado en pantalla.
[variable_carácter=]getche();                  Detiene la ejecución del programa hasta que
se pulse una tecla, no muestra el carácter pulsado en la pantalla.
clrscr();         Limpia la pantalla.
getch(), getche() y clrscr() requieren el fichero de cabecera #include <conio.h>



Operadores aritméticos básicos:

 Operación        Operador      Acción
    Suma               +        Calcula la suma de dos o más variables numéricas.
  Diferencia           -        Calcula la diferencia de dos variables numéricas.
Multiplicación         *        Multiplica el valor de las variables numéricas.
   División            /        Calcula la división de dos variables numéricas.
                       %        Calcula el módulo de una división, es decir, el resto de una
Módulo o resto
                                división de números enteros.
  Incremento           ++       Incrementa una variable en una unidad.
 Decremento            --       Decrementa una variable en una unidad.
 Asignación        +=, -=, *=, / Realiza la operación indicada por el operador aritmético y asigna
  compleja           =, %=       el resultado de una de las variables implicadas en la operación.
LENGUAJE C                                                                        Página 7
Instrucción de asignación:
      La operación de asignación consiste en dar valor a una variable (se realiza
mediante el signo “=” y la operación de comparación de igualdad con “= =”).



Operadores relacionales:


      Operador       Símbolo        Descripción
                                    La expresión a>b toma el valor verdadero si a es mayor que
     Mayor que
                           >        b, y falso en caso contrario.
                                    La expresión a<b toma el valor verdadero si a es menor que
     Menor que
                           <        b, y falso en caso contrario.
                                    La expresión a>=b toma el valor verdadero si a es mayor o
 Mayor o igual que
                           >=       igual que b, y falso en caso contrario.
                                    La expresión a<=b toma el valor verdadero si a es menor o
 Menor o igual que
                           <=       igual que b, y falso en caso contrario.
                                    La expresión a = = b toma el valor verdadero si a es igual
     Igual que
                           ==       que b, y falso en caso contrario.
                                    La expresión a != b toma el valor verdadero si a es distinto
    Distinto que
                           !=       que b, y falso en caso contrario.



Operadores lógicos:
     Operador      Símbolo          Descripción
                                    Es el operador negación, ya que niega la expresión
    Operador No
                            !       encerrada entre paréntesis que viene a continuación.
                                    Este operador permite relacionar dos o más expresiones en
    Operador Y            &&        una condición, devolviendo verdadero sólo cuando se
                                    cumplan todas las expresiones.
                                    Este operador permite relacionar dos o más expresiones en
    Operador O              ||      una condición, devolviendo verdadero cuando, al menos
                                    una de las expresiones sea válida.



Estructuras selectivas en lenguaje C:

Instrucción if. Evalúa una condición y, en caso de ser cierta, ejecutará la sentencia-1,
en caso contrario, seguirá ejecutándose el programa o se realizará la sentencia-2. los
corchetes muestran parámetros opcionales de una función.
                     if(condición)
                             sentencia-1;
                     [else
                             sentencia-2;]
LENGUAJE C                                                                    Página 8
Los bloques de instrucciones deben empezar y terminar con llaves { }.

Instrucción switch. Es una sentencia selectiva múltiple; es decir, el programa
comparará el valor de una variable con los de una lista de valores y, una vez encontrada
la coincidencia, ejecutará la instrucción o el conjunto de sentencias que hayan asociado
a dicho valor.
                       switch(var){
                               case valor1:
                                      sentencia-1;
                                      break;
                               [case valor2:
                                      sentencia-2;
                                      break;]
                               …
                               [default:
                                      sentencias-defecto;]
                               }

Estructuras repetitivas:


Instrucción while. La principal característica de la instrucción while es que la
condición se evalúa antes de ejecutar la primera instrucción del cuerpo del bucle. El
formato general es:
                     while(condición){
                            sentencia-1;
                            [sentencia-2;
                            …]
                            }



Instrucción do … while. Lo primero que se realiza es la iteración del bucle y,
posteriormente, se evalúa la condición. Mientras esta resulte verdadera, el programa
realizará una nueva iteración. El formato general es:
                   do{
                       sentencia-1;
                       [sentencia-2;
                       …]
                       }while(condición);
LENGUAJE C                                                                   Página 9


Instrucción for. La instrucción for es un bucle con un número de iteraciones definidas
previamente; por lo tanto, se utiliza en aquellos casos en los que se sabe el número
exacto de veces que debe repetirse el bucle. For presenta una ventaja con respecto a
while y es que controla automáticamente el contador de iteraciones. El formato general
es:
                  for(inicio_variable;condición;incremento_variable)
                    {
                      sentencia-1;
                      [sentencia-2;
                      …]
                    }



5 Ejemplos de programas en C
Ejemplo1:
/* Tipos de variables  tipos.cpp */
#include <stdio.h>
main(){
  char letra = 'a';
  int entero = 543;
  float real = 11.1f;
  double realDoble = 66.123456789;
  printf( "Letra = %cn", letra );
  printf( "Entero = %dn", entero);
  printf( "Real = %fn", real);
  printf( "Real_Doble = %2.9fn", realDoble );
}

Ejemplo2:
/* Cálculo de la media aritmética de dos enteros  media.cpp */
#include <stdio.h>
main()
{
  int num1=5, num2=2;
  float media;
  media=(num1+num2)/2;
  printf(“Valores: %d y %d”,num1,num2);
  printf(“nMedia: %f”,media);
LENGUAJE C                                        Página 10
}




Ejemplo3:
/* Carácter incrementado  caracter.cpp */
#include <stdio.h>
main()
{
char caracter=’a’;
int unsigned incremento;
printf(“Carácter inicial: %c”caracter);
printf(“nIntroduce un entero entre 1 y 25: ”);
scanf(“%u”,&incremento);
caracter = caracter+incremento;
printf(“Carácter incrementado: %c”,caracter);
}
LENGUAJE C                                                                   Página 11
6 Actividades de la unidad:
1º. Escribe un programa que visualice la suma de 2 números enteros introducidos por
teclado.
2º. Calcular y visualizar el cuadrado de un número entero introducido por teclado.
4º. Escribe un programa que pida un número entero y visualice si es par o impar.
5º. Introducir un número entero por teclado y:
            - Si es menor de cero, visualizar su cuadrado.
            - Si es mayor de cero, visualizar su cubo.
            - Si es cero, visualizar “Cero”.
6º. Introducir un número entero por teclado y que el programa informe si es divisible
por 5.
7º. Escribe un programa que pida por teclado 2 números enteros y visualice cual es
menor.
8º. Escribe un programa que pida un número entero (comprendido entre 1 y 7) y
visualice el día de la semana.
9º. Visualizar los números enteros pares comprendidos entre dos números introducidos
desde el teclado.
10º. Escribe un programa que pida un número entero por teclado (validar mayor de
cero) y visualice la suma de los números enteros comprendidos entre cero y el número
introducido.
11º. Escribe un programa que pida por teclado 2 números enteros mayores que 0
(validar la entrada) y visualice por pantalla los números impares comprendidos entre los
dos números dados. (Suponemos que el primer número es menor que el segundo. Por
ejemplo: si introducimos 2 y 7 debe visualizar 3 5 7).
12º. Visualizar la media aritmética de 5 números enteros introducidos por teclado.
13º. Visualizar la tabla de multiplicar de un número entero introducido por teclado.
14º. Escribe un programa que lea por teclado 12 números enteros y visualice cuántos
son positivos.
15º. Escribe un programa que pida por teclado un número entero (validar mayor de
cero) y visualizar si es divisible por 2, 3 o 5.

Weitere ähnliche Inhalte

Was ist angesagt?

Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2
danny7206
 
Programa informático
Programa informáticoPrograma informático
Programa informático
tomorrowland
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensamblador
salvaradomar
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
JSPN
 

Was ist angesagt? (18)

Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2Presentacion de lenguajes de programacion grado 9.2
Presentacion de lenguajes de programacion grado 9.2
 
Programa informático
Programa informáticoPrograma informático
Programa informático
 
Lenguaje Ensamblador
Lenguaje EnsambladorLenguaje Ensamblador
Lenguaje Ensamblador
 
Powerpoint jimpulgar
Powerpoint jimpulgarPowerpoint jimpulgar
Powerpoint jimpulgar
 
CONSULTA
CONSULTACONSULTA
CONSULTA
 
Actividades ac 2 computacion mtra elisa navarro lectura
Actividades ac 2 computacion mtra elisa navarro lecturaActividades ac 2 computacion mtra elisa navarro lectura
Actividades ac 2 computacion mtra elisa navarro lectura
 
LENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADORLENGUAJE ENSAMBLADOR
LENGUAJE ENSAMBLADOR
 
Lenguajes de programacion
Lenguajes de programacionLenguajes de programacion
Lenguajes de programacion
 
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADORUNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
UNIDAD 1 INTRODUCCIÓN AL LENGUAJE ENSAMBLADOR
 
Tema 1.3.- Programación
Tema 1.3.- ProgramaciónTema 1.3.- Programación
Tema 1.3.- Programación
 
Unidadi. lenguajes de interfaz
Unidadi.   lenguajes de interfazUnidadi.   lenguajes de interfaz
Unidadi. lenguajes de interfaz
 
Programacion ensamblador-procesadoresk
Programacion ensamblador-procesadoreskProgramacion ensamblador-procesadoresk
Programacion ensamblador-procesadoresk
 
Cristian david castro
Cristian david castroCristian david castro
Cristian david castro
 
Generalidades del lenguaje ensamblador
Generalidades del lenguaje ensambladorGeneralidades del lenguaje ensamblador
Generalidades del lenguaje ensamblador
 
Lenguaje de programación
Lenguaje de programaciónLenguaje de programación
Lenguaje de programación
 
Lenguajes de programación
Lenguajes de programaciónLenguajes de programación
Lenguajes de programación
 
Presentación1
Presentación1Presentación1
Presentación1
 
Informática
InformáticaInformática
Informática
 

Ähnlich wie Apuntes c

Investigación Ensambladores y Decompiladores
Investigación Ensambladores y DecompiladoresInvestigación Ensambladores y Decompiladores
Investigación Ensambladores y Decompiladores
RubnPilca
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
adark
 

Ähnlich wie Apuntes c (20)

Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Lenguaje de programacion .doc
Lenguaje de programacion .docLenguaje de programacion .doc
Lenguaje de programacion .doc
 
Investigación Ensambladores y Decompiladores
Investigación Ensambladores y DecompiladoresInvestigación Ensambladores y Decompiladores
Investigación Ensambladores y Decompiladores
 
Ensambladores y Compiladores
Ensambladores y CompiladoresEnsambladores y Compiladores
Ensambladores y Compiladores
 
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADOCONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
CONOCIMIENTO DE PROGRAMACIÓN Y UN LENGUAJE ESTRUCTURADO
 
Lenguaje de programacion
Lenguaje de programacionLenguaje de programacion
Lenguaje de programacion
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
BRANDON VELASQUEZ
BRANDON VELASQUEZBRANDON VELASQUEZ
BRANDON VELASQUEZ
 
Ts101924450
Ts101924450Ts101924450
Ts101924450
 
Programación
ProgramaciónProgramación
Programación
 
LENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACIONLENGUAJE DE PROGRAMACION. INVESTIGACION
LENGUAJE DE PROGRAMACION. INVESTIGACION
 
Universidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programaciónUniversidad de panam1.lenguaje de programación
Universidad de panam1.lenguaje de programación
 
Jhinet fernanda
Jhinet fernandaJhinet fernanda
Jhinet fernanda
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 
Bustamante andres sistemas
Bustamante andres sistemasBustamante andres sistemas
Bustamante andres sistemas
 

Apuntes c

  • 1. IES. Antonio Serna (Albatera) Curso académico 2011-2012 2º Bachillerato
  • 2. 1 Iniciación a la programación en lenguaje C...................................................................1 Algoritmos y programas...............................................................................................1 Lenguajes de programación..........................................................................................1 1.1.1 Lenguajes de bajo nivel....................................................................................1 1.1.2 Lenguajes de alto nivel.....................................................................................1 1.1.3 Lenguajes de cuarta generación........................................................................2 1.1.4 Lenguajes orientados a objetos.........................................................................2 2 Creación de un programa................................................................................................2 3 Entorno de programación de BORLAND TURBO C++................................................3 #include <stdio.h>........................................................................................................4 void main( )..................................................................................................................4 {....................................................................................................................................4 int num;.........................................................................................................................4 printf("Introduce un entero: ");.....................................................................................4 scanf("%d",&num);......................................................................................................4 num=num+1;................................................................................................................4 printf("Incremento en una cantidad %d",num);............................................................4 }....................................................................................................................................4 4 Elementos principales de un programa en lenguaje C:...................................................4 Tipos de datos y declaración de variables:...................................................................5 Instrucciones de entrada y salida de información:........................................................5 Operadores aritméticos básicos:...................................................................................6 Operadores relacionales:...............................................................................................7 Operadores lógicos:......................................................................................................7 Estructuras selectivas en lenguaje C:............................................................................7 Estructuras repetitivas:.................................................................................................8 5 Ejemplos de programas en C..........................................................................................9 6 Actividades de la unidad:.............................................................................................11
  • 3. LENGUAJE C Página 1 1 Iniciación a la programación en lenguaje C Algoritmos y programas Se puede definir un algoritmo como la sucesión de pasos ordenados que se deben realizar desde que se plantea un problema, hasta que éste queda perfectamente resuelto. Por ejemplo, la elaboración de una tortilla francesa, conlleva una serie de pasos: cascar los huevos en un plato hondo, añadirle sal al gusto,… Un programa es similar a un algoritmo; la gran diferencia es que los pasos que permiten resolver el problema deben escribirse en un determinado lenguaje de programación, para que el ordenador pueda ejecutarlos y encontrar así la solución. Lenguajes de programación La programación es la rama de la informática que permite crear programas propios para resolver distintos problemas. Para ello es necesario utilizar un software especial, denominado genéricamente, lenguajes de programación. 1.1.1 Lenguajes de bajo nivel Lenguaje máquina: éste es el único lenguaje que entiende el ordenador, ya que utiliza el alfabeto binario, es decir, 0 y 1. No es portable, lo que significa que un mismo programa no puede ser utilizado en ordenadores de características diferentes. Lenguaje ensamblador: fue el primer intento de sustituir el lenguaje máquina por otro más parecido a los que utilizan las personas. El lenguaje ensamblador necesita un compilador, es decir, un programa que traduzca las instrucciones escritas al lenguaje máquina, único lenguaje que el ordenador puede entender. 1.1.2 Lenguajes de alto nivel Son posteriores a los de bajo nivel (por ejemplo, lenguajes como C, PASCAL, COBOL, BASIC) y se crearon con los siguientes objetivos: • Lograr la independencia del ordenador, ya que estos lenguajes sí son portables. • Aproximar aún más sus instrucciones al lenguaje humano, de modo que los programas se puedan leer y escribir más fácilmente, sin cometer errores. • Suministrar librerías de rutinas, con las funciones de uso frecuente: entrada/salida, manejo de tablas, manejo de ficheros, etc.; de este modo se evita tener que crearlas cada vez que se necesiten. Casi todos los lenguajes de alto nivel, deben ser compilados para obtener el programa en código máquina. Pero, algunos de estos lenguajes como BASIC no compilan sus programas, sino que utilizan un intérprete que va traduciendo el programa para que el ordenador pueda ejecutarlo. Las diferencias entre un compilador y un intérprete se pueden resumir en: 1. el intérprete traduce y ejecuta cada línea del programa siguiendo la secuencia del mismo; por el contrario, el compilador traduce el programa completo, creando uno nuevo ya inteligible para el ordenador, llamado programa objeto. Posteriormente, éste debe ser montado (linkado), operación que
  • 4. LENGUAJE C Página 2 consiste en enlazar con las librerías de rutinas, para crear así un nuevo fichero ejecutable por el ordenador, denominado programa ejecutable. 2. Otra diferencia, es que el intérprete ejecuta el programa, paso a paso hasta el final o hasta encontrar un error, en cuyo caso se detendría la ejecución. Por el contrario, el compilador traduce el programa completo antes de que se pueda ejecutar 1.1.3 Lenguajes de cuarta generación Hasta el momento, se habían creado únicamente lenguajes de propósito general que no eran válidos para generar algunos programas específicos; por ello se comenzaron a crear lenguajes más especializados y muy intuitivos, con lo que son fáciles de utilizar. Como ejemplos podemos destacar: 1. SQL: se trata de un lenguaje que permite realizar consultas en una base de datos. 2. 4GL: permite generar aplicaciones con ayuda de una gran cantidad de módulos preprogramados en lenguaje C. 1.1.4 Lenguajes orientados a objetos Los lenguajes de alto nivel se basaban principalmente en la programación estructurada; sin embargo, los lenguajes orientados a objetos se centran en los datos, objetos, indicando como han de ser y definiendo las operaciones a las que se les va a someter. Ejemplos de estos lenguajes son: Visual Basic, C++, Visual C++, Smalltalk. 2 Creación de un programa La creación de un programa se realiza en una serie de fases, que deben llevarse a cabo de forma secuencial y ordenada: 1. Análisis del problema: se realiza un estudio detallado con el fin de definir el proceso que se deberá seguir para lograr la automatización de la solución. 2. Búsqueda del algoritmo: en esta fase se diseña el algoritmo que permita resolver el problema; para ello se utilizan organigramas o pseudocódigos. Se puede decir que es en ésta fase donde realmente se resuelve el problema, ya que un buen algoritmo garantiza, casi siempre, un perfecto funcionamiento del programa. Simbología de los organigramas: Se utiliza para representar el inicio y el fin de Terminal un programa; también puede representar una pausa o interrupción del programa. Representar cualquier tipo de operación que se Proceso pueda realizar con los datos. Se utiliza para representar una operación lógica o una comparación de datos para que, en función del resultado, el programa tome uno de Decisión los caminos existentes. Lo normal es que tenga dos salidas, pero puede tener más, en cuyo caso se denomina decisión múltiple.
  • 5. LENGUAJE C Página 3 Entrada/Salida Simboliza la introducción de datos o la salida de información a través de cualquier periférico. Líneas de flujo Indica la secuencia en la que se van a ejecutar los pasos del programa. • Codificación del programa: en esta fase se escribe, en el lenguaje de programación elegido, el algoritmo obtenido en la fase anterior. El resultado final será la creación de un fichero con las instrucciones necesarias para resolver el problema, denominado programa fuente (extensión .cpp). • Compilación del programa (Menú compile, opción Compile): una vez escrito el programa fuente, éste se traduce mediante el compilador a código máquina, apareciendo uno nuevo, denominado programa objeto (extensión .obj). Si en la fase de codificación se hubieran cometido errores en la escritura de las instrucciones del lenguaje de programación (errores de compilación), éstos aparecerían en la compilación y tendrían que corregirse hasta conseguir un programa objeto válido. • Montaje o linkado (Menú compile, opción link): en esta fase se monta el programa objeto con las librerías necesarias del lenguaje de programación para formar el fichero ejecutable (extensión .exe). • Fase de pruebas y ejecución (Menú Run, opción Run): el programa ejecutable obtenido se somete a una serie de pruebas para detectar posibles errores de funcionamiento (errores de ejecución); en ellas deben probarse todas las posibilidades del programa. • Fase de explotación y mantenimiento: esta fase se desarrolla diariamente con el uso del programa. En ella, se realiza los cambios necesarios para solucionar los errores que aparezcan y para adecuar el programa a las nuevas exigencias de los usuarios. 3 Entorno de programación de BORLAND TURBO C++ Ejecuta la aplicación Turbo C++; posteriormente, abre una ventana de documento nueva y escribe el siguiente programa: /* Primer programa en C. Visualización de un literal en pantalla */ #include <stdio.h> void main( ) { printf(“Bienvenido a la programación en C”); } Guarda el programa con el nombre de Bienveni. Compila el fichero (menú Compile / opción compile), linka el fichero (menú Compile / opción link) y por último, ejecútalo (menú Run / opción run)
  • 6. LENGUAJE C Página 4 Abre una ventana de documento nueva y escribe el siguiente programa: #include <stdio.h> void main( ) { int num; printf("Introduce un entero: "); scanf("%d",&num); num=num+1; printf("Incremento en una cantidad %d",num); } Guarda el programa con el nombre de Aumento. Compila el fichero (menú Compile / opción compile), linka el fichero (menú Compile / opción link) y por último, ejecútalo (menú Run / opción run) 4 Elementos principales de un programa en lenguaje C: 1. Los ficheros de cabecera, son propios del Lenguaje C y contienen las distintas funciones del lenguaje.#include <stdio.h> posee las funciones printf() y scanf(). 2. La función main( ). Todo programa en C debe contener la función principal main( ), que es donde comienza el programa principal. 3. Un conjunto de instrucciones se encierra entre llaves{ } 4. Todas las instrucciones que ocupen una línea deben finalizar con el carácter “;” 5. Los comentarios se encierran entre /*…*/. P.e. /* Esto es un comentario*/ 6. Instrucciones o sentencias, son las distintas acciones individuales que debe ejecutar el ordenador 7. Las funciones son grupos de instrucciones que se ejecutan conjuntamente y permiten resolver un pequeño problema. Todos los programas incluyen funciones ya creadas (funciones de sistema) y a su vez, permiten crear nuevas funciones (funciones de usuario) para disponer de ellas en el futuro
  • 7. LENGUAJE C Página 5 Tipos de datos y declaración de variables: A la hora de nombrar un dato, debe tenerse en cuenta que: • Se puede utilizar cualquier carácter alfanumérico, pero siempre debe comenzar con una letra. C diferencia las mayúsculas de las minúsculas. • No se pueden utilizar espacios en blanco, por lo que es frecuente utilizar el guión bajo ( _ ) para nombres compuestos. • La longitud del nombre no puede ser superior a 32 caracteres. • No se puede utilizar como nombre de dato, ninguna palabra clave reservada del lenguaje C. Tipos de datos: • Carácter (char). Este dato estará constituido por un único carácter, que podrá ser uno cualquiera de la tabla ASCII. • Entero (int). Este podrá ser cualquier número entero cuyo valor esté comprendido entre –32768 y 32767.  int long. Entero largo, comprendido entre –2 147 483 648 y 2 147 483 647.  int unsigned. Permite declarar el dato sin signo, está entre 0 y 65 535.  Ambos se pueden usar también conjuntamente. • Punto flotante (float). El valor de este dato podrá ser cualquier número con decimales; habrá que tener en cuenta que el separador decimal en C es el carácter punto “.” Instrucciones de entrada y salida de información: printf(cadena_de_formato,[lista_de_argumentos]); Esta función permite visualizar información en pantalla (la lista de argumentos es opcional por lo que se muestra entre corchetes). Ej: printf(“el número introducido es %d”,dato); scanf(formato,argumentos); Esta función indica la variable a la que se le asignará el dato introducido desde el teclado. A diferencia de printf, scanf sólo puede tener un argumento, que deberá estar precedido del carácter & Ej: scanf(“%d”,&dato); Tanto printf() como scanf(), necesitan del fichero de cabecera stdio.h La cadena de formato de printf y el formato de scanf, deben estar delimitados por comillas dobles (“).
  • 8. LENGUAJE C Página 6 TIPO DE DATOS O VARIABLE ESPECIFICACIÓN DE FORMATO Entero con signo %d Entero sin signo %u Entero largo con signo %ld Entero largo sin signo %lu Flotante %f Carácter %c Secuencia de Acción Escape n Provoca un salto de línea, situando el cursor al principio de la siguiente línea. t Sitúa el cursor en la siguiente parada del tabulador. a Emite un aviso sonoro. ” Permite obtener, en el resultado, el carácter comilla doble (“). ’ Permite visualizar el carácter comilla simple (‘). Se visualizará, en el resultado, el carácter barra invertida (). b Hace retroceder el cursor un espacio. delay(milisegundos); Hace una pausa de los milisegundos indicados. getchar(); Detiene la ejecución del programa hasta que se pulse una tecla. [variable_carácter=]getch(); Detiene la ejecución del programa hasta que se pulse una tecla, muestra el carácter pulsado en pantalla. [variable_carácter=]getche(); Detiene la ejecución del programa hasta que se pulse una tecla, no muestra el carácter pulsado en la pantalla. clrscr(); Limpia la pantalla. getch(), getche() y clrscr() requieren el fichero de cabecera #include <conio.h> Operadores aritméticos básicos: Operación Operador Acción Suma + Calcula la suma de dos o más variables numéricas. Diferencia - Calcula la diferencia de dos variables numéricas. Multiplicación * Multiplica el valor de las variables numéricas. División / Calcula la división de dos variables numéricas. % Calcula el módulo de una división, es decir, el resto de una Módulo o resto división de números enteros. Incremento ++ Incrementa una variable en una unidad. Decremento -- Decrementa una variable en una unidad. Asignación +=, -=, *=, / Realiza la operación indicada por el operador aritmético y asigna compleja =, %= el resultado de una de las variables implicadas en la operación.
  • 9. LENGUAJE C Página 7 Instrucción de asignación: La operación de asignación consiste en dar valor a una variable (se realiza mediante el signo “=” y la operación de comparación de igualdad con “= =”). Operadores relacionales: Operador Símbolo Descripción La expresión a>b toma el valor verdadero si a es mayor que Mayor que > b, y falso en caso contrario. La expresión a<b toma el valor verdadero si a es menor que Menor que < b, y falso en caso contrario. La expresión a>=b toma el valor verdadero si a es mayor o Mayor o igual que >= igual que b, y falso en caso contrario. La expresión a<=b toma el valor verdadero si a es menor o Menor o igual que <= igual que b, y falso en caso contrario. La expresión a = = b toma el valor verdadero si a es igual Igual que == que b, y falso en caso contrario. La expresión a != b toma el valor verdadero si a es distinto Distinto que != que b, y falso en caso contrario. Operadores lógicos: Operador Símbolo Descripción Es el operador negación, ya que niega la expresión Operador No ! encerrada entre paréntesis que viene a continuación. Este operador permite relacionar dos o más expresiones en Operador Y && una condición, devolviendo verdadero sólo cuando se cumplan todas las expresiones. Este operador permite relacionar dos o más expresiones en Operador O || una condición, devolviendo verdadero cuando, al menos una de las expresiones sea válida. Estructuras selectivas en lenguaje C: Instrucción if. Evalúa una condición y, en caso de ser cierta, ejecutará la sentencia-1, en caso contrario, seguirá ejecutándose el programa o se realizará la sentencia-2. los corchetes muestran parámetros opcionales de una función. if(condición) sentencia-1; [else sentencia-2;]
  • 10. LENGUAJE C Página 8 Los bloques de instrucciones deben empezar y terminar con llaves { }. Instrucción switch. Es una sentencia selectiva múltiple; es decir, el programa comparará el valor de una variable con los de una lista de valores y, una vez encontrada la coincidencia, ejecutará la instrucción o el conjunto de sentencias que hayan asociado a dicho valor. switch(var){ case valor1: sentencia-1; break; [case valor2: sentencia-2; break;] … [default: sentencias-defecto;] } Estructuras repetitivas: Instrucción while. La principal característica de la instrucción while es que la condición se evalúa antes de ejecutar la primera instrucción del cuerpo del bucle. El formato general es: while(condición){ sentencia-1; [sentencia-2; …] } Instrucción do … while. Lo primero que se realiza es la iteración del bucle y, posteriormente, se evalúa la condición. Mientras esta resulte verdadera, el programa realizará una nueva iteración. El formato general es: do{ sentencia-1; [sentencia-2; …] }while(condición);
  • 11. LENGUAJE C Página 9 Instrucción for. La instrucción for es un bucle con un número de iteraciones definidas previamente; por lo tanto, se utiliza en aquellos casos en los que se sabe el número exacto de veces que debe repetirse el bucle. For presenta una ventaja con respecto a while y es que controla automáticamente el contador de iteraciones. El formato general es: for(inicio_variable;condición;incremento_variable) { sentencia-1; [sentencia-2; …] } 5 Ejemplos de programas en C Ejemplo1: /* Tipos de variables  tipos.cpp */ #include <stdio.h> main(){ char letra = 'a'; int entero = 543; float real = 11.1f; double realDoble = 66.123456789; printf( "Letra = %cn", letra ); printf( "Entero = %dn", entero); printf( "Real = %fn", real); printf( "Real_Doble = %2.9fn", realDoble ); } Ejemplo2: /* Cálculo de la media aritmética de dos enteros  media.cpp */ #include <stdio.h> main() { int num1=5, num2=2; float media; media=(num1+num2)/2; printf(“Valores: %d y %d”,num1,num2); printf(“nMedia: %f”,media);
  • 12. LENGUAJE C Página 10 } Ejemplo3: /* Carácter incrementado  caracter.cpp */ #include <stdio.h> main() { char caracter=’a’; int unsigned incremento; printf(“Carácter inicial: %c”caracter); printf(“nIntroduce un entero entre 1 y 25: ”); scanf(“%u”,&incremento); caracter = caracter+incremento; printf(“Carácter incrementado: %c”,caracter); }
  • 13. LENGUAJE C Página 11 6 Actividades de la unidad: 1º. Escribe un programa que visualice la suma de 2 números enteros introducidos por teclado. 2º. Calcular y visualizar el cuadrado de un número entero introducido por teclado. 4º. Escribe un programa que pida un número entero y visualice si es par o impar. 5º. Introducir un número entero por teclado y: - Si es menor de cero, visualizar su cuadrado. - Si es mayor de cero, visualizar su cubo. - Si es cero, visualizar “Cero”. 6º. Introducir un número entero por teclado y que el programa informe si es divisible por 5. 7º. Escribe un programa que pida por teclado 2 números enteros y visualice cual es menor. 8º. Escribe un programa que pida un número entero (comprendido entre 1 y 7) y visualice el día de la semana. 9º. Visualizar los números enteros pares comprendidos entre dos números introducidos desde el teclado. 10º. Escribe un programa que pida un número entero por teclado (validar mayor de cero) y visualice la suma de los números enteros comprendidos entre cero y el número introducido. 11º. Escribe un programa que pida por teclado 2 números enteros mayores que 0 (validar la entrada) y visualice por pantalla los números impares comprendidos entre los dos números dados. (Suponemos que el primer número es menor que el segundo. Por ejemplo: si introducimos 2 y 7 debe visualizar 3 5 7). 12º. Visualizar la media aritmética de 5 números enteros introducidos por teclado. 13º. Visualizar la tabla de multiplicar de un número entero introducido por teclado. 14º. Escribe un programa que lea por teclado 12 números enteros y visualice cuántos son positivos. 15º. Escribe un programa que pida por teclado un número entero (validar mayor de cero) y visualizar si es divisible por 2, 3 o 5.