MANUAL DE PROGRAMACION BASICA

Prep.: Edgar Belandria

Asesor: Kay Tucci

 

Introducción

Las Computadoras

Partes Básicas de una Computadora

Funcionamiento Básico de una Computadora

Lógica de la computadora

Pasos para un programa

Diseño Algorítmico, ¿Es como enseñar a un niño a realizar un trabajo?

Conjuntos de Símbolos y Números

Aritmética y sus operaciones

Lógica y sus operaciones

Como decidir, Estructuras de Decisión

Cuantas veces, Estructuras de Repetición

Simplificación de Problemas, ¡Todo se basa en decisiones y repeticiones !

Primeros ejercicios sin computadora

Codificación, ¡Traducir para la Maquina!

¿Como habla la maquina?, Lenguajes de programación

Selección de un Lenguaje

Componentes de un Lenguaje

Conjuntos para una maquina, Tipos de Datos

Aritmética y Lógica

¿Y Como sabe la Maquina de la variable?, Declaración de Variables

Cadenas de caracteres, Operaciones muy especiales

Carátula del Programa, Formatos de Entrada y Salida

Estructuras de Decisión

Estructuras de Repetición

Arreglos Uní y pluri dimensionales

Dividir un programa, Funciones y Procedimientos

Estructuras y Registros

Mas acerca de Entrada y Salida, Manejo de Archivos

Reseñas de algunos Lenguajes

El Lenguaje C

El Lenguaje Fortran

El Lenguaje Pascal

 Programas ejemplos

Cómo Promediar

Calcular Números Primos

 

Las Computadoras

Al hablar de Computadoras, la gente piensa en los tiempos modernos, pero ignora que estas han sido utilizadas desde hace aproximadamente 2000 años, si, aunque insólito el hombre se ha ayudado de maquinas de calculo desde hace unos dos mil años, tal es el caso del ábaco chino, ya para el 1642, Blaise Pascal inventa una maquina calculadora mecánica, que era capaz de sumar y multiplicar. A partir de ese momento los matemáticos se dedicaron a buscar formas de que esta maquina resolviera sus problemas, se idearon métodos de comunicación con esta maquina, y se vieron en la necesidad de darle un toque de inteligencia, la capacidad de decidir, pero de que servia si solo se hacia una sola vez, de esa forma pensaron en que debería ser una maquina capaz de repetir una determinada operación un numero determinado de ocasiones, dándole la capacidad de repetir, pero aun con todos los esfuerzos esta maquina, hoy llamada computadora, tiene un problema, no es capaz de resolver ningún problema por si sola, así que es necesario decirle todo lo que tiene que hacer, paso a paso, para resolver un determinado problema, tal como enseñarle a un niño ha realizar un trabajo especifico. En fin las computadoras tan solo son maquinas, capaces de comparar, decidir, y repetir un proceso, no son genios a los que podamos pedir que resuelva nuestros problemas.

 

Partes Básicas de una Computadora

Una computadora básicamente esta integrada por un sistema de entrada y salida estándar (como teclado y monitor) y unidad de procesamiento central o C.P.U..

La Unidad de procesamiento central, a su vez esta formada por uno o varios sistemas de almacenamiento de información y un microprocesador. Los sistemas de almacenamiento pueden ser módulos de memorias R.A.M. (Memoria de Acceso Aleatorio), módulos de memoria R.O.M. (Memorias solo de lectura) o Unidades de discos magnéticos, discos duros y flexibles.

Funcionamiento Básico de una Computadora

 

