viernes, 13 de febrero de 2009

CLASE 3

FASES DE RESOLUCION DE PROBLEMAS EN PC.

1. Definición del problema (conocer el problema)
2. Análisis del problema (Entrada, salida, como se produce la salida)
3. Diseño del algoritmo.
4. Codificación.
5. Compilación y ejecución.
6. Prueba.
7. Depuración.
8. Mantenimiento.
9. Documentación.


INTRODUCCION A C/C++

Palabras reservadas





ESTRUCTURA


- Proyecto
Programa1 main()
Programa2

// (main) nom. función, // (int) tipo de datos , // () lista de argumentos

int main()
{
....

instrucciones del programa (cuerpo de la función)

....
}


LIBRERIAS


iostream.h -> maneja flujos de entrada y de salida


objeto cint
objeto cout


PROGRAMAS

-> de encabezado (.h) no pertenecen al lenguaje
-> de definición o fuente (.cpp)


CODIFICACION DEVCPP

#include
using namespace std;
int main()
{

//Declaración e inicialización de variables.
int a=0, b=0, c=0;
float x1=0, x2=0;
//Captura de variables
cout << "Digite el valor de A: " ;
cin >> a ;
cout << "Digite el valor de B: " ;
cin >> b ;
cout << "Digite el valor de C: " ;
cin >> c ;
//Proceso
x1= (-b+(b^2-4*a*c)^(1/2))/(2*a) ;
x2= (-b-(b^2-4*a*c)^(1/2))/(2*a) ;
//Mostrar resultados
cout << "El valor de x1 es: " << x1 ;
cout << "\nEl valor de x2 es: " << x1 ;
return 0 ;
}

CLASE 2

ALGORITMO (pseudocodigo)
1. Inicio
2. Entero: n1, n2
3. n1<-0, n2<-0 4. Leer n1, n2 5. Si n1>n2 Entonces
6. Escribir n1, n2
7. De lo contrario
8. Si n1=n2 Entonces
9. Escribir "Son iguales"
10. De lo contrario
11. Escribir n2, n1
12. Fin-Si
13. Fin-Si
14.Fin


DIAGRAMA DE FLUJO






















TIPOS DE DATOS

NUMERICOS

- Enteros
- De punto flotante

CARACTERES (char, alfanumericos)
LOGICOS


OPERADORES

Aritmeticos: Operan con datos nueméricos.

+ Suma
- Resta o cambio de signo
* Multiplicación
/ División exacta
\ División entera
^ Exponencial
MOD Resto de la división.


ejemplo:

3 |2
---
2 1 (div. entera)
1 (mod)


Alfanuméricos: Suman 2 datos alfanuméricos

+ Suma o concatena
& Suma o concatena (recomendado)

Relacionales: Opera con dos datos del mismo tipo y el resultado es lógico.

= Igual a ?
<>
<= Menor o igual que?
> Mayor que?
>= Mayor o igual que?
<> Distnto a?

Lógicos: Operan con datos lógicos y el resultado también es lógico

Y Conjunción
O Disyunción
NO Negación


Analisis Proposicional.

TABLAS DE VERDAD

CONJUNCION (AND)

P Q P and Q
1 1 1
1 0 0
0 1 0
0 0 0


DISYUNCION (OR).


P Q P or Q
1 1 1
1 0 1
0 1 1
0 0 1



NEGACION (NOT)

P NOT P
1 1
1 1

miércoles, 28 de enero de 2009

Programación estructurada CLASE 1

Catedrático.

Ing. Iván O. Alvarado Niño


Bibliografia.

1. Bronson, Gary J.
C++ PARA INGENIERÍA Y CIENCIAS, segunda edición.

2. Pappas Chris, Murray William, Microsoft Visual C++ 6.0

3. Aguilar, Joyanes, Metodología de la programación.


Referencias de Internet.



Prácticas.

1. 14022009 MS Visual C++ 6.0, Bloodshed dev C++ 4.0
2. 21022009 Intro. a C++ y uso del compilador.
3. 28022009 Estructuras secuenciales, operadores y expresiones.
4. 0703
2009 Sentencias de control condicional.
5. 2103
2009 Selección multiple y lazos indeterminados.
6. 2803
2009 Algoritmos repetitivos (lazos) en prog. C/C++.
7. 1804
2009 Escritura y utilización de funciones (2 semanas).
8. 1605
2009 Arreglos y cadenas en C/C++ (2 semanas).
9. 30052009 Punteros y aplicaciones.

Instructoría.

Ing. Jorge Alberto Burgos Ramos.

____________________________________________________________

Introducción a la Programación.

Análisis -> Interpretación de la situación actual de un objeto de estudio (entender cula es el problema).

Algoritmo -> Secuencia organizada de pasos para ofrecer una solución.

¿Qué es una Computadora?

Dispositivo electrónico para procesar información y obtener resultados.

Entrada -> Proceso -> Salida

Organización fisica de una computadora.

  • Dispositivos de entrada.
  • BUS.
  • UCP (procesador) (UC, memoria central y ALU).
  • Dispositivos de salida.
  • Memoria externa.
UC -> Unidad de control (coordina las actividades)
ALU -> Unidad aritmetica lógica (realiza operaciones aritméticas y lógicas)
Memoria Central -> zona de almacenamiento organizada en centenares o millares de unidades (RAM)

ALGORITMO.

Definición:Serie de operaciones detalladas a ejecutar paso a paso que conducen a la resolución de problemas. Es un conjunto de reglas para resolver un determinado problema.

Hipotesis fundamental de programación.

Niklaus Wirth (Modula- 2, Pascal y Oberon)

Tituló

Programas = Algoritmos + Estructura de Datos.

Solo se puede hacer un buen programa con el diseño de un algoritmo y una concreta estructura de datos.


Estructura de datos -> nomenclatura de la información (es decir, reglas con las que se van a considerar los datos)

PARTES DE UN ALGORITMO.

1. Inicio.
2. Declaraciòn de variables.
3. Inicializaciòn de variables.
4. Lectura de datos.
5. Procesamiento de datos.
6. Salida de datos.
7. Fin.



LOS LENGUAJES DE PROGRAMACION.

  • Lenguaje màquina.
  • Lenguaje de bajo nivel (interactùa con el hardware, ej. Ensamblador).
  • Lenguaje de alto nivel (interactùa con el software).

TRADUCTORES DE LENGUAJE.

Traducen los programas fuentes escritos en lenguaje de alto nivel a lenguaje màquina.

- Interpretes: no generan còdigo objeto ni còdigo enlazado, interpreta lìnea por lìnea.

traductor -> toma còdigo fuente -> traduce -> ejecuta

- Compiladores: genera còdigo objeto y còdigo enlazado.

traduce -> programa escrito en LAN -> lenguaje màquina


REGLAS BASICAS PARA NOMBRAR VARIABLES.

1. Pueden iniciar con una le tra seguida de un nùmero.
2. No debe incluir espacios.
3. de preferencia los 3 primeros simbolos de la variable deberìan indicar el tipo de datos de la misma, ej. intsalario, strnombre, dblpago, etc.
4. El nombre de la variable puede ser cualquiera, sin embargo de preferencia debe indicar lo que se almacena (debe ser autodescribible), ej. dblsalario.