Upload
pechan003
View
54
Download
6
Embed Size (px)
Citation preview
ALUMNO: ANTONIO DE JESUS LOPEZ CHAN MECANICA: 6 B1 N°CONTROL: 091020118
INSTITUTO TECNOLOGICO DE SALINA CRUZ
PORTAFOLIO DE EVIDENCIAS
UNIDAD I
Y
UNIDAD II
INSTITUTO TECNOLOGICO DE SALINA CRUZ
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
S a l i n a c r u z O a x a c a
UNIDAD 1: INTRODUCCION A LA COMPUTACION
1.1. HISTORIA DE LOS LENGUAJES DE PROGRAMACION1.2. PROCESOS DE EDICION, COMPILACION,ENLAZADO1.3. ENTORNO DEL LENGUAJE “c” Y SOFTWARE DE
APLICACIÓN DE ULTIMA GENERACION1.4. DIAGRAMAS DE FLUJO1.5. PSEUDOCODIGOS1.6. ESTRUCTURA GENERAL DE UN PROGRAMA1.7. CONCEPTOS BASICOS DE IDENTIFICADOR,
LOCALIDAD DE MEMORIA Y PALABRAS RESERVADAS
Historia del Lenguaje C.INTRODUCCIÓN AL LENGUAJE C
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.
HISTORIA DEL LENGUAJE C
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).
CARACTERÍSTICAS DEL LENGUAJE C.
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.
TIPOS DE DATOS BÁSICOSLos 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.
TIPOS DE DATOS ESTRUCTURADOS BÁSICOS 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.
PUNTEROS Y FUNCIONES 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.
RECURSIVIDAD 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.
EVOLUCIÓN DEL LENGUAJE CEste 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.
INCONVENIENTES O DESVENTAJAS DEL LENGUAJE C 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.
CONCEPTOS BÁSICOS DE IDENTIFICADOR, LOCALIDAD DE MEMORIA Y PALABRAS RESERVADAS
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.
MAPA MENTAL DEL LENGUAJE C
PRACTICAS
EJERCICIOS CON DIAGRAMAS DE FLUJO
CALCULAR EL AREA DE UN TRIANGULO RECTANGULO
fin
area
2< <4area
= * /2area a b
=3a=2b
inicio
no
si
COMO PREPARAR HUEVOS REVUELTOS
1.-gas2.-estufa3.-sarten
4.-espatula5.-aceite
6.-sal7.-2 huevos
inicio
verificacion deutencilios aocupar
comoprepararhuevosrevueltos
vaciarhuevos en elsarten
prenderestufa
romperhuevos
agregaraceite
poner elsarten en laestufa
inspeccionarque elhuevoestecocido
agregarsal al gusto
revolver elhuevo con laespatula
servir elalimento
¿tesaliocomoesperabas?
¿yaestacocido elhuevo?
no
si
no
si
paso 1 paso 2
finhuevorevuelto
QUE AGO DESDE QUE ME LEVANTO HASTA QUE ME VOY ALA ESCUELA
tomo elurbano parairme alaescuela
¿yaestoylisto?
mecepillo losdientes
mepeino
mevisto
mebaño
desayuno
arreglomisutilesescolares
melevanto
INICIO
1.-mochila2.-cuadernos3.-lapiceros
4.-documentos
1.-playera2.-pantalon3.-zapatos
no
si
finllego alaescuela
EN QUE CONSISTE UN PSEUDOCODIGO
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 [ ...
EJERCICIOS DE PSEUDOCODIGO
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/aFin.
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: ", cFin.
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.
UNIDAD IIOPERADORES, VARIABLES,
CONSTANTES, TIPOS DE DATOS Y EXPRESIONES
2.1 ELEMENTOS DE LEXICO Y SINTAXIS2.2 VARIABLES Y CONSTANTES
2.3 TIPOS DE DATOS FUNDAMENTALES2.4 OPERADORES Y PRECEDENCIA
2.5 CONSTRUCCION DE EXPRESIONES2.6 SENTENCIAS Y BLOQUES DE SENTENCIAS DE
PROGRAMAS2.7 FUNCIONES BASICAS DE ENTRADA Y SALIDA
2.1.-ELEMENTOS DE LEXICO Y SINTAXIS
LEXICO
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.
PALABRAS RESERVADAS
SINTAXISLa sintaxis de un lenguaje, como lo es en el lenguaje español, nos proporciona la forma correcta de escribir en el lenguaje.
2.2 VARIABLES Y CONSTANTES
VARIABLES
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.
CONSTANTEEn 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 3.1415926
int main()
{
printf("Pi vale %f", PI);
return 0;
}
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 2.4
#define Y 9.2
#define Z 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.
2.7 FUNCIONES BASICAS DE ENTRADA Y SALIDA
SENTENCIAS DE ENTRADA Y SALIDACuando 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”;ENTRADA (CIN)
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 n2cin >> 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 valores de n1 y n2 " ;cin >> n1 >> n2
PRACTICA N°1
UNIDAD IINOMBRE: ANTONIO DE JESUS LOPEZ CHAN
FECHA: 12 DE FEBRERO DE 2013GRUPO: 2 B1
PRACTICA N°2
UNIDAD IINOMBRE: ANTONIO DE JESUS LOPEZ CHAN
FECHA: 12 DE FEBRERO DE 2013GRUPO: 2 B1
PRACTICA N°3UNIDAD II
NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 19 DE FEBRERO DE 2013
GRUPO: 2 B1
PRACTICA N°4UNIDAD II
NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 19 DE FEBRERO DE 2013
GRUPO: 2 B1
PRACTICA N°5UNIDAD II
NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 19 DE FEBRERO DE 2013
GRUPO: 2 B1
PRACTICA N°6AUNIDAD II
NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 21 DE FEBRERO DE 2013
GRUPO: 2 B1
PRACTICA N°6BUNIDAD II
NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 21 DE FEBRERO DE 2013
GRUPO: 2 B1
PRACTICA N°7UNIDAD II
NOMBRE: ANTONIO DE JESUS LOPEZ CHANFECHA: 21 DE FEBRERO DE 2013
GRUPO: 2 B1