Al encender la computadora el chip del C.P.U., lee las instrucciones almacenadas en los módulos de memoria R.O.M., en los cuales se graba una información básica de la maquina, que le indica al C.P.U. con que recursos cuenta la computadora. Luego es necesario un programa llamado Sistema Operativo, el cual le indica al C.P.U. como comandar todos sus recursos, sin este programa el ordenador no podría funcionar, ya que no sabría como dirigir los recursos con que cuenta. Ahora la computadora ya esta lista para recibir instrucciones para resolver un problema, estas instrucciones se le proporcionan al ordenador mediante un programa de aplicación que debe ser escrito instrucción por instrucción y traducido al lenguaje de maquina, para que esta pueda entenderlo, una vez que este programa de aplicación esta listo, se almacena en una unidad de disco, y en el momento del uso debe ser almacenado en la memoria R.A.M., el ordenador realiza los cálculos que le indica el programa de aplicación, y luego los resultados deben ser presentados según como le indique el programa de aplicación. La realización de este programa de aplicación será el principal objetivo de este documento.

 

 

 

 

 

 

Lógica de la Computadora, todo es lógica para Niños

El programa de aplicación debe contener todas las instrucciones, paso a paso, para que el ordenador realice la tarea encomendada. La realización de un programa de aplicación es como intentar, de una manera lógica, de enseñar a un niño a realizar una tarea. Imaginemos que tenemos que enseñar a sumar a un niño curioso, este primero nos preguntara que son números, como se cuenta, que es sumar, como lo sumo, que voy a sumar, donde lo voy a sumar, etc., vemos de esta manera que en su mayoría son preguntas lógicas que cualquier niño curioso haría, pero que tal ves nosotros no vemos como relevantes. Así para enseñar a un ordenador, o escribir un programa de aplicación, es necesario que pensemos con lógica como le podría decir a este niño curioso que es lo que va hacer y como lo hará.

Diseño Algorítmico, ¿Como enseñar a un niño a realizar un trabajo?

El primer paso para realizar un programa de aplicación, es su comprensión total, es decir, piensa como un niño resolvería el problema que tendría que resolver el programa de aplicación, así si no tenemos idea del problema será muy difícil solucionarlo. Pensando de esta manera debemos imaginarnos todas las preguntas que nos haría el niño para resolver el problema encomendado, teniendo que documentarnos para poder responderle, porque sin duda alguna, no nos aceptara una respuesta a medias. Pero nuestro niño (la computadora) no es tan inocente como lo hemos pintado, el sabe algunas cosas, y las hace muy bien, entre esas cosas tenemos:

Conjuntos de Símbolos y Números

El niño propuesto en este manual reconoce muy bien los conjuntos, el diferencia muy bien un numero de una letra, una letra de una palabra, y entre los números para el no es igual un numero entero (sin decimales) que un numero real (con decimales). De esta manera se pueden definir unos Conjuntos de Símbolos y Números que el computador distingue, estos conjuntos son:

Letras o Caracteres, estas se caracterizan por corresponderse a un solo símbolo y ocupar solo una unidad de información

Números Enteros, son aquellos que carecen de parte decimal, y para una computadora hay varios tipos de estos conjuntos, el tipo de numero entero dependerá básicamente del tamaño del rango en el cual se encuentran estos números

Números Reales, estos números si tienen parte decimal, ocupan el mayor rango en un computador, por eso ocupan mayor espacio

Arreglo de Caracteres o Palabras, un arreglo de caracteres no es mas que una palabra, como las que lees, son solo caracteres con una secuencia entre ellos, debido a esta propiedad, muchos de los programas de aplicación que escribiremos mas adelante trataran a este conjunto de una forma muy especial

Conjunto Lógico, entiéndase a este conjunto como un si o un no. Este conjunto, muy utilizado en la realización de programas, solo permiten dos valores posibles, el de verdadero y el de falso.

Aritmética y sus operaciones

Por lo general, a los niños no les gustan mucho las matemáticas, por suerte a las computadoras si, y hay algo que ellas hacen muy bien, los cálculos aritméticos. Estos cálculos matemáticos sencillos (sumar, restar, multiplicar, dividir, cociente, residuo). Los hace el computador casi de manera natural, solo debemos respetar algunas reglas a saber :

