Bueno gente, vamos a ir a lo básico, programar en C es muy similar a Java y otros lenguajes, es sencillo, solo hay que practicar y escribir bien el algoritmo respetando los parámetros. Antes que nada vamos a definir un par de conceptos basicos:
Algoritmo:
Un algoritmo es una secuencia de instrucciones que permiten obtener un resultado en particular. Es un método para resolver un problema mediante una serie de pasos: precisos, definidos y finitos.
Programación estructurada:
La programación estructurada sigue 3 reglas:
– secuencia: indica que las instrucciones del código se leerán de principio a fin
– iteración: según cierta condición, un número de instrucciones podrían repetirse un número
determinado de veces
– decisión: indica que según unas ciertas condiciones se ejecutarán o no un conjunto de
instrucciones.
Se utiliza la indentación que indica cuales instrucciones son englobadas dentro de otras.
Un ejemplo de como iría un código estructurado:
mientras haya platos
tomar plato
mientras haya suciedad
echar jabón
pasar el paño por el plato
si plato es azul
ponerlo con los azules
En código no estructurado, quedaría algo más “complicado”:
1 tomar plato
2 echar jabón
3 pasar el paño por el plato
4 si hay suciedad ir a la instrucción 2
5 si el plato no es azul ir a la instrucción 7
6 ponerlo con los azules
7 si hay más platos ir a la instrucción 1
Diagrama de flujo:
Permite entender de forma más sencilla un algoritmo, es el lenguaje que utilizamos para crear algoritmos de manera clara. Se pueden representar mediante un diagrama de flujo (representación gráfica de un algoritmo); en el diagrama se pueden observar claramente las ideas principales y los pasos a seguir, es transferible a cualquier lenguaje de programación. Ejemplo de pseudocódigo y diagrama de flujo para una sentencia selectiva (condicional):
Si calificación del estudiante es mayor o igual a 6
mostrar “aprobado”
sino
mostrar “reprobado”
Estructuras:
Ahora vamos con las estructuras, tenemos las condicionales, secuenciales y selectivas:
Estructuras secuenciales:
instrucción 1
instrucción 2
instrucción 3
....
instrucción n
Estructuras selectivas (condicionales):
Las instrucciones selectivas representan instrucciones que pueden o no ejecutarse, según el cumplimiento de una condición.
Hay tres tipos principales:
– selección simple (if)
– selección doble (if ...else)
– selección múltiple (switch)
Selectiva o condicional doble (if... else):
Se realizan acciones diferentes según si la condición es verdadera o falsa.
Si (if) condición entonces
instrucción 1
sino entonces (else)
instrucción 2
fin si
Ahora vamos a un ejemplo:
Si calificación del estudiante es mayor o igual que 6
mostrar “aprobado”
sino
mostrar reprobado
Otro ejemplo: if...else anidadas:
Supongamos que la calificación es de la categoría:
– A si es >= 9
– B si es >=8
– C si es >=7
– D si es >=6
– F para todos los demás casos
Entonces así quedaría el pseudocódigo:
si calificación del estudiante es mayor o igual a 9
mostrar “A”
si no entonces
si calificación del estudiante es mayor o igual a 8
sino entonces
si calificación del estudiante es mayor o igual a 7
mostrar “C”
sino entonces
si calificación del estudiante es mayor o igual a 6
mostrar “D”
sino entonces
mostrar “F”
Selectiva múltiples casos: instrucción de selección múltiple Switch...case
Seleccionar indicador
caso valor 1
instrucciones 1
caso valor 2
instrucciones 2
caso valor 3
instrucciones 3
.....
en otro caso
instrucciones n
fin seleccionar
Instrucciones iterativas (repetitivas)
Representan la ejecución de instrucciones en más de una vez.
Hay 3 tipos:
– instrucción de repetición while
– instrucción de repetición do...while
– instrucción der repetición for
Bucle mientras (instrucción repetitiva while): si la condición es falsa no se ejecuta ninguna vez la instrucción/es del bucle while. Mientras la condición es verdadera se realiza la acción:
mietras (while) condición hacer
instrucción
fin mientras
Bucle para: instrucción de repetición for
Se usa cuando se desea iterar un número conocido de veces, empleando un índice de variable que se incrementa o decrementa.
Para i <-------- x hasta n hacer
instrucción
fin para
Ejemplo:
Supongamos que quiero mostrar los números desde el 1 hasta el 10, supongo una variable llamada a, la cual parte del valor 1, a esta variable se le incrementa 1 hasta llegar al número 10:
Un ejemplo del for (para);
la variable "a" se utiliza como contadora de los sucesos o iteraciones que realizara la estructura, con un tope de 19 iteraciones, y el a++ para el incremento.
for (a=0;a<19;a++)
Tipos de variables:
En C, como cualquier otro lenguaje de programación, tiene posibilidad de trabajar con datos de distinta naturaleza: texto formado por caracteres alfanuméricos, números enteros, números reales con parte entera y parte fraccionaria, etc.
Tipo Bits Rango
char 8 0 a 255
int 16 -32.768 a 32.767
float 32 3,4 E -38 a 3,4 E +38
double 64 1,7 E -308 a 1,7 E +308
void 0 sin valor
Enteros (int): Se usan para representar números enteros. Los tipos de datos enteros son: short, int, long y long long.
Flotantes (float): Se denomina flotantes a los tipos de datos que representan a los números reales.
El tipo de dato flotante en lenguaje C sólo tiene dos tamaños: el float y el double, que son 4 bytes y 8 bytes respectivamente. Se los puede utilizar tanto para representar números decimales, como para representar números enteros con un orden de magnitud muy grande.
Caracteres: (char): Este tipo se utiliza para representar los 255 caracteres de la tabla de caracteres del sistema. El tipo char es también un tipo entero, ya que puede tomar valores de 0 a 255.
El void se usa para declarar funciones que no devuelven ningún valor o para declarar funciones sin parámetros.
Modificadores de tipos
unsigned
signed
long
short
Los modificadores signed, unsigned, long y short se pueden aplicar a los tipos base entero y carácter. Sin embargo, long también se puede aplicar a double.
Variables
A las variables se les asigna un nombre identificador es un nombre simbólico que se refiere a un dato o programa determinado.
Un ejemplo: queremos sumar dos números. Nuestro programa tendrá que tener tres cajones: Uno para cada número y otro para el resultado. Cada cajón tiene un nombre en vez de una posición de memoria, de manera que sólo hay que nombrarlo:
Necesito cajones A, B y Resultado
Lee un número y guárdalo en A
Lee un número y guárdalo en B
Suma A y B y guárdalo en Resultado
Imprime el contenido de Resultado
Las posiciones de memoria A y B son variables.
Las variables pueden cambiar de valor a lo largo de la ejecución de un programa, o bien en ejecuciones distintas de un mismo programa.
Constantes
Además de variables, un programa utiliza también constantes, es decir, valores que siempre son los mismos.
Un ejemplo típico es el número π, que vale 3.141592654. Este valor, con más o menos cifras significativas, puede aparecer muchas veces en las sentencias de un programa. En C existen distintos tipos de constantes:
Constantes numéricas. Son valores numéricos, enteros o de punto flotante.
Constantes caracteres. Cualquier carácter individual encerrado entre apóstrofos (tal como 'a', 'Y', ')', '+', etc.) es considerado por C como una constante carácter, o en realidad como un número entero pequeño (entre 0 y 255, o entre -128 y 127, según los sistemas). Existe un código, llamado código ASCII, que establece una equivalencia entre cada carácter y un valor numérico correspondiente. Cadenas de caracteres. Un conjunto de caracteres alfanuméricos encerrados entre comillas es también un tipo de constante del lenguaje C, como por ejemplo: "espacio". Constantes simbólicas. Las constantes simbólicas tienen un nombre (identificador) y en esto se
parecen a las variables. Sin embargo, no pueden cambiar de valor a lo largo de la ejecución del programa.
Operadores:
Los operadores son signos especiales –a veces, conjuntos de dos caracteres– que indican determinadas operaciones a realizar con las variables y/o constantes sobre las que actúan en el programa.
En C hay tres clases de operadores: aritméticos, relacionales y lógicos, y a nivel de bits.
Aritmeticos
- resta
+ suma
* producto
/ división
% módulo (resto de la división entera)
-- decrementar
++ incrementar
x=10; x=10;
y=++x; y=x++;
y=11 y=10
Relacionales
En C cierto es cualquier valor distinto de cero. Falso es cero.
> mayor que
>= mayor o igual que
< menor que
<= menor o igual que
== igual
!= distinto
Lógicos
&& y
|| o
! no
Nota:
Toda esta información fue extraída de libros y apuntes de la carrera que estudio, en la segunda parte explicare ya codificando las instrucciones con elaboración de programas sencillos! en consola de linux! espero que les allá ayudado!

