35
CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez C E – mail: [email protected]

CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Embed Size (px)

Citation preview

Page 1: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

CONCEPTO PARA PROGRAMAR

Por:

Carlos A Rodríguez C

Unidad académica: IngenieríasFacultad: Facultad de Ingeniería InformáticaProfesor: Carlos A. Rodriguez CE – mail: [email protected]

Page 2: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

¿QUÉ ES PROGRAMAR?

• Es la actividad mediante la cual escribimos un conjunto finito y ordenado de instrucciones que le indican a un computador, cómo lograr un resultado determinado.

• El resultado del proceso de programar es el programa.

• Un programa es escrito utilizando un lenguaje de programación.

Page 3: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Es un conjunto de instrucciones escritas, de manera lógica, usando un lenguaje de programación entendible por la máquina, que le indica a la computadora, cada uno de los pasos que debe seguir para obtener un resultado determinado.

¿QUÉ ES UN PROGRAMA?

Page 4: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

LENGUAJES DE PROGRAMACIÓN

Bajo Nivel Alto Nivel

Lenguaje de Máquina

Assembler EstructuradosOrientados a Objetos

Fortran Cobol Basic Pascal C JavaC++C#

¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?

Page 5: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Es un conjunto de palabras.

• Signos de puntuación.

• Reglas sintácticas que indican como formar instrucciones entendibles por un computador

• Compilador

– Es el programa que se encarga de tomar el programa escrito en lenguaje de alto nivel y convertirlo a un programa equivalente en el lenguaje de máquina.

¿QUÉ ES UN LENGUAJE DE PROGRAMACIÓN?

Page 6: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• En las variables

• ¿Qué es una variable?– Es un sitio en la memoria donde el programa

almacena los datos mientras los está procesando. El dato que almacena cambia durante la ejecución del programa.

• ¿Qué se necesita para tener una variable en un programa?– Es necesario declarar la variable.– La declaración de una variable consiste en

asignarle nombre y tipo a cada una de las variables que el programa va a utilizar.

¿DÓNDE GUARDA LOS DATOS EL PROGRAMA?

Page 7: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

<tipo> nombreVariable• Ejemplos:

real salario

entera edad

cadenanombreCiudad

caracter respuesta

La declaración de las variables en un algoritmo hace que el computador reserve el espacio en memoria para las variables.

DECLARACIÓN DE VARIABLES

•Por medio de la declaración de las variables la computadora

sabe: Cuantos byte debe ocupar la variable, y como

representar los datos

Page 8: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• El tipo de variable le dice al computador como puede representar los datos, y de qué tamaño es el espacio en memoria que debe reservar para la variable.

• ¿Qué tipos se pueden usar?– Entero: para almacenar datos Z.– Real: para almacenar datos Re.– Cadena: para almacenar más de un carácter Ascii o

Unicode.– Carácter: para almacenar un carácter Ascii o

Unicode.

TIPO DE VARIABLE

Page 9: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Los programadores tiene dos maneras de hacer que los programas almacenen datos en memoria, ellos son:

– La operación de asignación

– La operación de lectura

¿CÓMO SE INGRESAN DATOS A UNA VARIABLE?

Page 10: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Se utiliza en los programas para ordenarle al computador que debe detener la realización del programa y esperar a que se digite el dato por el teclado.

Leer (nombreVariable)

• Ejemplo:Leer(nombreCiudad)Leer(edad)Leer(salario)

• El programador usa esta instrucción para suministrarle al programa los datos que el computador no puede calcular por sí mismo y son necesarios.

El nombre de variable es el lugar donde

se va almacenar el dato.

El nombre de variable es el lugar donde

se va almacenar el dato.

OPERACIÓN DE LECTURA

Page 11: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• La usan los programadores, para ordenarle al computador que almacene el resultado de una evaluación de una expresión o una cte. en una variable en memoria.

• <variable> expresion

• La expresión puede ser aritmética, o una constante o variable.