La Suma y la Resta se puede hacer entre conjuntos numéricos, es decir enteros y reales, el resultado pertenecería al conjunto de mayor rango. Si se nos ocurre sumar dos caracteres o letras, el resultado será dos caracteres, o sea, una palabra, si sumamos un numero sin decimales (entero) con uno con decimales (real) el resultado tiene que tener decimales (real), la suma de dos expresiones lógicas en algunos casos no es posible, por lo las operaciones lógicas se trataran en un punto especial en este manual

La multiplicación cumple con la misma norma que la suma, solo que entre caracteres no es posible realizarla, porque generaría un error

La división acepta cualquier dato numérico de entrada, divisor y dividendo, el resultado es exclusivamente real, así que si intentas que el resultado se guarde en un numero entero, el computador lo rechazara

El Cociente, esta es una operación no muy conocida, el cociente te devuelve el cociente de una división, omitiendo el residuo de la división, de esta manera se forza a que sea un entero, se asume que la división no es exacta y el residuo se descarta, eso es lo que hace esta operación. Para esta operación tanto los datos de entrada, divisor y dividendo, como el resultado deben ser números enteros

El Residuo, es el complemento de la operación anterior, este devuelve cual es el residuo de una división. Igual que en la operación anterior todos los datos deben números enteros

Lógica y sus operaciones

La lógica es algo natural en todo ser humano, también en las computadoras, nos es tan común que cuando la necesitamos, no la utilizamos. Existen operaciones que son exclusivas de la lógica, en nuestra vida diaria utilizamos estas operaciones, y al hablar normalmente, podemos detallarlas bien, estas operaciones se pueden representar por una tabla de la verdad, la cual no es mas que una tabla en la que colocamos el resultado de la operación, las operaciones son :

Y, esta operación cumple con la siguiente tabla de la verdad :

Función Y

Verdadero  Falso 

Verdadero

Verdadero

Falso

Falso

Falso

Falso

O, su tabla de la verdad es como sigue :

Función O

Verdadero  Falso 

Verdadero

Verdadero

Verdadero

Falso

Verdadero

Falso

Como decidir, Estructuras de Decisión

Como ya habíamos hablado un poco en la introducción, las computadoras son capaces de tomar decisiones, estas decisiones las puede tomar solo si posee la información apropiada, y bajo ciertos formatos. Las computadoras pueden tomar una decisión básicamente de dos maneras:

Estructura SI condicional, al igual que en nuestro idioma la estructura condicional si, sirve para que la computadora tome una decisión, por ejemplo :

Aprobare la materia si saco diez o mas puntos sino la repruebo

En esta estructura la computadora para tomar la decisión tendría la información de la nota, la compararía con la condición y a partir de esta toma la decisión de aprobado o reprobado. Es exactamente igual al español, la estructura condicional si, compara un parámetro con una condición establecida, y en función de esta comparación, se toma la decisión correspondiente. El ejemplo mas sencillo es sin duda la ordenación numérica :

Ordenar 2 números, A y B, de menor a mayor, para hacer esto, debemos preguntar si el numero A es mayor que el numero B, si es cierto entonces el mayor es A y el menor es B, sino el menor será A y el mayor será B, en otras palabras será :

Estructura de selección múltiple : En esta la decisión podrá tomar mas de dos valores para esto se utiliza una expresión EN CASO DE, con esta expresión podemos tomar una decisión entre varias opciones, dependiendo del valor que cumpla todas las condiciones que hemos impuesto. Un ejemplo para esta estructura la podemos ver en nuestra vida diaria :

¿Que voy a hacer esta noche ?, depende del clima en caso de que este despejado caminare por el parque, en caso de que este nublado iré al cine, en caso de que este lloviendo me quedare estudiando en casa. De otra forma :

Cuantas veces, Estructuras de Repetición

Como vimos anteriormente la computadora es una maquina ya que permite repetir un proceso tantas veces como nosotros queramos, comúnmente nosotros para indicar la repetición de un proceso decimos la forma en que este se detenga, dependiendo de la manera en que este proceso se detiene hay varias estructuras, equivalentes entre si, para expresarlo :

