You are on page 1of 27

ALUMNO: ANTONIO DE JESUS LOPEZ CHAN

MECANICA: 6 B1

N°CONTROL: 091020118

INSTITUTO TECNOLOGICO DE SALINA CRUZ
UNIDAD 1: INTRODUCCION A LA COMPUTACION
1.1. HISTORIA DE LOS LENGUAJES DE PROGRAMACION 1.2. PROCESOS DE EDICION, COMPILACION,ENLAZADO 1.3. ENTORNO DEL LENGUAJE “c” Y SOFTWARE DE APLICACIÓN DE ULTIMA GENERACION 1.4. DIAGRAMAS DE FLUJO 1.5. PSEUDOCODIGOS 1.6. ESTRUCTURA GENERAL DE UN PROGRAMA 1.7. CONCEPTOS BASICOS DE IDENTIFICADOR, LOCALIDAD DE MEMORIA Y PALABRAS RESERVADAS

ALUMNO: Antonio de Jesús López chan MATERIA: algoritmos y programación SEMESTRE: 6 GRUPO: B1

TEMA: portafolio de evidencia de la unidad 1 Salina cruz Oaxaca

El Lenguaje C es uno de los lenguajes de programación más populares en la actualidad. Permite realizar una programación estructurada sin límite a la creatividad del programador y además los compiladores de C tienen la ventaja de producir programas reducidos y muy rápidos en ejecución. Por ello, muchos paquetes de software están escritos en C. El lenguaje C, está hecho para ser altamente transportable y para programar lo improgramable, por lo que el Lenguaje C ha demostrado ser un lenguaje extremadamente eficaz y expresivo.

El lenguaje C fue creado en los Laboratorios Bell de AT&T y es comparado con el sistema UNIX, ya que son en su totalidad, tanto el compilador de C como el mismo sistema en su mayoría de programas fueron escritos en este lenguaje. Tanta fue su aceptación que por su eficiencia y legibilidad han hecho olvidar un poco al lenguaje ensamblador, provocando con esto que se asocie el lenguaje ensamblador con el sistema UNIX. El antecesor del Lenguaje C fue el Lenguaje B, que fue creado en 1970, por Ken Thompson, con la finalidad de reestructurar al sistema UNIX, que originalmente había sido escrito y producido en lenguaje ensamblador. El Lenguaje B, sucedió al Lenguaje BCPL, que fue escrito éste último por el programador Martín Richard en 1967, el lenguaje B era un lenguaje evolucionado e independiente de la máquina. Dennis Ritchie, modifica el Lenguaje B, para así crear el Lenguaje C, para posteriormente rescribir el sistema UNÍS en éste lenguaje. La diferencia entre el Lenguaje B y el Lenguaje C, es que este último permitía el diseño de nuevos tipos de datos, es decir daba la libertad al usuario de diseñar sus propios tipos de datos para el manejo que mejor le convenga , esta utilidad es muy utilizada en la actualidad por que permite al programador a tener un pleno control del programa que realiza y así poder adaptar cada circunstancia que se le presente a las necesidades que independientemente provocan cada situación. Unas de las peculiaridades de C es su riqueza de operadores. También existen toda una serie de operaciones que pueden hacerse con el Lenguaje C, que realmente no están incluidas en el compilador, si no que las realiza un pre-procesador justo antes de la compilación. Las dos más importantes son # define (directriz de sustitución simbólica o de definición), esta directriz es utilizada cuando declaramos una constante en algún programa, dentro del editor del Lenguaje C; y también # Include (Directriz de inclusión en el fichero fuente).

Programación estructurada. Expresiones Simples. Variedad de operadores matemáticos, lógicos y comparativos. Variedad de tipos de datos. Codificación en alto y bajo nivel simultáneamente. No está orientado a un área en específico. Facilidad de aprendizaje. Los tipos de datos básicos que surgieron con el Lenguaje C son, el tipos carácter (char), entero (int), reales (float), y reales con doble precisión (double). Con la evolución y al paso del tiempo se fueron añadiendo más tipos de datos como lo son: los tipos enteros de longitud menor o igual a la longitud de un entero (short), enteros con longitud mayor o igual a la longitud de un entero (long), enteros sin signo (unsigned) y las enumeraciones. Las instrucciones de Control de flujo de datos en el Lenguaje C son las habituales de la programación estructurada: If, For, While, Switch-Case, entre otros más.