¿INSTRUCCIÓN DE ASIGNACIÓN?

Page 12: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

salario 3

respuesta ‘s’‘s’

salario salario +1

nombreCiudad “Barranquilla”

s

respuesta

3

salario

4

nombreCiudad

Barranquilla

Memoria del computador

EJEMPLOS DE ASIGNACIÓN

Page 13: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Prioridad altaPrioridad alta

Prioridad bajaPrioridad baja

OPERADORES ARITMÉTICOS

^̂ Potenciación

** Multiplicación

// División real

%% Residuo

\\ División entera

++ Suma

-- Resta

Page 14: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Lo utilizan los programadores cuando necesitan obtener el cociente de una división entera.

OPERADOR \

Page 15: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Prioridad 2a

Prioridad 3a

Prioridad 4a

Prioridad altaPrioridad alta

Prioridad bajaPrioridad baja

^̂ Potenciación

** Multiplicación

// División real

%% Residuo

\\ División entera

++ Suma

-- Resta

OPERADORES ARITMÉTICOS

Page 16: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Las expresiones que tienen dos o más operaciones matemáticas, son evaluadas por el computador siguiendo la siguientes reglas:

– Las operaciones que están entre paréntesis se evalúan primero. Si existen diferentes paréntesis anidados (interiores unos a otros), las expresiones más internas se evalúan primero.

PRIORIDAD DE OPERADORES

Page 17: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

– Las operaciones dentro de una expresión suelen seguir el orden de prioridad mencionado en la siguiente diapositiva.

– En caso de tener varios operadores de igual prioridad en una expresión o subexpresión encerrada entre paréntesis, el orden de prioridad es de izquierda a derecha.

PRIORIDAD DE OPERADORES

Page 18: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

FUNCIONES MATEMÁTICAS

Funciones

Matemáticas

Funciones

Programas

Dominio

Seno(x) Sin(x) X Reales, en radianes

Coseno(x) Cos(x) X Reales, en radianes

x2 Sqr(x) X Reales

log(X) Log(x) X>0 Reales

X1/2 Sqrt(x) X>0 Reales

nroAleatorio 0=<rnd()<1

Page 19: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

y=x+y/2*xy=x+y/2*x

y=(x+y)/(2*x)y=(x+y)/(2*x)x

yxy

*2

ALGEBRAALGEBRA EN EL PROGRAMAEN EL PROGRAMA

PRIORIDAD DE OPERACIONES

Page 20: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

1. Escriba la expresión de asignación que usted utilizaría para poder hacer los siguientes cálculos.

a

acbbx

2

42

1

a

acbbx

2

42

2

22

4

xy

x

yx

z

EJERCICIO

Page 21: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• La utilizan los programadores cuando quieren que el programa presente en el dispositivo de salida (pantalla) el resultado de una operación o un mensaje.

Escriba “texto”, variable

Escriba “texto”, formula

Escriba “texto”

INSTRUCCIÓN DE SALIDA

Page 23: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

PROBLEMAPROBLEMA

AnálisisProfundo del

Problema

Construcción Algoritmo

Verificación del Algoritmo

ETAPAS DE SOLUCIÓN DE UN PROBLEMA

Page 24: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Precisión– Los pasos del algoritmo deben ser precisados

claramente.

• Deterministico– Dado un conjunto de datos idénticos de entrada,

siempre debe arrojar los mismos resultados.

• Finitud– Debe ser de longitud finita.

CARACTERÍSTICA ALGORITMO

Page 25: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

AlgoritmoAlgoritmo

Entrada de DatosProcesamiento

de DatosProcesamiento

de DatosImpresión de Resultados

MÓDULOS DE UN ALGORITMO

Es la parte del algoritmo que solicita el ingreso de los datos, al usuario del programa.

Son las operaciones o conjunto de operaciones secuenciales, cuyo objetivo es obtener la solución.