Si conocemos de antemano el numero de veces que deseamos se repita solo le indicamos Haz la tarea encomendada N veces, de alguna forma se debe contar el numero de veces, por lo que también podemos indicarle Haz la tarea encomendada desde No. inicio hasta No. final.

Si no conocemos el numero de veces en que se debe repetir pero conocemos una condición para que se deje de repetir, además necesitamos que se haga al menos una vez, para esto podemos utilizar la estructura Repetir la tarea encomendada Hasta cumplir la condición. Un clásico ejemplo en programas de aplicación es el de salir, al terminar el programa de aplicación preguntar si desea terminar la ejecución, permitiendo volver a ejecutarlo desde el comienzo cuantas veces deseemos sin estar llamándolo a ejecución en cada ocasión.

Si no conocemos el numero de veces en que se debe repetir pero conocemos una condición para que no se haga o se deje de repetir, para esto podemos utilizar la estructura Mientras no se cumpla la condición haga la tarea encomendada. Como ejemplo tenemos

Simplificación de Problemas, ¡Todo se basa en decisiones y repeticiones !

Cuando tenemos un problema siempre intentamos solucionarlo, en ese intento de solución debemos, en la mayoría de los casos, buscar información acerca del problema, tomar decisiones de acuerdo a la información que tenemos, si no lo podemos resolver tendremos que volver a buscar información que nos pueda ayudar, total, que para resolver el problema debemos repetir el proceso de resolución algunas veces, etc.

Lo que acabamos de ver es lo que aplicamos en la resolución de todos nuestros problemas, este esquema, a veces invisible, lo repetimos una y otra vez para cada situación, por diferente que sea, como un ejemplo algo pintoresco como solucionar el problema de falta de dinero, primero debo saber si tenemos trabajo, si tenemos trabajo y es bien remunerado podemos solicitar un préstamo a la compañía hasta fin de mes, si tengo ahorros disponibles los podría utilizar, si no tengo ni trabajo ni ahorros lo mejor es buscar un trabajo, para buscar trabajo debo buscar información de ofrecimientos de trabajo, seleccionar uno de ellos, y cumplir ese trabajo hasta que me paguen, obteniendo el dinero que necesitaba. Esto que hemos desarrollado es un algoritmo para resolver el problema de falta de dinero, buscamos información, tomamos decisiones y repetimos algunas cosas hasta haber resuelto nuestro problema.

Para elaborar algoritmos que resuelvan un problema especifico, podemos recomendar los siguientes pasos :

Buscar información acerca del problema

Tomar las decisiones correspondientes, basándonos en la información que poseemos

Repetir estos tres pasos hasta haber resuelto el problema

Siempre hay que tener en cuenta que la mejor forma de entender un problema es explicarlo a otras personas que no lo sepan resolver, si esas personas después de la explicación son capaces de resolverlo, entonces nosotros ya hemos entendido completamente el problema. Explicar o exponer un problema es una buena practica, ya que te obliga a tomar en cuenta todos los pormenores, buscar toda la información disponible y buscar una manera sencilla para que entiendan.

Primeros ejercicios sin Computadora

Vamos a concentrarnos en un problema sencillo, el de sacar el promedio de diez números, la información necesaria es la formula del promedio que todos conocemos, así que buscaremos diferentes formas de resolver el problema.

La primera manera es leer cada una de los números y luego introducirlos en la formula del promedio, obteniendo su valor :

Tenemos que tomar en cuenta que de esta manera necesitamos tener diez cajas para almacenar los números leídos, además del promedio.

Otra manera de resolver este problema, como conocemos la cantidad de números es leer los números en una sola caja y sumarlos, repetir este proceso diez veces, y al final dividirlo entre diez :