Los tipos estructurados básicos en el Lenguaje C son, las estructuras, las uniones y los arrays, permitiendo al usuario la utilización de varios tipos de datos que derivan de estos y los anteriores, pero con una mayor complejidad, por esta razón se dice que el Lenguaje C contiene una gran variedad y abundancia de operadores y tipos de datos.

El usuario puede definir sus propias funciones y utilizarlas e cualquier momento, puede formar sus propias librerías, el uso de los punteros le permite al programador tener una ventaja más; puesto que el Lenguaje C, permite almacenar en variables direcciones de memoria específicas, a esto es a lo que llamamos que un puntero “apunta” a una dirección de memoria, esto origina que el programador obtenga un control absoluto sobre los recursos del sistema para hacer de el una herramienta más en la elaboración de su trabajo. El manejo de punteros es muy riesgoso porque al manejar punteros sin tener pleno conocimiento teórico del manejo de estos y lo que podemos llegar a causar, con el mal uso de estos, originando tal vez hasta un bloqueo del equipo o hasta formatear una máquina, es por eso que les recomiendo que antes de usar punteros es mejor que se asesoren correctamente. El uso de punteros en el Lenguaje C, es un distintivo de su potencial, y es por estas causas que muchos estudiantes les da temor y a muchos otros los motiva el aprender correctamente todas las instrucciones y opciones que el Lenguaje C tiene para hacer de ellos unos excelentes programadores.

El Lenguaje C, maneja una propiedad que es muy útil y practica en estos tiempos como lo es la “Recursividad” en la implementación de alguna aplicación hecha en C, esto es decir que con el Lenguaje C podemos realizar funciones diseñadas por nosotros mismos y que estas a la vez llamen a otras implementadas por el Lenguaje C o por nosotros mismos o si es mejor llamarse a si mismas dentro de un mismo código fuente, esto permite al usuario que con pocas funciones podemos realizar muchos objetivos fijados antes de programar.

Este Lenguaje ha evolucionado paralelamente con el UNIX, que a su vez ha pasado por diversas versiones entre las que destaca Microsoft con su XENIX para micros de 16 bits.

Las desventajas que se pueden encontrar al Lenguaje C son las siguientes: Carece de instrucciones de entrada/salida, de instrucciones para el manejo de cadenas de caracteres, con lo que este trabajo queda para la librería de rutinas, con la consiguiente pérdida de transportabilidad. La excesiva libertad en la escritura de los programas puede llevar a errores en la programación que, por ser correctos sintácticamente no se detectan a simple vista. Por otra parte las precedencias de los operadores convierten a veces las expresiones en pequeños rompecabezas.

Identificador: Es una serie de caracteres formados por letras y digitos y es el nombre que le damos a todo lo que manipulamos dentro de un programa. Localidad de memoria: corresponde a uno de los siguientes 2 elementos semiconductores: a un Flip-Flop o a un capacitor. Palabras reservadas: son palabras que tienen un significado especial para el lenguaje y no se pueden utilizar como identificadores.

El pseudocódigo es un lenguaje de especificación de algoritmos. En sí es una mezcla de lenguaje de programación y de lenguaje natural. La idea del pseudocódigo consiste en aprovechar la flexibilidad y poder expresivo del lenguaje natural por un lado, y las reglas de composición de los lenguajes de programación de alto nivel por el otro. El pseudocódigo utiliza para representar las acciones sucesivas palabras reservadas en inglés - similares a sus homónimas en los lenguajes de programación -, tales como start, end, stop, if-then-else, while etc. La escritura del pseudocódigo exige normalmente la indentación (sangría en el margen izquierdo) de diferentes líneas. La representación en pseudocódigo del diagrama de flujo del ejemplo anterior sería:

Start {cálculo de impuesto y salario} read nombre, hora, precio_hora salario_bruto  horas * precio_hora tasa  0.1 *salario_bruto salario_neto  salario_bruto - tasa write nombre, salario_bruto, tasa, salario_neto end

