¿QUE ES UN LENGUAJE C?








C es un lenguaje de programación de propósito general que ofrece economía sintáctica, control de flujo y estructuras sencillas y un buen conjunto de operadores. Es un lenguaje potente, con un campo de aplicación ilimitado y sobre todo, se aprende rápidamente. Este lenguaje ha sido estrechamente ligado al sistema operativo UNIX, puesto que fueron desarrollados conjuntamente. Sin embargo, este lenguaje no está ligado a ningún sistema operativo ni a ninguna máquina concreta. Se le suele llamar lenguaje de programación de sistemas debido a su utilidad para escribir compiladores y sistemas operativos, aunque de igual forma se pueden desarrollar cualquier tipo de aplicación.


CARACTERISTICAS

El lenguaje C se conoce como un lenguaje compilado.
Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan del código fuente para funcionar (Basic). Los compilados convierten el código fuente en un fichero objeto y éste en un ejecutable. Este es el caso del lenguaje C.

Es un lenguaje de nivel medio, ya que combina elementos de lenguaje de alto nivel con la funcionalidad del lenguaje ensamblador.

Es estructurado, ya que permite crear procedimientos en bloques dentro de otros procedimientos.

Es un lenguaje portable, ya que permite utilizar el mismo código en diferentes equipos y sistemas informáticos: el lenguaje es independiente de la arquitectura de cualquier máquina en particular.



ESTRUCTURA DE UN PROGRAMA EN C

ESTRUCTURA:

Cada función se designa con una cabecera, compuesta por el nombre de la misma y la lista de argumentos (si los hubiese), la declaración de las variables a utilizar y la secuencia de sentencias a ejecutar.
Ejemplo:
directivas
constantes
declaraciones de funciones
declaraciones de variables globales
main( )
{
declaración de variables locales
cuerpo de la función principal
}
funcion_1( )
{
declaración de variables locales
cuerpo de la función_1
}


PALABRAS CLAVE:


Existen una serie de indicadores reservados, con una finalidad determinada, que no podemos utilizar como identificadores.
A continuación vemos algunas de estas palabras clave:

char int float double if
else do while for switch
short long extern static default
continue break register sizeof typedef




LAS VARIABLES:

Son objetos de un programa cuyo contenido podrá ser modificado a lo largo del programa. Una variable sólo puede pertenecer a un tipo de dato. Para poder utilizar una variable, primero tiene que ser declarada:
(tipo) (nombre)

Es posible inicializar y declarar más de una variable del mismo tipo en la misma sentencia:
(tipo) (nombre1),(nombre2),(nombre3),(nombre4)

Ejemplo:

float val;
int num1, num2, num3;


INCLUSIÓN DE FICHEROS:

En la programación en C es posible utilizar funciones que no estén incluidas en el propio programa. Para ello utilizamos la directiva #include, que nos permite añadir librerías o funciones que se encuentran en otros ficheros a nuestro programa.
#include (math.h)
#include (iostream.h)


OPERADORES ARITMÉTICOS:

Existen dos tipos de operadores aritméticos:
Los binarios:
+ Suma
- Resta
* Multiplicación
/ División
% Módulo (resto)
y los unarios:
++ Incremento (suma 1)
-- Decremento (resta 1)
- Cambio de signo



OPERADORES DE ASIGNACIÓN:

La mayoría de los operadores aritméticos binarios tienen su correspondiente operador de asignación:
= Asignación simple
+= Suma
-= Resta
*= Multiplicación
/= División
%= Módulo (resto)

Con estos operadores se pueden escribir, de forma más breve, expresiones del tipo:
n=n+3 se puede escribir n+=3
k=k*(x-2) lo podemos sustituir por k*=x-2

JERARQUÍA DE OPERADORES:


Es importante tener en cuenta la precedencia de los operadores a la hora de trabajar con ellos:
( ) Mayor precedencia
++, --
*, /, %
+, - Menor precendencia

OPERADORES RELACIONALES:


Utilizados para comparar el contenido de dos variables. En C existen seis operadores relacionales básicos:

> Mayor que
<>= Mayor o igual que
<= Menor o igual que == Igual que != Distinto que El resultado que devuelven estos operadores es 1 para Verdadero y 0 para Falso. Si hay más de un operador se evalúan de izquierda a derecha. Además los operadores == y != están por debajo del resto en cuanto al orden de precedencia. OPERADORES LÓGICOS: Los operadores lógicos básicos son tres: && AND OR ! NOT (El valor contrario)

¿QUE ES UN ALGORITMO?


Es un Método para resolver un problema mediante una serie de pasos precisos, definidos y
finitos. Un algoritmo es una serie de operaciones detalladas, en otras palabras un algoritmo es un conjunto de reglas para resolver una cierta clase de problemas y se puede formular de muchas formas con el cuidado de que no exista ambigüedad.

CARACTERÍSTICAS

· Preciso (debe indicar el orden de realización en cada paso y no puede tener ambigüedad).
· Definido (si se sigue dos veces, obtiene el mismo resultado cada vez) .
· Finito (tiene fin; un número determinado de pasos).
· Debe ser Sencillo, Legible.
· Modular.
· Eficiente y Efectivo.
· Se ha de desarrollar en el menor tiempo posible.
· Todo Algoritmo tine cero ó mas entradas.



¿ QUÉ ES UN DIAGRAMA DE FLUJO?

Es la representación grafica del algoritmo; según la ANSI consta de una simbología.











¿QUÉ ES UN PSEUDOCÓDIGO?


Es el lenguaje de especificación de algoritmos y tiene una estructura: Las instrucciones se escriben en ingles o en palabras similares al ingles o español que facilitan la escritura de programación.

ESTRUCTURAS SECUENCIALES



Es aquélla en la que una acción (instrucción) sigue a otra en secuencia. Las tareas se suceden de tal modo que la salida de una es la entrada de la siguiente y así sucesivamente hasta el fin del proceso.
Su representación gráfica es la siguiente:









CARACTERÍSTICAS

· La estructura secuencial tiene una entrada y una salida.
· Un programa puede contener simplemente una secuencia de instrucciones.
· Es aquella que ejecuta las acciones sucesivamente unas a continuación de otras sin posibilidad de omitir ninguna y naturalmente, sin bifurcaciones.

Ejemplo:

Calcular el salario neto de un trabajador en función del número de horas trabajadas, precio de la hora de trabajo y considerando unos descuentos fijos al sueldo bruto en concepto de impuestos 20%.




ESTRUCTURA SELECTIVA


Estructuras selectivas se utilizan para tomar decisiones lógicas; de ahí que se suelan denominar también estructuras de decisión o alternativas.En las estructuras selectivas se evalúa una condición y en función del resultado la misma se realiza una opción u otra. Las condiciones se especifican usando expresiones lógicas. La representación de una estructura selectiva se hace con palabras en pseudocódigo (if, then, else o bien en español si, entonces, sino), con una figura geométrica en forma de rombo o bien con un triángulo en el interior de una caja rectangular








Las estructuras selectivas o alternativas pueden ser:

ALTERNATIVA SIMPLE (SI-ENTONCES/IF-THEN).

La estructura alternativa simple si-entonces (en inglés if-then o bien IF-THEN ) ejecuta una determinada acción cuando se cumple una determinada condición. La selección si-entonces evalúa la condición y.

Si la condición es verdadera, entonces ejecuta la acción S1 (o acciones caso de ser S1 una acción compuesta y constar de varias acciones).
Si la condición es falsa, entonces no hacer nada.

PSEUDOCÓDIGO

Si (condición) Entonces
(acción S1)

Fin_si

ALTERNATIVA DOBLE ( SI-ENTONCES-SI_NO / IF - THEN - ELSE ).

Estructura que permita elegir entre dos opciones o alternativas posibles, en función del cumplimiento o no de una determinada condición.
Si la condición C es verdadera, se ejecuta la acción S1 y, si es falsa, se ejecuta la acción S2.

PSEUDOCÓDIGO

Si ( condición ) entonces
( acción S1 )
si_no
(acción S2)
fin_si

ALTERNATIVAS MÚLTIPLES (SEGÚN _ SEA, CASO DE / CASE).

Cuando existen más de dos elecciones (alternativas) posibles, es cuando se presenta el caso de alternativas múltiples. Si el número de alternativas es grande puede plantear serios problemas de escritura del algoritmo y naturalmente de legibilidad.