Como podemos ver para este algoritmo solo necesitamos dos cajas para almacenar en una el numero elido en esa repetición y en la otra el promedio, también observamos que este algoritmo es mas corto que el anterior, si en lugar de diez números fuesen 100 o 1000 sin duda que es mejor este algoritmo.

 

Codificación, ¡Traducir para la Maquina!

¿Cómo habla la maquina?, Lenguajes de programación

Para que las computadoras puedan procesar la información debemos introducirla en un lenguaje qué ella entienda, debido a la naturaleza electrónica de la computadora, este solo reconoce señales lógicas (altos para uno o cierto, y bajos para cero o falso). Traducir la información a niveles lógicos es un arduo trabajo, gracias al desarrollo científico y tecnológico, se han ideado formas para traducir la información de un programa al lenguaje lógico de la computadora

De esta manera se han diseñado lenguajes de códigos, equivalentes entre si, que al ser procesado con la respectiva herramienta, obtenemos el programa en leguaje de maquina. Existe una gran variedad de lenguajes para programación, unos mas avanzados que otros, pero que en general nos ayudan al mismo propósito elaborar nuestros programas de aplicación.

Selección de un Lenguaje

Dada la gran variedad de lenguajes de programación, surge la pregunta ¿Qué lenguaje de programación voy a utilizar para realizar mi programa de aplicación?, la respuesta, solo diremos que el mas sencillo, pues todos tienen las instrucciones básicas de programación.

Hay lenguajes de programación que fueron desarrollados para aplicaciones de cierto tipo, así por ejemplo, para trabajos numéricos es recomendable el Fortran, ya que es fácil encontrar gran cantidad de librerías matemáticas listas para utilizar con Fortran; para trabajos generales son muy utilizados el Pascal y el C, gran parte de los programas que utilizamos han sido hechos en alguno de estos lenguajes; existen algunos lenguajes enfocados hacia la adquisición de datos analógicos por la computadora tal es el caso de LabWindowsÒ y LabViewÒ , este ultimo ofrece un ambiente de programación gráfico que para programar solo hay que dibujar y enlazar. Total dependiendo del programa de aplicación que deseemos desarrollar, habrán algunos lenguajes determinados que nos podrían facilitar más el trabajo.

Componentes de un Lenguaje

Fundamentalmente todos los lenguajes de programación deben tener dos módulos: el Editor y el Compilador.

El Editor es el que nos permite escribir todas las líneas de código de nuestro programa de aplicación. Algunos lenguajes de programación requieren de Editores externos tipo texto, otros ya lo tienen incorporado, y tambien los hay que editan el codigo del programa sobre archivos binarios directamente.

El Compilador es el encargado revisar el código de nuestro programa y traducirlo para la computadora, obteniendose asi nuestro programa ya ejecutable directamente.

Conjuntos para una maquina, Tipos de Datos

Como ya vimos un computador puede clasificar distintos tipos de conjuntos, cada conjunto esta relacionado con un tipo de dato. Los tipos de datos más comunes en los lenguajes de programación son:

Datos Lógicos

Aceptan solo dos valores posibles, cierto o falso, en algunos lenguajes este tipo de dato no esta disponible.

Datos Enteros

Son datos numéricos sin parte decimal

Datos Reales

Son datos numéricos con parte decimal. Al igual que en el tipo entero, el tipo de dato real se subdivide en varios grupos dependiendo del rango que abarcan, y del lenguaje de programación utilizado

Datos de Caracteres

Son datos de símbolos Ascii, un carácter corresponde a un solo símbolo Ascii, como sabemos, la tabla Ascii es un conjunto de símbolos alfanuméricos, los mismos que utilizamos para escribir y comunicarnos.

Datos de Conjuntos de Caracteres

A través de este tipo de dato es que podemos escribir las palabras, las palabras no son mas que un arreglo ordenado de caracteres, los distintos lenguajes de programación dedican algunas funciones especiales a este tipo de datos

 

Aritmética y Lógica