El algoritmo comienza con la palabra start y finaliza con la palabra end, en inglés (en español, inicio y fin). Entre estas palabras, sólo se escribe una instrucción o acción por línea. La línea encerrada entre llaves { ... } se denomina comentario. Es una información al lector del programa y no realiza ninguna instrucción ejecutable; sólo tiene efecto de documentación interna del programa. Algunos autores suelen utilizar corchetes en lugar de llaves [ ... 

1.- Escribir un Pseudocódigo de un programa que permita leer la edad y peso de una persona y posteriormente imprimirla. Inicio Variables edad, peso. Imprimir "Escribir los datos (Edad, Peso):" Leer Edad, Leer Peso. Visualizar "Tu peso es: ", peso, " y tu edad es: ", edad. Fin. 2.- Escribir un Pseudocódigo que calcule el área de un triángulo recibiendo como entrada el valor de base y altura. Inicio Variables Altura, Base, Área. Imprimir "Introduce la base y la altura: " Leer base y peso. área= (base*altura)/2. Imprimir "El área es: ", base. Fin.

3.- Escribir Pseudocódigo que calcule el área de un círculo. Inicio Constantes Pi= 3.1416 Variables Radio, area = real Imprime "Introduce el radio: " Leer radio. area= radio*radio*Pi Imprimir "El área del circulo es: ", área. Fin. 4.- Escribir Pseudocodigo que dados 2 valores de entrada imprima siempre la división del mayor entre el menor. Inicio Variables num1, num2=entero. Variables R=real. Imprimir "Introduce los números:" Leer num1, Leer num2. Si a>b entonces R= a/b Sino R= b/a Fin.

5.- Escribir Pseudocódigo que lea de entrada 3 números y que indique cual es el mayor de ellos. Inicio Variables a, b,c = enteros. Imprimir "Introduce los datos a comparar: " Leer a, b,c Si a<b y a<c entonces Imprime "El mayor es: ", a Sino Si b<a y b<c entonces Imprime "El mayor es: ",b sino Imprime "El mayor es: ", c Fin. 6.- Escribir un Pseudocodigo que pida la edad y el sexo y dependiendo si es hombre o mujer y si puede votar o no. Inicio variables edad=entero, sexo=caracter. repetir Imprimir "Introduce Tu edad:" Leer edad. Hasta que (edad >0) Hacer Imprimir "Introduce tu sexo (M/H):" leer sexo hasta que (sexo='H' o sexo = 'M') Si sexo= 'M' entonces si edad > 18 entonces Imprimir "Eres Mujer y puedes votar" sino Imprimir "Eres Mujer y no puedes votar" Sino si edad >18 entonces Imprimir "Eres Hombre y puedes votar" sino Imprimir "Eres Hombre y no puedes votar" Fin.

Conjunto de símbolos que se pueden usar en el lenguaje. Estos símbolos o elementos básicos del lenguaje, podrán ser de los siguientes:  IDENTIFICADORES: nombres simbólicos que se darán a ciertos elementos de programación (por ejemplo, nombres de variables, tipos, módulos, etc.).  CONSTANTES: datos que no cambiaran su valor a lo largo del programa.  OPERADORES: símbolos que representaran operaciones entre variables y constantes.  INSTRUCCIONES: símbolos especiales que representaran estructuras de procesamiento, y de definición de elementos de programación.  COMENTARIOS: texto que se usara para documentar los programas.

La sintaxis de un lenguaje, como lo es en el lenguaje español, nos proporciona la forma correcta de escribir en el lenguaje.

En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un área reservada en la memoria principal del ordenador pudiendo ser de longitud:  FIJA: cuando el tamaño de la misma no variara a lo largo de la ejecución del programa, todas las variables, sean del tipo que sean tienen longitud fija, salvo algunas excepciones- como las colecciones de otras variables (arrays) o a las cadenas  VARIABLE: cuando el tamaño de la misma puede variar a lo largo de la ejecución. Típicamente colecciones de datos. Las variables se representan con identificadores que hacen referencia a un lugar de la memoria del programa en donde se almacena un dato. Una variable está asociada a un tipo de datos, el cual y en función del tamaño del mismo determina la cantidad de bytes que serán necesarios para almacenar la variable. En el caso de colecciones y al contrario que con el resto de tipos de datos, ya sean primitivos y objetos complejos, la memoria asignada a almacenar tales variables no se conocen de antemano, lo cual lleva a establecer políticas de reserva de memoria:  RESERVA FIJA DE MEMORIA: implica predeterminar la cantidad de memoria que se asignara a la colección. Es una política extremadamente rigida, ya que llegados al final de la zona de memoria no se podrían almacenar nuevos elementos.  RESERVA VARIABLE DE MEMORIA: se dedica una zona de memoria, pudiendo ser de un tamaño predeterminado o no, y en caso de sobrepasarse dicha zona de memoria se vuelve a asignar otra zona, contigua o no, para impedir la restricción mencionada arriba.

En programación, una constante es un valor que no puede ser alterado durante la ejecución de un programa. Una constante corresponde a una longitud fija de un área reservada en la memoria principal del ordenador, donde el programa almacena valores fijos: Por ejemplo:  El valor de pi=3.1416

Por conveniencia , el nombre de las constantes suele escribirse en mayúsculas en la mayoría de lenguajes. Ejemplo de una constante en C(#define) En C las constantes se declaran con la directiva #define, esto significa que esa constante tendrá el mismo valor a lo largo de todo el programa. El identificador de una constante así definida será una cadena de caracteres que deberá cumplir los mismos requisitos que el de una variable (sin espacios en blanco, no empezar por un digito numérico, etc.). Ejemplo:
#include <stdio.h> #define PI int main() { printf("Pi vale %f", PI); return 0; } 3.1415926

Lo cual mostrara por pantalla
Pi vale 3.1415926

Es decir, PI es una constante ala que hemos asignado el valor 3.1415926 mediante la directiva #define. La directiva #define también se puede utilizar para definir expresiones más elaboradas con operadores (suma, resta, multiplicación, etc.,) y otras constantes que hayan sido definidas previamente, por ejemplo:
#define X #define Y #define Z 2.4 9.2 X + Y

En C++ el uso de #define está totalmente desaconsejado, para declarar una constante simbólica (equivalente a constante en C) se una la palabra const seguido del tipo de dato que queramos incluir.

Cuando nos referimos a entrada/salida estándar (E/S estándar) queremos decir que los datos o bien se están leyendo del teclado, o bien se están escribiendo en el monitor del video. En el lenguaje C++ tenemos varias alternativas para ingresar y/o mostrar datos, dependiendo de la librería que vamos a utilizar para desarrollar el programa. Las operaciones de entrada y salida no forman parte del conjunto de sentencias de C++, sino que pertenecen al conjunto de funciones y clases de la biblioteca estándar de C++. Ellas se incluyen en los archivos de cabecera iostream.h por lo que siempre que queramos utilizarlas deberemos de introducir la línea de código #include <iostream.h> Esta biblioteca es una implementación orientada a objetos y esta basada en el concepto de flujos. A nivel abstracto un flujo es un medio de describir la secuencia de datos de una fuente a un destino sumidero. Asi, por ejemplo, cuando se introducen caracteres que fluyen o se trasladan desde el teclado a las estructuras de datos del programa. Los objetos de flujo que vienen predefinidos serán:  Cin, que toma caracteres de la entrada estándar (teclado);  Cout, pone caracteres en la salida estándar (pantalla);  Cerr y clog ponen mensajes de error en la salida estándar. SALIDA (OUT) El poerador de inserción, <<, inserta datos en flujo, ejemplos:  Cout<<500;// envía el numero 500 a la pantalla  Cout<<”esto es una cadena”;// visualiza esto es una cadena Es posible usar una serie de operadores <<en cascada, ejemplo:  Cout<<500<<”,”<<600<<”,”<<700; Visualiza 500, 600, 700 C++ utiliza secuencias de escape para visualizar carcteres que no están representados por símbolos tradicionales, tales como\a,\b, etc. Ejemplo:  Cout<<”\n” // salta a una nueva línea  Cout<< “ yo estoy preocupado \n no por el funcionamiento \n sino por la claridad \n”;

El archivo de cabecera iostream.h d ela biblioteca C++ proporciona un flujo de entrada estándar cin y un operador de extracción, >> para extraer valores del flujo y almacenarlo en variables, la entrada normal es el teclado. Ejemplo: int n, n1, n2; // se declara las variables n, n1 y n2 cin >> n; // el cursor aparece en pantalla esperando un // date de entrada por el teclado para ponerlo // en la variable n. // abajo, el cursor aparece despues del mensaje entre comillas // esperando dos valores, cada uno seguido de la tecla ENTER. cout <<" introduzca los valoresden1 yn2" ; cin >> n1 >> n2

PRACTICA N°1 UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 12 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°2 UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 12 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°3 UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 19 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°4 UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 19 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°5 UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 19 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°6A UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 21 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°6B UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 21 DE FEBRERO DE 2013 GRUPO: 2 B1

PRACTICA N°7 UNIDAD II NOMBRE: ANTONIO DE JESUS LOPEZ CHAN FECHA: 21 DE FEBRERO DE 2013 GRUPO: 2 B1