La estructura de decisión múltiple evaluará una expresión que podrá tomar n valores distintos 1,2,3,4,..n . Según que elija uno de estos valores en la condición, se realizará una de las n acciones, o lo que es igual, el flujo del algoritmo seguirá un determinado camino entre los n posibles.

Ejemplo :

Determinar si un triangulo es : equilatero, isóceles o escaleno, conociendo sus tres lados (a,b,c).

PSEUDOCÓDIGO

INICIO
leer a,b,c
SI (a == b) ENTONCES
SI (b == c) ENTONCES
imprimir("Triangulo Equilátero")
SINO
imprimir("Triangulo Isóceles")
FIN SI
SINO
SI (b == c) ENTONCES
imprimir("Triangulo Isóceles")
SINO
imprimir("Triangulo Escaleno")
FIN SI
FIN SI
FIN

ESTRUCTURAS REPETITIVAS

Las estructuras que repiten una secuencia de instrucciones un número determinado de veces se denominan Bucles y se denomina Iteración al hecho de repetir la ejecución de una secuencia de acciones.

Entre las estructuras repetitivas se encuentran:

Estructura mientras (WHILE).

La estructura repetitiva while, es aquélla en que el cuerpo del bucle se repite mientras se cumple una determinada condición.


Pseudocódigo
Mientras condición hacer while condición do
Acción S1
Acción S2 :
: End_while
acción Sn
Fin_mientras

Ejemplo:

Contar los números enteros positivos introducidos por teclado. Se consideran dos variables enteras NUMERO y CONTADOR (contará el número de enteros positivos). Se supone que se leen números positivos y se detiene el bucle cuando se lee un número negativo o cero.

PSEUDOCÓDIGO

Inicio
contador 0
Leer (numero)
Mientras numero > 0 hacer
contador contador+1
Leer (numero)
Fin_Mientras
Escribir('El número de enteros positivos es : ', contador)
Fin

Estructura for

Esta sentencia es útil para hacer variar el valor de una variable entera, permitiendo su inicialización y la determinación del último valor que puede tomar dentro del ciclo.


FUNCIONES Y PROCEDIMIENTOS

• Las funciones generan retorno de un valor. Una función es una colección independiente de
declaraciones y sentencias, generalmente enfocadas a realizar una tarea específica.
• Los procedimientos realizan parte del proceso de un programa
• El C++, no diferencia entre ambas las trabaja igual.

Ejemplo:


Trabajando con funciones programa que calcule la suma de 2 números.
pseudocodigo

Inicio
Var: a,b,s: real
Escribir (“Ingresar primer numero”)
Leer (a)
Escribir (“Ingresar segundo numero”)
Leer (b)
s ß suma (a,b)
Escribir (“La suma es: ” , s)
Fin
Funcion suma (x:real , y:real)
Var: suma: real
suma ß x + y
retornar (suma)
Fin-función

MATRICES Y VECTORES


Matriz es un arreglo de valores, ordenadas por medio de filas y columnas. En el lenguaje C, los arreglos se inicializan en 0,0 y las filas son horizontales y las columnas verticales.

















VECTOR







Vector es un tipo de arreglo de valores unidimensionales, cuya posición inicia en 0.

Ejemplo






R[7]={21,32,14,35,46,23,20}
Asignando los valores:
R[0]=21 R[1]=32 R[2]=14 R[3]=35
R[4]=46 R[5]=23 R[6]=20


Ejemplo: Cálculo de SueldosUna empresa que cuenta con k empleados desea realizar algunos cálculos para la nueva nómina. Los datos con que cuenta son los sueldos de los k empleados:k, s1, s2, s3, ..., sk.Elabore un diagrama de flujo para leer los datos y contestar a las siguientes preguntas:¿Cuál es el aumento correspondiente a cada empleado según el siguiente criterio?17% si el sueldo es inferior a $5,00010% si el sueldo está entre $5,000 y $15,0005% si el sueldo es superior a $15,000¿Cuál es el nuevo sueldo para cada empleado?¿Cuál es el total de la nueva nómina?¿Cuál es el incremento en la nómina?Resuelva los incisos progresivamente