Codificación
Instrucciones
Las instrucciones son construidas en oraciones ('statements'). Por lo general cada oración ocupa un registro ('record') y cada registro contiene una sola oración.
Tipos de oraciones
Asignación - Utilizada para codificar un cómputo, un proceso o un movimiento interno de información. Corresponde al rectángulo del flujograma.
Entrada/Salida - Utilizada para codificar una entrada o una salida. Corresponde al paralelogramo del flujograma.
Control - Utilizada para codificar una alteración al orden normal de la ejecución; entendiéndose que el orden normal de la ejecución es el orden de las oraciones. Corresponde al diamante y al hexágono del flujograma.
Especificación - Utilizada para brindar información al compilador sobre el programa. No es traducida a lenguaje de máquina y por esto se dice que no es ejecutable. No tiene correspondencia en el flujograma.
Composición de un programa
- "principio"
- "documentación"
- "declaración de variables"
- "oraciones"
- "final"
Si el lenguaje no provee para alguna de estas partes, las mismas se incluyen como comentarios en el programa.
Lenguajes de alto nivel
1960 - ALGOL - primer lenguaje de alto nivel bien estructurado y algorítmico
1963 - CPL - "Combined Programming Language" desarrollado en Cambridge; combinando ALGOL y lenguaje simbólico
1967 - BCPL "Basic Combined Programming Language" Martin Richards
1970 - B - Ken Thompson en AT&T's Bell Laboratories
1972 - C - Dennis Ritchie en AT&T's Bell Laboratories
Lenguaje de alto nivel que evolucionó según las necesidades de los programadores de sistemas, especialmente del sistema operativo UNIX. Basado en el lenguaje "ALGOL".
Una de sus características principales es la de permitir la introducción de instrucciones al estilo del Lenguaje Simbólico, basado en mnemónicos; y la de poder enviar y recibir códigos especiales de las diferentes unidades de entrada y salida.
Características generales
Un programa en "C" consiste de líneas de hasta 255 columnas de largo. Cada oración termina con el signo de punto y coma (;). Las oraciones se agrupan por medio de corchetes: {}. Contiene treinta y dos (32) palabras reservadas: auto, break, case, char, const, continue, default, do, double, else, enum, extern, float, for, goto, if, int, long, register, return, short, signed, sizeof, static, struct, switch, typedef, union, unsigned, void, volatile, while.
ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz 01234567B9+-*/.,=:;(){}[]<>|~$&%!?@\_"' y el espacio en blanco
Antes de comenzar el programa se incluyen directrices al compilador sobre las bibliotecas que debe buscar para encontrar las funciones utilizadas en el programa. Por ejemplo :
#include<stdlib.h>
#include<stdio.h>
#include<math.h>.
Los espacios en blanco pueden afectar la interpretación de la instrucción. Las líneas pueden ser de hasta 255 columnas. Se puede comenzar y terminar en cualquier columna.
Número (etiqueta) de oración - nombre seguido del signo cólon (:). Oración termina con el signo de punto y coma (;)
Las oraciones se agrupan entre corchetes {}.
Los comentarios comienzan con /* y terminan con */ ó en el caso de C++ comienzan con // y terminan al final del registro.
int main( void )
{
Documentación, como comentarios
Declaraciones
Oraciones
}
Constantes
Constantes de punto fijo
Ausencia del punto decimal; ocupan 16 bites.
Si se comienza con el número cero es tomada en el sistema numérico octal.
Si se comienza con la secuencia 0X ó 0x es tomada en el sistema numérico hexadecimal.
Si se termina con la letra l ó L es tomada como una constante en punto fijo largo que ocupa 32 bites.
Si se termina con la letra u ó U es tomada como una constante en punto fijo sin signo.
Constantes de punto flotante
Presencia del punto decimal.
Notación e ó E donde la letra e ó E representa por diez a la. A la izquierda de la letra e ó E debe ir una constante en punto flotante y a la derecha una constante en punto fijo.
Si se termina con la letra f ó F es tomada como una constante en punto flotante de precisión sencilla que ocupa 32 bites.
Si se termina con la letra l ó L es tomada como una constante en punto flotante de precisión doble largo que ocupa 96 bites.
Si no se termina con la letra f ó F ó l ó L es tomada como una constante en punto flotante de precisión doble que ocupa 64 bites.
Constantes no numéricas (alfanuméricas)
Constantes no numéricas (lógicas)
Variables
Nombre de una (1) a treinta y una (31) letras y/o dígitos, la primera de las cuales tiene que ser una letra.
Son declaradas de punto fijo mediante la oración de especificación :
int lista de variables; ó
long int lista de variables; ó
short int lista de variables; ó
unsigned int lista de variables;
donde la lista de variables es una serie de nombres de variables separadas por coma.
Son declaradas de punto flotante, precisión sencilla, mediante la oración de especificación :
float lista de variables;
Son declaradas de punto flotante, precisión doble, mediante la oración de especificación :
double lista de variables; ó
long float lista de variables;
Son declaradas de punto flotante, precisión doble larga, mediante la oración de especificación :
long double lista de variables;
Son declaradas alfanuméricas mediante la oración de especificación : char lista de variables;
No existen; se usan en punto fijo.
Operadores aritméticos binarios
codificación | operación | Jerarquía | Precedencia |
+ | suma | 2 | => |
- | resta | 2 | => |
* | multiplicación | 1 | => |
/ | división | 1 | => |
% | módulo (residuo) | 1 | => |
El primer operando debe aparecer a la izquierda del operador y el segundo operando debe aparecer a la derecha del operador.
La jeraquía es utilizada cuando aparecen varios operadores en una misma expresión.
La precedencia es utilizada cuando aparecen varios operadores de la misma jerarquía en una misma expresión.
Expresiones aritméticas
constante numérica
variable numérica
expresión aritmética operador aritmético expresión aritmética
( expresión aritmética )
nombre de función( expresión aritimética )
Evaluación de expresiones aritméticas
Ejemplos :
3 + 2 => 5
3 - 2 => 1
3 * 2 => 6
3 / 2 => 1
3 % 2 => 1
Ejemplos :
3.0 + 2.0 => 5.0
3.0 - 2.0 => 1.0
3.0 * 2.0 => 6.0
3.0 / 2.0 => 1.5
3.0 % 2.0 => no está permitido
Ejemplos :
3 + 2.0 => 3.0 + 2.0 => 5.0
3 - 2.0 => 3.0 - 2.0 => 1.0
3 * 2.0 => 3.0 * 2.0 => 6.0
3 / 2.0 => 3.0 / 2.0 => 1.5
3.0 + 2 => 3.0 + 2.0 => 5.0
3.0 - 2 => 3.0 - 2.0 => 1.0
3.0 * 2 => 3.0 * 2.0 => 6.0
3.0 / 2 => 3.0 / 2.0 => 1.5
Más Ejemplos :
100.0 / 3.0 => 33.33333333333333
100.0f / 3.0f => 33.33333f
pow( 3.0, 2.0 ) => 8.999999999999998
pow( 3.0f, 2.0f ) => 8.999998f
pow( 3.0, 2 ) => 9.0 (este último caso es la excepción a la regla)
pow( punto flotante, punto fijo ) => no es mixto, no hay conversión; el valor en punto flotante es multiplicado por si mismo las veces que indique el valor en punto fijo.
Ejemplos de codificación
Ejemplos de evaluación
Última modificación : viernes 21 de mayo de 1999
©Derechos Reservados - 1991 - Prof. H. D. A. Cabassa