Las operaciones aritméticas en la mayoría de los lenguajes de programación son las operaciones básicas de suma, resta, multiplicación y división, además tienen dos operaciones que nos pueden parecer nuevas: MOD y DIV, la primera función da el residuo de la división exacta de dos números, la segunda devuelve el dividendo de la división exacta entre dos números. Al escribir una operación matemática, las operaciones se interpretaran de una por una, según orden de prioridad dado por el compilador del lenguaje, por lo que es necesario agrupar con paréntesis aquellas operaciones que deseemos se realicen primero, los paréntesis se interpretan a partir del más interno.

Las operaciones lógicas también son interpretadas linealmente, por lo que hay que agrupar con paréntesis para obtener la lógica deseada, las funciones lógicas disponibles son:

Y, este requiere que se cumplan las dos condiciones en cierto para dar un valor cierto.

O inclusivo, esta función permite dar un valor cierto si cualquiera de las dos condiciones es cierta.

O exclusivo, esta función da el valor cierto si solo una de las condiciones es cierta.

 

¿Y Como sabe la Maquina de la variable?, Declaración de Variables

Cuando estamos realizando un programa de aplicación, requerimos de cajas donde se pueda introducir y recuperar información, estas cajas se denominan variables. Al escribir un programa de aplicación, algunos lenguajes de programación requieren que sean declaradas las variables que se vayan a utilizar. Esta declaración de variables debe incluir el tipo de dato que va a ser almacenado y el nombre de la variable, el nombre que se le da a la variable corresponderá al nombre con el cuál la llamaremos en el resto del programa, dependiendo del lenguaje escogido existen algunas reglas y restricciones para nombrar a las variables.

 

Cadenas de caracteres, Operaciones muy especiales

Las cadenas de caracteres como ya mencionamos, son tipos de datos muy especiales, ya que se trata de caracteres arreglados con un orden especifico para formar las palabras. Por este motivo es que muchos lenguajes de programación dedican una serie de operaciones muy especiales para manejar estas cadenas de caracteres, en los manuales de usuario de cada lenguaje explican si disponen de funciones especiales para el manejo de este tipo de variables.

Carátula del Programa, Formatos de Entrada y Salida

Al estructurar un programa hay un momento en el que es necesario mostrar o pedir información al usuario, es necesario definir dos situaciones:

La computadora espera datos por parte del usuario, se dice que la computadora espera leer datos del usuario

La computadora muestra datos al usuario, se dice que la computadora escribe datos al usuario.

Estas dos situaciones tienden a confundir a los programadores novatos, un ejemplo de esta confusión es cuando se requiere que la computadora lea datos por parte del usuario colocan escribir datos, es cierto que el usuario tiene que escribir datos, pero la computadora debe leer los datos que le suministra usuario. El programa de aplicación es un conjunto de instrucciones para la computadora, no para el usuario. Es buena costumbre que en el momento de solicitar datos al usuario se le muestre un mensaje de que es lo que debe introducir, esto hace que nuestro programa tenga una carátula amena al usuario y despierte interes en continuar el uso de nuestro programa.

 

Arreglos Uní y pluri dimensionales

En algunas situaciones debe cumplirse una cierta organización dentro de un conjunto de datos, tal es el caso de una institución de estudios, en esta los estudiantes están organizados en diferentes salones, y a cada uno le corresponde un número de lista dentro de la sección, tal que para referirnos rápidamente a un estudiante especifico, es necesario especificar el numero del salón y el numero del estudiante, esto lo podemos observar mas claramente en la figura:

Para ubicar cualquier estudiante del plantel de estudio, se debe indicar el número de sección y el número de estudiante. Esta forma de organizar los datos puede ser almacenado en arreglos de tipos de datos, para cada lenguaje hay una forma de definir este tipo de arreglos de datos, comúnmente llamados vectores, ya que puede tener dimensiones para ubicar un dato especifico.

Dividir un programa, Funciones y Procedimientos