Son las operaciones o conjunto de operaciones que permiten comunicar (presentar) los resultados a los usuarios del programa.

Page 26: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Para indicar principio fin

Entrada de datos

Proceso u operaciones de asignación

Se utiliza para representar decisión

Salida

DIAGRAMAS DE FLUJO

Dirección de Dirección de flujoflujo

Dirección de Dirección de flujoflujo

SiNo

Page 27: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Escribir

si no

Leer (variable)

Operación de Escritura

Para indicar una toma de decisiones

Para indicar una lectura de datos.

DIAGRAMAS ESTRUCTURADOS

Page 28: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Escribir un algoritmo para que una computadora pueda calcular el radio, y el área de un circulo conociendo el perímetro.

• Análisis:

– Datos de Entrada:

• Perímetro de la circunferencia

– Qué tiene que calcular la máquina?

• Radio, área

– Cómo se calculan?

*2Perimetro

radio

2*radioarea

PRIMER ALGORITMO

Page 29: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

DIAGRAMA DE FLUJO ALGORITMO

1

Inicio

Entre Perímetro

perímetro

radioperímetro/(2*3.14151617)

1

Área3.141516*radio^2

“Área=“, área

“Perímetro”, perímetro

Fin

Page 30: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Se utilizan para crear proposiciones lógicas.

• Una proposición lógica al evaluarla un computador da falso o verdadero.

Mayor que >

Menor que <

Mayor o igual >=

Menor o igual <=

Diferente !=

Igual que ==

OPERADORES DE RELACIÓN

2>5 es una 2>5 es una expresión lógicaexpresión lógica

2>5 es una 2>5 es una expresión lógicaexpresión lógica

Page 31: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

SIGNIFICADO CONECTOR

Y &&

O ||

No ~

CONECTORES LÓGICAS

Verdadero es 1Verdadero es 1Verdadero es 1Verdadero es 1Falso es 0Falso es 0Falso es 0Falso es 0

Page 32: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Variablescaracter z;entera x,y;logica f;z’t’x5Y2fx>yEscriba “Es “,z==´t´,” que z almacene a t ”Escriba x,”>=“,y,”es”,f

USO DE LAS EXPRESIONES LÓGICAS

Page 33: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• Una computadora sigue la ejecución de las instrucciones en un algoritmo en el orden que se le escriben, esto es ejecuta las instrucciones en el orden en que se escriben.

• Pero muchas de las cosas que se quieren simular en una computadora requieren que en algunos momentos, requieran que se escoja entre dos caminos a seguir dependiendo de que se cumpla o no una condición. Para esos casos se hace necesario que los programadores utilicen la instrucción Si entonces.

FLUJO DE CONTROL

Page 34: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

• La usan los programadores para ordenarle a la computadora que evalué una condición (expresión lógica) si la expresión da verdadero entonces la computadora deberá ejecutar la acción a, en otro caso deberá ejecutar la acción b.

A2

A>=2A>=2

Acción BAcción B

AA-5-5

Acción AAcción A

No Si

INSTRUCCIÓN SI /SINO

Page 35: CONCEPTO PARA PROGRAMAR Por: Carlos A Rodríguez C Unidad académica: Ingenierías Facultad: Facultad de Ingeniería Informática Profesor: Carlos A. Rodriguez

Verdadero

• Se utiliza en un algoritmo para indicar a una computador que instrucciones se deben ejecutar de manera repetida.

• En una instrucción mientras hay:

– Expresión lógica– Instrucciones a repetir.

• Expresión lógica– Indica la condición que se

debe cumplir para que se repita la ejecución de las instrucciones.

– El ciclo termina, si la expresión lógica es falsa en algún momento.

– En las instrucciones que se repiten debe haber alguna que haga que el proceso se deje de repetir.

Mientras <expresión lógica>

Instrucción 1

Instrucción 2

Instrucción 3....

Instrucción n

Es Verdadero?Falso

ESTRUCTURA MIENTRAS