Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lenguaje ensamblkador y
Lenguaje de bajo nivel
maquina
Lista de instrucciones
básicas y fáciles de leer y
Lenguaje ensamblador
fáciles de convertir en 0's
y 1's
Lenguajes de
programación
Lenguaje que se entiende
directamente con la
Lenguaje maquina
unidad de procesamiento
(lenguaje binario)
Fáciles de leer y
entender, usan palabras
Lenguaje de alto nivel
y símbolos
lógicos significativos
Tipos de lenguajes de programación
Lenguajes compilados (C, C++, Erlang, Haskell, Rust y Go.)
• Los lenguajes compilados son convertidos directamente a código máquina que el procesador puede ejecutar. Como
resultado, suelen ser más rápidos y más eficientes al ejecutarse en comparación con los lenguajes interpretados.
También le dan al desarrollador más control sobre aspectos del hardware, como la gestión de memoria y el uso del
CPU.
• Los lenguajes compilados necesitan un paso de compilación (build) - primero necesitan compilarse manualmente.
Necesitas "recompilar" el programa cada vez que necesites hacer un cambio.
Lenguajes interpretados (PHP, Ruby, Python y JavaScript.)
• Estos lenguajes ejecutan línea por línea el programa y a la vez ejecutan cada comando, el traductor puede decirte ese
cambio a medida que sucede.
• Los lenguajes interpretados alguna vez fueron significativamente más lentos que los lenguajes compilados. Pero, con
el desarrollo de la compilación justo a tiempo, esa diferencia se está reduciendo.
La Programación Orientada a Objetos (POO) es un modelo o un estilo de programación que nos da unas guías sobre
cómo trabajar con él. Se basa en el concepto de clases y objetos. Este tipo de programación se utiliza para estructurar un
programa de software en piezas simples y reutilizables de planos de código (clases) para crear instancias individuales de
objetos.
• Clases, objetos e instancias, encapsulación, abstracción, herencia, polimorfismo.
• La programación imperativa es un estilo de programación en el
que los programas están formados por instrucciones que
especifican cómo se ha de calcular el resultado.
Tipos de • La programación funcional/declarativa es un estilo de
programación programación cuyo método básico de computación es la
aplicación de funciones a sus argumentos.
Compilador
• Compilar es el proceso de transformar un programa informático escrito en un lenguaje en un conjunto de instrucciones en otro
formato o lenguaje que pueda entender la máquina.
• El compilador toma el código de fuente escrito en algún lenguaje de programación, lo traduce entero a código de máquina, y
luego lo guarda en un archivo ejecutable.
• La traducción la realiza de una sola vez, y al mismo tiempo se encarga de detectar errores. Si existen errores en el código, el
programa no compilará y en vez de eso se mostrarán mensajes indicando que errores hay en el programa para poder corregirlos y
volver a pedir al compilador que haga la traducción del código.
• Una vez que el programa compila y genera el archivo ejecutable se va a poder correr el programa sobre la plataforma para la cual
se programó.
• En términos informáticos esto quiere decir que el compilador genera un archivo ejecutable que solo sirve para la plataforma sobre
la cual se hizo el programa. Si quisiera que el programa se ejecutara sobre otra plataforma tendría que encargarme de compilarlo
nuevamente, pero esta vez para esa plataforma.
Interprete
• El compilador traduce todo el programa de una sola vez y genera un archivo ejecutable
mientras que el intérprete es un programa que reside en memoria y va traduciendo el
programa a medida que se vaya necesitando, lo que quiere decir que este intérprete no
genera ningún archivo ejecutable, y por tanto el mismo seguirá cargado en memoria
hasta que finalice el programa.
Editor
Un editor de código fuente es un editor de texto diseñado
específicamente para editar el código fuente de programas
informáticos
Librerías
Las librerías de programación son conjuntos de archivos de
código que se utilizan para desarrollar software. Su objetivo es
facilitar la programación, al proporcionar funcionalidades
comunes, que ya han sido resueltas previamente por otros
programadores.
Ejercicio
//mi segundo hola mundo en C
#include <conio.h>
#include <stdio.h>
//mi primer hola mundo en C
int main() {
//stdio.h (stdio, Standard Input/Output)
#include <stdio.h> printf( "Hola mundo." );
int main() /*permite realizar una "pausa"y se debe incluir
{
printf( "Hola mundo." ); el archivo de cabecera conio.h.*/
} getch(); /* Pausa */
return 0;
}
auto else return volatile
break enum short While
Palabras const
continue
for
goto
Static
struct
reservadas Default
Do
if
int long
switch
typedef
Nota
C es un lenguaje sensible al contexto, diferencia entre mayúsculas y
minúsculas, y por tanto, diferencia entre una palabra escrita total o
parcialmente en mayúsculas y otra escrita completamente en minúsculas.
Tipos de datos
float a;
int b,c;
char caracter, otro_caracter;
unsigned char a;
long double b;
short int i;
Rango de las
diferentes variables
Modificadores de acceso
int a;
int a 0
RAM
int a 0 @62FE1C
RAM
Se le asigna el tipo
de variable que será
int a; de mucha importancia
para saber el tamaño
de la RAM asignada.
4 Bytes
int
RAM
int a;
int = 4 Bytes
4 Bytes
int a 0 @1ED160
&a = @1ED160
RAM
19
Declaración de variables
Referencia
RAM
20
Declaración de variables
Referencia
@62FE1D
@62FE1E
@62FE1F
.
RAM -Datos
21
Declaración de variables
Referencia
@62FE1F
.
RAM -Datos
22
Declaración de variables
Referencia
RAM -Datos
23
Declaración de variables
Referencia
@000000
. Obviamente 10 no se puede
representar en un solo digito de
. Hexadecimal, es por ello que solo se
pone el 0 y se acarrea un 1 para
sumarlo al siguiente digito y en ese
espacio se pone un 0
@62FE1C
@62FE1D
@62FE1E
@62FE1F
.
RAM -Datos
24
Declaración de variables
Referencia
. 1
62FE1C
. +
4
_________
62FE10
@62FE1D 62FE20
@62FE1E
@62FE1F
.
RAM -Datos
25
Declaración de variables
Referencia
@62FE1D
@62FE1E
@62FE1F
.
RAM -Datos
26
Declaración de variables
Referencia
. 62FE1B
- B + 7 = 11 + 7 = 4
. 7
_________
@62FE1B
@62FE1C
@62FE1D
@62FE1E
@62FE1F
.
RAM -Datos
27
Declaración de variables
Referencia
@62FE14 62FE1B
- B + 7 = 11 + 7 = 4
. 7 El resultado seria
_________
. 62FE14
@62FE1B
@62FE1C
@62FE1D
@62FE1E
@62FE1F
.
RAM -Datos
28
Declaración de variables
int a 0 @1ED160
&a = @1ED160
@1ED161
@1ED162
@1ED163
RAM
29
Declaración de variables
Declaración de apuntadores en C
int *a1 ;
30
Declaración de apuntadores
int *a1 ;
31
Declaración de apuntadores
Supongamos que tenemos declarado en nuestro
programa una variable y un apuntador.
Sabemos que los enteros tienen 4 Bytes de int *ap1 NULL @62FE10
espacio, pero cómo saberlo y más aún
int var 60 @62FE1C
cuantos Bytes tiene un apuntador y
porque???
Para saber este dato en C contamos con
la función sizeof()
32
Declaración de apuntadores
Con las nuevas incorporaciones veamos los
resultados que nos arroja el programa.
33
Constantes
Racionales y Lógicos
Nota
C no diferencia
la asignación de cualquier
otro operador del lenguaje. Para C,
la asignación es un operador, el
llamado operador asignación (=)
Ejemplo operadores
/* Uso de las variables */
/* Uso de las variables */
#include <stdio.h>
#include <stdio.h>
main() /* Suma dos valores */
{ main() /* Suma dos valores */
{
if (algo){ int num1=4,num2,num3=6;
printf("El valor de num1 es %d",num1);
int num1=4,num2,num3=6; printf("\nEl valor de num3 es %d",num3);
num2=num1+num3;
printf("El valor de num1 es %d",num1); printf("\nnum1 + num3 = %d",num2);
printf("\nEl valor de num3 es %d",num3); }
num2=num1+num3;
printf("\nnum1 + num3 = %d",num2);
}
}
Inicio
Int numero
Int numero 2
Int resultado
Resultado=numero+numero2
Suma numero y numero 2
Guarda resultado de suma en resultado
Printf(resultado)
Muestra resultado
fin
Ejemplo operadores
#include <stdio.h>
int main(){
int edad;
printf("Escriba su edad: ");
scanf("%d", &edad);
if (edad >= 18){
printf("Ya puedes votar");
}
else{
printf("No puedes votar");
}
}
Condicional IF
Los operadores lógicos son Y, O, y NO (AND, OR y NOT). En lenguaje C
se utilizan estos símbolos: &&, || y !
#include "stdio.h"
int main(){
float compra, descuento, total;
printf("Monto de la compra: ");
scanf("%f",&compra);
if (compra < 500){
descuento = 0;
}
if (compra >= 500 && compra < 1000){
descuento= compra * .10;
}
if (compra >= 1000 && compra < 2000){
descuento = compra * .20;
}
if (compra >= 2000){
descuento = compra * .30;
}
total = compra - descuento;
printf("Su descuento es: %.2f", descuento);
printf("\nEl total a pagar es: %.2f", total);
}
Condicional Swich-case
Instrucción 1;
Instrucción 2;
Instrucción n;
}
Sentencias de control FOR
• Ejercicios:
• Tabla de multiplicar del 8
• Listado del 1 al 200
• Listado del 200 al 1
Sentencias de control FOR anidado
Int VAR;
Int VAR2;
Para (VAR = Vi; VAR<Vf; VAR++ ) hacer {
Para (VAR2 = Vji; VAR2<Vjf; VAR2++ ) hacer {
Instruccines …..
}
Sentencias de control FOR anidado
Ejercicios:
Tablas de multiplocar