En algunas ocasiones existe una serie de instrucciones que se repiten en varias ocasiones en nuestro programa. Este conjunto de instrucciones pueden ser escritas como pequeños programas dentro del programa principal, se pueden definir como funciones o procedimientos del programa principal, ya que este ultimo los utiliza con solo una llamada. La capacidad de organizar programas con funciones y procedimientos totalmente independientes es propia de los lenguajes de programación estructurados tal es el ejemplo del lenguaje C y Pascal que trataremos más adelante.

Existe una diferencia entre Función y Procedimiento, la función realiza un calculo que devuelve un valor, pudiendo colocar este valor directamente sobre una variable o un formato de salida, mientras que el procedimiento no devuelve un único valor, este puede realizar cálculos sobre diferentes variables pudiendo almacenar su información dentro del procedimiento en mas de una variable o formato de salida.

Al llamar una función debe hacerse asignando su valor a una variable o a un formato de salida, al llamar a un procedimiento no es necesario asignar ninguna variable. Las funciones y procedimientos pueden tener acceso a los datos mediante parámetros de entrada, para una función estos parámetros se utilizan por valor, es decir, una vez introducidos a la función solo interesa su valor, no pueden ser modificados dentro de la función, los procedimientos pueden utilizar parámetros por valor y por referencia, los parámetros por valor se tratan igual que en las funciones, los parámetros por referencia si pueden ser modificados dentro del procedimiento, y sus datos se modifican en el programa principal. Para cada lenguaje de programación hay una forma para definir estas funciones y procedimientos, así como la manera de pasar los parámetros. En este manual estudiaremos en detalle los lenguajes C y Pascal.

Estructuras y/o Registros

Ya vimos la ventaja que tienen los arreglos de datos para ubicar direcciones con múltiples dimensiones, solo tienen una limitación los datos del arreglo deben ser todos del mismo tipo. Existe una manera de organizar datos de diferentes tipos, esto se logra mediante las Estructuras y/o Registros. Los registros son datos organizados en campos, estos campos pueden ser de diferentes tipos de datos. Los lenguajes de programación modernos permiten manejar este tipo de estructuras, trataremos la forma como C y Pascal tratan a este tipo de estructuras.

Mas acerca de Entrada y Salida, Manejo de Archivos

 Existen otros formatos de entrada y salida de datos además del teclado y monitor, estos son los archivos de datos. Ya estamos familiarizados con el concepto de archivos, como sabemos pueden ser de tipo texto (ASCII) o binarios, en la realización de programas podemos utilizar archivos para manejar la información que requiere el programa, evitando así las preguntas al usuario, con esto logramos que nuestro programa sea más rápido en tiempo de ejecución, tal vez esto no se aprecie en programas sencillos, pero al aumentar la envergadura de nuestros programas necesitamos mejorar la eficiencia de los mismos.

Los lenguajes de programación tienen instrucciones que permiten crear archivos de texto o binarios, abrir archivos ya existentes para escribir sobre ellos en una posición determinada, o al final o simplemente borrando todo lo que había en el archivo, también algunos lenguajes permiten instrucciones semejantes a las del Sistema operativo para manejar archivos, tal como copiar, borrar, renombrar, cambiar atributos, etc..

 

Reseña del Lenguaje C/C++

El lenguaje C se conoce como el lenguaje de desarrollo del sistema operativo UNIX. Todos los sistemas C consisten de tres partes: entorno, lenguaje, y las bibliotecas estándar. Un programa escrito en C pasa por seis fases antes de ser ejecutados: edición, preproceso, compilación, enlace, carga y ejecución.

Un lenguaje escrito en C debe por lo menos tener definido el cuerpo del programa principal, para esto se utiliza la instrucción main(), a partir de esta se escribe el resto del código. Todas las instrucciones pertenecientes al programa principal deben escribirse entre llaves {. . . }. La forma de colocar es como sigue:

main()

