Академический Документы
Профессиональный Документы
Культура Документы
PETarea
Microprocesador
Con la aparicin del microprocesador se dio inicio a la programacin computacional.
Aparecen trminos como:
Programacin
La programacin es el proceso de disear, codificar, depurar y mantener el cdigo fuente
de programas computacionales. El cdigo fuente es escrito en un lenguaje de
programacin. El propsito de la programacin es crear programas que exhiban un
comportamiento deseado.
Algoritmo
Para documentar un algoritmo se puede emplear el lenguaje natural, sin embargo este
es ambiguo y extenso. Por ellos es que se utiliza un "lenguaje" ms estructurado. Tenemos
dos opciones:
Pseudocdigo
Diagramas de flujo de Datos
A continuacin vea el siguiente video acerca de lo que es un algoritmo:
Programa
Es un archivo que contiene un conjunto de instrucciones (rdenes) que el microprocesador
entiende y ejecuta para realizar una determinada tarea. Los programas son escritos
utilizando Lenguajes de Programacin como: Java, C, Visual Basic, etc.
Todo programa debe tener por lo menos una entrada y una salida. Su funcionamento es:
Lenguaje de Programacin
Es un lenguaje formal diseado para expresar procesos que pueden ser llevados a cabo por
mquinas como las computadoras. Pueden usarse para crear programas que controlen el
comportamiento fsico y lgico de una mquina, para expresar algoritmos con precisin, o como
modo de comunicacin humana.
Est formado por un conjunto de smbolos y reglas sintcticas y semnticas que definen su
estructura y el significado de sus elementos y expresiones. Estos lenguajes se clasifican en dos
categoras:
Lenguaje Ensamblador.
Lenguaje de Alto Nivel: C, Java, etc)
Se puede distinguir dos tipos de lenguajes, segn se realice su ejecucin:
Tipo de Datos: Son los diversos "tamaos" de datos que puede trabajar un lenguaje de
programacin. Existen bsicamente dos tipos de datos:
Datos simples:
Etc.
Estructura de datos:
Arreglos (Array)
Etc.
Subprogramas
Etc.
Ensambladores
Compiladores
El compilador es un programa que traduce cdigo de alto nivel (instrucciones de un lenguaje de
programacin de alto nivel) a cdigo binario (byte code). Es, por tanto, parecido al ensamblador,
pero mucho ms complejo.
El programa objeto, una vez generado, puede ejecutarse en la mquina en la que fue
compilado, o en otra de similares caractersticas (procesador, sistema operativo, etc.).
Cuando el programa objeto se haya disperso en diferentes archivos (lo que ocurre con
frecuencia cuando el programa es grande o, sencillamente, cuando usa funciones escritas
por terceras personas), puede ser necesario un proceso previo de enlace de los diferentes
mdulos. De eso se encarga un programa llamado enlazador o linker, que suele actuar
inmediatamente despus del compilador.
C
C++
Pascal
Fortran
Java
Etc.
Minimizan la actividad de escribir los programas, simplemente los tiene que "dibujar",
arrastrando iconos al "rea de programacin".
Existen muchos ejemplos de lenguajes de programacin iconogrficos. Ejemplo:
Interpretar
Genera un ejecutable
No genera un ejecutable
Los programas se crean mediante otros programas especializados que nos permiten:
Entorno seguro de ejecucin del programa, para evitar que por una mala
programacin la computadora se "cuelgue".
A todas estas funcionalidades se les conoce como Herramientas de Desarrollo.
Herramientas de Desarrollo
Incluye:
Un editor de cdigo.
Un depurador (debugger).
Los IDE proveen un marco de trabajo amigable para la mayora de los lenguajes de
programacin tales como C, C++, PHP, Python, Rub, Java, C#, Delphi, Visual Basic, etc.
Ejemplos:
Dev-C++
CodeBlocks
Creando Programas
Compilar significa traducir el cdigo escrito en un lenguaje entendible por humanos (como
puede ser C, Java, etc), a un cdigo entendible por el computador (para ser ms
especficos
debiramos
decir
el
microprocesador),
al
cual
se
le
denomina Cdigo Mquina:
El archivo ejecutable no es vlido para cualquier computador solo para aquellos que
tengan el mismo microprocesador. Es por ello que existen compiladores para cada
sistema operativo por ejemplo: compilador de C para Linux, compilador de C para
Windows, etc.
GCC
El GNU Compiler Collection (coleccin de compiladores GNU) es un conjunto de
compiladores creados por el proyecto GNU (C, C++. Fortran, ADa, etc). GCC es software
libre y lo distribuye la Free Software Foundation (FSF) bajo la licencia general pblica GPL.
MinGW (Minimalist GNU for Windows), anteriormente conocido como MinGW32, es una
implementacin de los compiladores GCC para la plataforma Windows.
Dev-C++
Es un IDE para el lenguaje de programacin C y C++ que usa entre otros compiladores
para Windows a MinGW de GCC. Permite crear:
CodeBlocks
Paradigmas de Programacin
Programacin Estructurada
Programacin Orientada a Objetos
LABORATORIO 1: Algoritmos
Vamos a emplear el programa FlowCode, el cual permite documentar algoritmos y tambien
ejecutarlos para comprobar su lgica.
Para poder implementar la "ejecucin del Diagrama de Flujo de Datos", el FlowCode trae dos
componentes:
Interfases para poder comunicarse con los perifricos, con los cuales vamos a
comprobar el funcionamiento del algoritmo.
Perifricos de entrada y salida, los cuales son usados como elementos de ingreso de
informacin al algoritmo y elementos de salida para mostrar el resultado del algoritmo. En
el siguiente grfico podemos observar un perifrico de entrada denominado switch y un
perifrico de salida denominado led:
LENGUAJE DE PROGRAMACIN C
C es un lenguaje de programacin creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell.
Es un lenguaje de programacin orientado a la implementacin de Sistemas Operativos como
UNIX y Linux, compiladores, manejadores de bases de datos, procesadores de textos, juegos, etc.
Caractersticas:
Es un lenguaje estructurado.
Permite el manejo de datos (bits y bytes).
C es case sensitive, es decir que distingue minsculas de maysculas.
Acceso a memoria de bajo nivel mediante el uso de punteros (posiciones de
memoria).
Ventajas:
Desventajas:
ANSI C, tambin conocido como C89 y C90 (indica el ao en que fue ratificado por el
Instituto Nacional Americano de Normas ANSI). Ejemplo:
#include <stdio.h>
#include <time.h>
main(){
int i;
double aleatorio;
srand(time(NULL)); //semilla
for(i=0;i<20;i++){
aleatorio=rand()%101;
printf("%.1f\n", aleatorio/10);
}
system("PAUSE");
}
C99
-std=c99
C11
-std=c11
#include <stdio.h>
#include <time.h>
main(){
double aleatorio;
srand(time(NULL)); //semilla
for(int i=0;i<20;i++){
aleatorio=rand()%101;
printf("%.1f\n", aleatorio/10);
}
system("PAUSE");
}
Para el caso de Dev C++ la configuracin del tipo de compilador a usar se hace en la siguiente
opcin: Herramientas - Opciones del Compilador
Variantes del C:
Java
JavaScript
C# (pronunciado C Sharp) es un lenguaje desarrollado por Microsoft derivado
de C/C++ y Java.
Aplicaciones de C:
C es un lenguaje de programacin que se emplea mucho en la programacin de hardware
osistemas embebidos:
Primer programa
#include <stdio.h>
main() {
printf("FIEE-UNI\n"); /* Este es un comentario */
system("PAUSE");
#include <stdio.h>
#include es lo que se llama una directiva (las directivas son
rdenes que le damos al compilador). Sirve para indicar al compilador
que debe incluir un archivo. Cuando en compilador se encuentra con esta
directiva la sustituye por el archivo indicado. En este caso es el
archivo stdio.h que es donde est definida la funcin printf, que veremos
luego.
stdio.h, significa
"standard
input-output
header"
(cabecera estndar E/S), es una librera estndar del lenguaje de
programacin C que contiene entre otras cosas funciones para
operaciones de entrada y salida.
main()
{}
Son las llaves que indican el comienzo y el fin de una funcin (en
este caso la funcin main).
printf("FIEE-UNI\n");
/* Comentario */
system("PAUSE")
#include <stdio.h>
main() {
printf("FIEE\nUNI\n"); /* Este es un comentario */
system("PAUSE");
}
Secuencias
de
escape
Una secuencia de escape es un caracter de control (realiza una determinada accin, pero
no imprime nada). Est formada por la barra invertida (\) y un carcter. Las secuencias de
escape ms utilizadas son:
\n nueva lnea
\t tabulador horizontal
Biblioteca o Librera en C
La biblioteca estndar de C (tambin conocida como libc) es una recopilacin de ficheros
cabecera y bibliotecas con rutinas, estandarizadas por un comit de la Organizacin
Internacional para la Estandarizacin (ISO), que implementan operaciones comunes, tales
como las de entrada y salida o el manejo de cadenas.
Existen una gran cantidad de libreras, la mayora son de libre uso:
#include <stdio.h>
main() {
printf("FIEE\tUNI\n"); /* Este es un comentario */
printf("Lima\tPeru\n");
system("PAUSE");
}
TIPOS DE DATOS
El primer objetivo de un programa informtico es el manejo de datos. Un dato es toda aquella
informacin que se puede tratar en un programa. Existen datos de entrada y datos de salida.
Para ingresar un dato al programa requerimos saber previamente cual ser el tamao de este. Con
dicha informacin se escoge uno de los diversos tipos de datos que soporta el lenguaje de
programacin, con el fin de asegurar que dicho dato ser almacenado completamente en el
programa.
El Tipo de Datos, determina el tamao que ocupar dicha informacin en la memoria del
computador.
Hay dos clases de tipos de datos:
String o Cadenas
Array o Arreglos
etc.
VARIABLES
Una variable es un identificador para referenciar a un dato dentro del programa.
Dependiendo del tipo de dato que sea dicha variable, ocupar 1 byte (char), 2 byte (short),
4 bytes (int), etc.
A las variables no se les puede dar cualquier nombre. Se puede emplear las letras (a a la
z; la no se utiliza), nmeros y el smbolo '_'. Ejemplos de nombres vlidos:
camiones
numero
buffer
a1
j10hola29
num_alumnos
Los nombres de las variables no pueden tener signos de admiracin, ni de interrogacin. El
nombre de una variable puede contener nmeros, pero su primer carcter no puede
serlo. Ejemplos de nombres no vlidos:
1abc
nombre?
num/alumnos
Tampoco valen como nombres de variable las palabras reservadas que usa el compilador.
Por ejemplo: for, main, do, while.
Declaracin de Variables
#include <stdio.h>
int x;
main() {
}
#include <stdio.h>
main() {
int x;
}
Las variables de tipo char sirven para almacenar nmeros que representan a
caracteres.
Este tipo de variable utiliza 1 byte y puede almacenar nmeros desde -128
a +127.
Los caracteres se almacenan como nmeros. Estos nmeros son el cdigo
ASCII del caracter.
char letra;
Para imprimir en pantalla una variable char debemos emplear: %c, una por
cada variable que queremos imprimir.
#include <stdio.h>
main() {
char letra='U';
printf( "El letra es: %c\n", letra );
system("PAUSE");
}
Ejemplo 03: Programa que imprime en pantalla el valor de una variable tipo char y
luego el valor ASCII de dicha variable.
#include <stdio.h>
main() {
char letra='U';
printf( "El letra es: %c\n", letra );
Ejemplo 04: Programa que imprime en pantalla el valor de una variable tipo char y su
correspondiente cdigo ACSII, luego incrementa el valor de dicha variable e imprime en
pantalla nuevamente la variable con su correspondiente cdigo ASCII.
#include <stdio.h>
main() {
char letra='A';
printf("La letra es %c y su valor ASCII es %i\n", letra, letra);
letra = letra + 1;
printf("Ahora es %c y su valor ASCII es %i\n", letra, letra);
system("PAUSE");
}
Esto hace que declaremos una variable llamada num1 que va a contener un nmero
entero.
Para imprimir en pantalla una variable entera debemos emplear %i, una por
cada variable que queremos imprimir.
#include <stdio.h>
main() {
int x=10;
int y=20,z=30;
printf( "%i\n", x);
printf( "%i\n", y);
printf( "%i\n", z);
/*otra forma es:*/
printf( "%i\n%i\n%i\n",x,y,z);
system("PAUSE");
}
#include <stdio.h>
main() {
int x=10;
int y=20,z=30;
printf( "El valor de x es: %i\n", x);
printf( "El valor de y es: %i\n", y);
printf( "El valor de z es: %i\n", z);
/*otra forma es:*/
printf( "El valor de x es: %i\nEl valor de y es: %i\nEl valor de z es: %i\n",x,y,z);
system("PAUSE");
}
Ejemplo 07: Programa que imprime en pantalla el valor inicial de una variable entera y luego
dicha variable es incrementada en 1 para nuevamente ser impresa en pantalla.
#include <stdio.h>
main() {
int x=10;
printf( "El valor inicial de x es %i\n", x );
x=x+1;
printf( "Ahora el valor es %i\n", x );
system("PAUSE");
}
Ejercicio 02: Elabore un programa que permita sumar, restar y multiplicar dos variables. Debe
crear tres variables: suma, resta y producto. Los resultados deben ser mostrados igual que el
grfico siguiente:
Modificador Unsigned
Este modificador (que significa sin signo) modifica el rango de valores que puede contener
una variable. Slo admite valores positivos. Ejemplo:
#include <stdio.h>
main() {
char caracter1=-1;
printf( "El valor de caracter1 es %i\n", caracter1 );
unsigned char caracter2=-1;
printf( "El valor de caracter2 es %i\n", caracter2 );
system("PAUSE");
}
Observar que para la impresin en pantalla de las dos variables estamos empleando %i
expresa
la
computadora
los
nmeros
Ejemplo 09: Programa que imprime en pantalla el valor de una variable tipo float en
notacin decimal y notacin exponencial.
#include <stdio.h>
main() {
float num=512.56;
printf( "El valor de num es: %f\n", num );
system("PAUSE");
printf( "El valor de num es: %e\n", num );
system("PAUSE");
}
Para imprimir una variable tipo double se usa los mismos modificadores que
en float.
Ejemplo 10: En el siguiente programa veremos que ocurre cuando combinamos
diversos tipos de datos.
#include <stdio.h>
main() {
int x=5,y;
double b=32.67345;
y=x+b;
printf("El valor es %i\n", y);
system("PAUSE");
#include <stdio.h>
main() {
int x=5;
double y;
double b=32.67345;
y=x+b;
printf("El valor es %f\n", x+b);
system("PAUSE");
}
#include <stdio.h>
main() {
double a=32.67385;
printf("El valor es %.3f\n", a);
system("PAUSE");
}
#include <stdio.h>
main() {
printf( "El tipo char ocupa %i bytes\n", sizeof(char) );
printf( "El tipo short ocupa %i bytes\n", sizeof(short) );
printf( "El tipo int ocupa %i bytes\n", sizeof(int) );
printf( "El tipo long ocupa %i bytes\n", sizeof(long) );
printf( "El tipo float ocupa %i bytes\n", sizeof(float) );
printf( "El tipo double ocupa %i bytes\n", sizeof(double) );
system("PAUSE");
}
Ir a...
Elegir...