Fundamentos de
programación
Conceptos básicos
By Adolfo Jiménez
2018
UNA - PUNO
Etapas para la creación de un
programa
Definición del problema
Análisis del problema
Diseño y técnicas para la formulación de un algoritmo
Diagrama de flujo
Etapas para la creación de un
programa (cont…)
Pseudocódigo
Etapas para la creación de un
programa (cont…)
Codificación
Prueba y depuración
Documentación
Interna y externa
Mantenimiento
Estructura de un programa
Básicamente consiste de las siguientes partes:
Caracteres especiales
\0 Fin de cadena
\n Nueva línea
\t Tabulado
\b Retroceso
\r Retorno de carro
\f Salto de página
\’ Apóstrofe
\” Comillas
\a Audio de alerta
Datos y operaciones básicas
Identificador
Comenzar con una letra, guión bajo. Sin espacios en blanco
Tipos de datos
Datos y operaciones básicas (cont…)
Variables
Una variable es un dato cuyo valor puede cambiar durante el desarrollo del
algoritmo o ejecución del programa.
Ejemplo: int x, y, z;
Reserva de memoria
Cuando se declara una variable se reserva un espacio de memoria.
Int i = 9; float x = 5.6;
Constantes
Permanece sin cambio durante el desarrollo del algoritmo.
#define PI 3.1415 const int valor = 34;
Operaciones aritméticas
Incremento y decremento
Operadores relacionales
Operadores relacionales
Ejemplos:
Operadores lógicos
Operadores de asignación
Otros operadores de asignación
Operadores bit a bit
AND OR XOR
Ejemplo: A & B = 0000 1100
Si A = 60 y B = 13 ; A | B = 0011 1101
el binario de cada uno de ellos es: A ^ B = 0011 0001
A = 0011 1100 ~A = 1100 0011
B = 0000 1101
Operadores bit a bit (cont…)
Ejemplo:
Operadores de dirección
* Operador de Me da el valor que
indirección está almacenado
en una dirección
de memoria
& Operador de Me da la dirección
dirección de memoria de
una variable
Operador condicional (?:)
Sustituye la sentencia IF – ELSE.
Prioridad de los operadores aritméticos
Paréntesis ( ). Todas las expresiones entre paréntesis se evalúan primero. Las
expresiones con paréntesis anidados se evalúan de dentro hacia afuera.
Dentro de una misma expresión o subexpresión, se evalúan en el siguiente
orden:
Potencia (^ o **)
* , / , mod
+, -
Regla asociativa
Los operadores de asignación tienen menor prioridad que todos los otros
operadores. Por tanto las operaciones monarios, aritméticos, de relación,
de igualdad y lógicos se realizan antes que las de asignación
Regla asociativa
Expresiones
Una expresión es el resultado de unir operandos mediante operadores. Los
operandos pueden ser variables, constantes u otras expresiones; y los
operadores, aritméticos, lógicos o relacionales. El resultado de una
expresión es un dato numérico o un valor lógico. Para agrupar las
expresiones utilizamos los paréntesis.
Según el tipo de datos que manipulan, se clasifican en:
Aritméticas.
Lógicas o booleanas.
Escritura de fórmulas matemáticas
Palabras reservadas
Palabras reservadas
Comentarios
Los comentarios son útiles para identificar los elementos principales de un
programa o explicar la lógica derivada de éstos. Deben ser breves y se
deben evitar ambigüedades.
Conversión de tipos
Cuando se evalúa una expresión aritmética que contiene diferentes tipos
de datos, el compilador convierte todos ellos a un tipo único. Estas
conversiones pueden aumentar o disminuir la precisión del tipo al que se
convierten los elementos de la expresión. La conversión se hace operación
a operación y se lleva a cabo según el tipo que esté más a la derecha de
la siguiente relación:
Conversión de tipos
i * c es un int, ya que el tipo int está a la derecha
del tipo char en nuestra relación.
i % l es un long, el tipo long está a la derecha del
tipo int en nuestra relación.
d / f es un double, ya que el tipo double está a la
derecha del tipo float.
Evaluamos de nuevo de izquierda a derecha y
queda de la siguiente forma:
long - double + float = double + float = double
Conversión forzada de tipos
Además de la conversión automática, el lenguaje C ofrece la posibilidad
de forzar la conversión de un tipo de datos en otro tipo diferente. Esta
conversión forzada es conocida como “casts”:
(tipo) expresión
Operador sizeof
sizeof proporciona la cantidad de memoria ocupada por los elementos de
datos, sizeof indica el número de bytes utilizado por cualquier variable
particular en un determinado compilador.
Cont…