Este documento proporciona una introducción a los conceptos básicos de la programación, incluyendo:
1) Define lenguaje de programación, algoritmo, programa, variables, tipos de datos, operadores y fases de creación de un programa.
2) Explica los tipos de datos como numéricos, alfanuméricos, lógicos y sus características. También cubre operadores relacionales, aritméticos, alfanuméricos y lógicos.
3) Describe la definición, declaración y tipos de variables y constant
2. Lenguaje
Sistema para la comunicación de
conceptos que utiliza sonidos
hablados o representados con un
sistema de símbolos.
Usualmente está estructurado con
gramática y un sistema de escritura
como un alfabeto o silabario.
Mtro. José Antonio Rubio González
3. Lenguaje de programación
Conjunto de reglas sintácticas y
semánticas que por medio de
sentencias permiten al programador
resolver problemáticas con la
computadora.
Mtro. José Antonio Rubio González
4. Algoritmo
Conjunto de pasos a seguir para resolver un
problema.
Características:
Precisión – pasos claros y precisos
Determinismo - siempre debe arrojar los mismos
resultados ante las mismas entradas.
Finitud – longitud finita
Mtro. José Antonio Rubio González
5. Ejemplo algoritmo cotidiano
Cambiar una llanta
1. Inicio.
2. Traer gato.
3. Levantar el coche con el gato.
4. Aflojar tornillos de las llantas.
5. Sacar los tornillos de las llantas.
6. Quitar la llanta.
7. Poner la llanta de repuesto.
8. Poner los tornillos.
9. Apretar los tornillos.
10. Bajar el gato.
11. Fin
Mtro. José Antonio Rubio González
6. Ejemplo
Algoritmo para el calculo del
promedio de 3 valores enteros
dados.
1. Pedir 3 valores enteros
2. Obtener 3 valores enteros
3. Sumar los 3 valores enteros
4. Dividir la suma / 3
5. Presentar el promedio
Mtro. José Antonio Rubio González
7. Programa
Conjunto de instrucciones codificadas en
un lenguaje específico, que ejecuta la
computadora para llegar a un fin u
obtener un resultado
Mtro. José Antonio Rubio González
8. Fases de creación de un programa
Definir problema
Análisis del problema
Diseño del algoritmo
Codificación
Prueba y depuración
Documentación
Mantenimiento
Mtro. José Antonio Rubio González
9. Definición del problema
Esta fase está dada por el
enunciado del problema, el cual
requiere una definición clara y
precisa. Es importante que se
entienda perfectamente lo que
desea que realice la computadora;
para poder continuar con la siguiente
etapa.
Mtro. José Antonio Rubio González
10. Análisis del problema
Una vez que se ha comprendido lo que se
desea que la computadora haga, la etapa
de análisis es muy importante ya que en
este se identifican tres factores
indispensables:
Que información se necesita para obtener
el resultado deseado (datos de entrada)
Que información que se desea producir
(datos de salida)
Los métodos y fórmulas que se necesitan
para procesar los datos y producir esa
salida
Mtro. José Antonio Rubio González
11. Diseño del algoritmo
La etapa de diseño se centra en
desarrollar el algoritmo basándonos
en las especificaciones de la etapa
del análisis, un algoritmo lo
podemos representar mediante el
diagrama de flujo o el
pseudocódigo.
Mtro. José Antonio Rubio González
12. Codificación
En la etapa de codificación se transcribe
el pseudocódigo definido en la etapa de
diseño en código de un lenguaje de
programación, es decir un programa
reconocido por la computadora, a este
código se le conoce como código fuente.
Por ejemplo el lenguaje “C” es un
lenguaje de programación y es el que
utilizaremos en el presente curso.
Mtro. José Antonio Rubio González
13. Prueba y depuración
Los errores humanos dentro de la programación de
computadoras son muchos y aumentan considerablemente con la
complejidad del problema. El proceso de identificar y eliminar
errores, para dar paso a una solución sin errores se le llama
depuración.
Existen dos tipos: la pruebas de sintaxis y las pruebas de lógica.
Las pruebas de sintaxis se ejecutan primero y son las mas
sencillas, esta prueba la realiza el compilador del programa cada
vez que se ejecuta el programa hasta que el código no presente
errores es decir que la sintaxis que requiere el lenguaje sea la
correcta, de lo contrario el propio compilador te va mostrando los
errores encontrados para que los modifiques y se pueda ejecutar
el código, estos errores pueden ser falta de paréntesis, o puntos
y comas o palabras reservadas mal escritas.
Las pruebas de lógica son las más complicadas ya que estas la
realiza el programador, consiste en la captura de diferentes
valores, y revisar que el resultado sea el deseado, es decir el
programador tendría que modificar el código hasta que el
programa funciones correctamente.
Mtro. José Antonio Rubio González
14. Documentación
Es la guía o comunicación escrita es sus variadas
formas, ya sea en enunciados, procedimientos,
dibujos o diagramas.
A menudo un programa escrito por una persona, es
usado por otra. Por ello la documentación sirve para
ayudar a comprender o usar un programa o para
facilitar futuras modificaciones (mantenimiento).
Tipos de documentación
Interna: Es aquella que se crea en el mismo código,
puede ser mediante comentarios.
Externa: Es aquella que se escribe en manuales,
totalmente ajena a la aplicación en si. También
puede ser la ayuda en el mismo software.
Mtro. José Antonio Rubio González
15. Mantenimiento
Se lleva acabo después de terminado el
programa, cuando se detecta que es
necesario hacer algún cambio, ajuste o
complementación al programa para que
siga trabajando de manera correcta. Para
poder realizar este trabajo se requiere
que el programa este correctamente
documentado. Todos los programas
tienen actualizaciones, por lo que surgen
versiones diferentes.
Mtro. José Antonio Rubio González
16. LOS DATOS Y LAS
OPERACIONES BÁSICAS
Mtro. José Antonio Rubio González
17. Identificador
Los identificadores son nombres que se utilizan para nombrar las
constantes, variables, funciones y otros objetos definidos por el
programador.
Un identificador es una secuencia de caracteres que pueden ser de
cualquier longitud, cada lenguaje de programación tiene sus propias
características de tamaño.
El programador tiene libertad para darle cualquier nombre a un
identificador, siguiendo las siguientes reglas :
– Debe comenzar con una letra (A a Z) mayúsculas o minúsculas y no puede contener
espacios en blancos. En lenguaje C el carácter subrayado “_” es considero como letra,
por lo que se puede utilizar como primer carácter.
– Lenguaje C distingue mayúsculas de minúsculas.
– Letras dígitos y caracteres subrayados están permitidos después del primer carácter.
– No se puede utilizar una palabra reservada como identificador, sin embargo, los
identificadores estándar se pueden redefinir.
Identificadores válidos:
NOT, year2008, Base_1
Identificadores no válidos:
número, ?precio, año, 2007, 4semestre
Mtro. José Antonio Rubio González
18. Notas importantes:
no se pueden utilizar las palabras reservadas
como identificadores.
El lenguaje C distingue mayúsculas y
minúsculas en los caracteres.
Mtro. José Antonio Rubio González
20. NUMÉRICOS
Almacenan números y con ellos
podemos realizar operaciones
aritméticas. A su vez, pueden ser:
– ENTEROS: son todos los números
positivos o negativos. Ejemplo: 123, -
761, 0, -1
– REALES: son todos los números
decimales. Ejemplo: -0.123, 68.9
Mtro. José Antonio Rubio González
21. ALFANUMÉRICOS
Almacenan caracteres alfanuméricos.
Pueden ser:
– LETRAS: A-Z
– CARACTERES ESPECIALES: guiones,
paréntesis, signos de puntuación, etc.
– NÚMEROS: con ellos no se pueden
realizar operaciones aritméticas
– Una mezcla de letras, caracteres
especiales y números
Mtro. José Antonio Rubio González
22. BOOLEANOS O LÓGICOS
Sólo pueden tener dos valores:
verdad o falso. Estos datos no
pueden leerse como datos, pero
pueden imprimirse.
Se forman a partir de los operadores
relacionales y lógicos.
Mtro. José Antonio Rubio González
23. OPERADORES
Todos los símbolos que representan
enlaces entre cada uno de los
argumentos que intervienen en una
operación se llaman operadores, y se
utilizan para construir expresiones.
Pueden ser:
Relacionales o condicionales
Aritméticos
Alfanuméricos
Lógicos
Mtro. José Antonio Rubio González
24. Relacionales o condicionales
Se utilizan para formar expresiones
booleanas, es decir, expresiones
que al ser evaluadas producen un
valor booleano: verdad o falso.
Signo Significado
< Menor que
= Igual
> Mayor que
<= Menor o igual que
>= Mayor o igual que
<> Distinto
Mtro. José Antonio Rubio González
25. Operadores relacionales - Ejemplos
Comparación Resultados
25 <= 25 Verdad
25 <> 25 Falso
25 <> 4 Verdad
«A» < «B» Verdad
«AAAA» > «AA» Verdad
«B» > «AAA» Verdad
«AB» > «AAAA» Verdad
«C» < «c» Verdad
«2» < «12» Falso
Cuando se comparan caracteres alfanuméricos, se hace uno a
uno, de izquierda a derecha. Si las variables son de
diferente longitud, pero exactamente iguales hasta el ultimo
carácter del mas corto, entonces se considera que el mas
corto es el menor. Solo son iguales dos datos alfanuméricos
si son iguales su longitud y sus componentes.
Las letras minúsculas tienen mayor valor que las mayúsculas.
Mtro. José Antonio Rubio González
26. Aritméticos
Para tratar los números se utilizan
los operadores aritméticos, que
junto con las variables numéricas
forman expresiones aritméticas.
Signo Significado
+ Suma Expresión Resultado
- Resta 12*12 144
* Multiplicación 12^2 144
/ División real 123 DIV 4 30
^ Potencia 12 MOD 5 2
DIV División entera
MOD Residuo de la
división
Mtro. José Antonio Rubio González
27. Alfanuméricos
Este operador se utiliza para unir
datos alfanuméricos, esta operación
se llama CONCATENAR.
Signo Significado
+ Concatenación
Expresiones Resultado
«Pseudo» + «código» «Pseudocódigo»
«3» + «.» + «1416» «3.1416»
De igual forma podemos concatenar expresiones del tipo:
A = «Hola, »
B = « ¿Qué tal?»
A + B = «Hola, ¿Qué tal?»
Mtro. José Antonio Rubio González
28. Lógicos o booleanos
Combinan sus operados de acuerdo con las reglas
de algebra de Boole con el fin de producir un nuevo
valor que se convierta en el valor de la expresión
Signo Significado
OR Suma lógica
AND Producto lógico
NOT Negación
OR u O: es un operador binario, afecta a dos operadores.
La expresión que forma es cierta cuando al
menos uno de los dos operandos es cierto. Es el
operador lógico de disyunción.
AND o Y: es un operador binario. La expresión formada
es cierta cuando ambos operandos son ciertos al
mismo tiempo. Es el operador lógico de
conjunción
NOT o NO: es un operador unario. Afecta a la expresión
cambiando su estado lógico; si es verdad lo
transforma en falso; y al revés. Mtro. José Antonio Rubio González
29. Tablas de verdad
p q p&&q p||q
V V V V
V F F V
F V F V
F F F F
Mtro. José Antonio Rubio González
30. Variables
Se considera variable a una zona de
memoria referenciada por un nombre de
variable, donde se puede almacenar el
valor de un dato, que puede cambiarse
cuando lo deseemos.
El nombre de la variable es elegido por el
usuario.
Una variable no es un dato, sino un área
de memoria que contendrá un dato.
Mtro. José Antonio Rubio González
31. Definición de Variables
Para que estén bien definidas las
variables, hay que especificar:
– Su nombre
– El tipo de dato: numérico,
alfanumérico o booleano
– El valor inicial que tomara:
inicialización.
Mtro. José Antonio Rubio González
32. Declaración de variables
Declaración:
tipoDeDato nombre;
Ejemplos válidos:
entero edad; real sueldo; caracter
sexo;
Mtro. José Antonio Rubio González
33. Constantes
Se llama constante a toda posición de
memoria, referenciada por un nombre
de constante, donde se almacena un
valor que no puede cambiarse o
permanece invariable a lo largo del
proceso.
Las constantes pueden ser:
– Enteras
– Reales
– De carácter o alfanuméricas
Mtro. José Antonio Rubio González
34. Declaración de Constantes
Declaración:
#define nomConstante valor
Ejemplos:
#define MAX 100
#define N 25
#define Const 600
Mtro. José Antonio Rubio González
35. Algoritmo
Un algoritmo es la descripción
exacta y sin ambigüedades de la
secuencia de pasos elementales a
aplicar para, a partir de los datos del
problema, encontrar la solución
buscada.
Mtro. José Antonio Rubio González
36. Algoritmo
Todo lo que se ha de hacer debe estar
en forma detallada, paso a paso. A
cada uno de estos pasos en un
algoritmo se le llama sentencia o
instrucción.
Una instrucción es una combinación de
palabras, variables, constantes y
símbolos que obedeciendo a la sintaxis
propia del lenguaje son utilizados para
realizar una determinada acción
Mtro. José Antonio Rubio González
37. Tipos de algoritmos
Entre los distintos tipos de
algoritmos se encuentran:
– Diagramas de flujo u ordinogramas
– Tablas de decisión
– Pseudocódigo
Mtro. José Antonio Rubio González
39. Pseudocódigo
Describe un algoritmo utilizando una
mezcla de frases en lenguaje común,
instrucciones de lenguaje de
programación y palabras claves que
definen las estructuras básicas.
Para la realización del pseudocódigo lo
dividiremos en 3 partes:
– Inicial
– Cuerpo del programa
– Final.
Mtro. José Antonio Rubio González
40. Estructura de un algoritmo
LA ESTRUCTURA DE UN ALGORITMO SIRVE PARA
ORGANIZAR LOS ELEMENTOS QUE APARECEN EN ÉL,
BÁSICAMENTE SE COMPONE DE TRES SECCIONES:
– CABECERA. (DESCRIPCIÓN O NOMBRE DEL ALGORITMO)
– DECLARACIONES.
– CUERPO (INSTRUCCIONES).
DESCRIPCIÓN DEL ALGORITMO
INICIO
DEFINICIÓN DE CONSTANTES
DECLARACIÓN DE VARIABLES
CUERPO DEL ALGORITMO
FIN
Mtro. José Antonio Rubio González
41. Palabras usadas en Pseudocódigo
Pseudocódigo Lenguaje c Descripción
Inicio { Inicio de programa o bloque
Fin } Fin de programa o bloque
Imprimir printf Imprime en pantalla
Leer scanf Lee un dato
Entero int Tipo de dato entero
Real float Tipo de dato real
Carácter char Tipo de dato caracter
Si if Estructura selectiva
Sino else Parte falsa de la estructura selectiva
según_sea switch Estructura selectiva múltiple
caso case Si se cumple el caso
Mtro. José Antonio Rubio González
42. Palabras usadas en Pseudocódigo
Pseudocódigo Lenguaje c Descripción
interrumpir break Interrumpir la ejecución estructura
caso contrario default Ninguna opción de la selectiva múltiple
desde for Estructura repetitiva
mientras while Estructura repetitiva
hacer do Estructura repetitiva
leercad gets Lee una cadena de caracteres
imprimircad puts Imprime una cadena de caracteres
raizcuad sqrt Calcula la raíz cuadrada
abs abs Calcula el valor absoluto
nada void Valor nulo
Mtro. José Antonio Rubio González
43. Palabras usadas en Pseudocódigo
Pseudocódigo Lenguaje c Descripción
regresa return Regresa valor de una función
= Operador de asignación
y && And (y) lógica
O || Or (O) lógica
<> , ≠ != Diferente de
= == Igual que
Mtro. José Antonio Rubio González
44. Ejemplo de un Algoritmo
«Calcular el determinante de una matriz cuadrada 2x2 en la cual
todos los coeficientes son enteros»
𝐴 𝐵
𝐶 𝐷
ANÁLISIS DEL PROBLEMA
Variables de entrada:
Entero A,B,C,D
Variables de salida:
Entero E
Proceso
E= (A*D)-(C*D)
45. Ejemplo de pseudocódigo
principal()
inicio
Imprimir "Calcula el determinante de una matriz 2x2"
Imprimir "dame el valor de A";
Leer A;
Imprimir "dame el valor de B";
Leer B;
Imprimir "dame el valor de C";
Leer C;
Imprimir "dame el valor de D";
Leer D;
E<-(A*D-C*B);
Imprimir "El valor del determinante es ",E;
Fin