{

Instrucción 1;

Instrucción 2;

.

.

Instrucción n;

}

Como pueden ver es necesario separar cada enunciado con un punto y coma (;), este simbolo se conoce como terminador de enunciado.

 

Aritmética en C

Los operadores Aritméticos en C son:

Operación en C

Operador aritmético  Expresión algebraica  Expresión en C 

Suma

+

F+7

F + 7

Substracción

-

p-c

p - c

Multiplicación

*

Bm

b * m

División

/

x/y

x / y

Módulo

%

r mod s

r % s

En C la división entre números enteros da como resultado también un entero, omitiendo el residuo, así por ejemplo 5 / 4 arroja como resultado 1, omitiendo la parte decimal 0.25. Las expresiones aritméticas deben ser escritas en una línea continua y la secuencia de cálculo estará determinada por las reglas de precedencia de operadores que se siguen en el álgebra, a saber:

.

 

12

Luego se calculan las operaciones de multiplicación, división y módulo. Si una expresión contiene varias multiplicaciones, divisiones y módulos, la evaluación avanzará de izquierda a derecha.

3

Por último, se calculan las operaciones de suma y resta, si una expresión contiene varias operaciones de suma y resta, la evaluación avanzará de izquierda a derecha.

Toma de decisiones en C: Operadores de igualdad y relacionales

En la toma de decisiones es necesario en algunas ocasiones establecer una comparación o verificar una igualdad, para esto el C tiene un conjunto de operadores de igualdad y relacionales, a saber:

Operador algebraico

Operador de C

Ejemplo de la condición de C

Significado de la condición de C

=

==

x == y

x es igual a y

!=

x != y

x distinto de y

>

>

x > y

x es mayor que y

<

<

x < y

x es menor que y

>=

x >= y

x es mayor o igual a y

<=

x <= y

x es menor o igual a y

Estructura de decisión if (Sí condicional)

Las condiciones en las estructuras if se forman utilizando los operadores de igualdad y relacionales de la tabla anterior, la sintaxis de ésta estructura es:

Si se trata de un solo enunciado a ejecutar

Si es más de un enunciado a ejecutar

 

If (condición)

enunciado;

 

If (condición) {

enunciados;

}

Esta estructura permite realizar una doble selección, utilizando el if / else (Sí condicional y sino), la sintaxis es muy semejante a la anterior:

Si se trata de un solo enunciado a ejecutar

Si es más de un enunciado a ejecutar

 

If (condición)

enunciado;

else

enunciado;

 

If (condición) {

enunciados;

}

else {

enunciados;

}

Estas estructuras pueden colocarse unas dentro de otras, a esta acción se le conoce como estructuras anidadas, hay que tener especial cuidado al trabajar con estructuras anidadas, sobre todo si estas poseen más de un enunciado a ejecutar, no debemos olvidarnos del conjunto de llaves para cada una de las estructuras, lo más recomendado es escribir el código realizando tabulaciones para indicar los niveles de cada estructura, colocando al inicio el conjunto de llaves para cada estructura para evitar olvidar completar uno. Un ejemplo de estructuras if / else anidadas puede ser la tabulación de las notas de una determinada clase:

If (nota >= 18)

 

printf("Sobresaliente /n");

else

 

If (nota >= 16)

 

 

printf("Eximido /n");

 

else

 

 

If (nota >= 14)

 

 

 

printf("Distinguido /n");

 

 

else

 

 

 

 

If (nota >= 10)

 

 

 

 

printf("Regular /n");

 

 

 

else

 

 

 

 

 

printf("Malo /n");

 

 

Tipos de Datos

Especificaciones de conversión printf Especificaciones de conversión scanf

long double

%Lf

%Lf

double

%f

%lf

float

%f

%f

unsigned long int

%lu

%lu

long int

%ld

%ld

unsigned int

%u

%u

int

%d

%d

short

%hd

%hd

char

%c

%c

 

Cómo Promediar

Calcular Números Primos