1.introduccion al lenguaje de programacion

54
Sesión 1: Introducción al lenguaje de programación Ing.Miguel Levano Stella [email protected]

Upload: oxamaster

Post on 21-Dec-2015

21 views

Category:

Documents


1 download

DESCRIPTION

programacion

TRANSCRIPT

Page 1: 1.Introduccion Al Lenguaje de Programacion

Sesión 1: Introducción al lenguaje de

programación

Ing.Miguel Levano Stella

[email protected]

Page 2: 1.Introduccion Al Lenguaje de Programacion

Introducción al lenguaje de programación

Ing.Miguel Levano Stella [email protected]

Page 3: 1.Introduccion Al Lenguaje de Programacion

• ¿Cuál es la función de un lenguaje de

programación?

• ¿Qué es un algoritmo?

• ¿Cuál es el procedimiento para construir un

programa?

• ¿Cómo se clasifican los lenguajes de

programación ?

Introducción al lenguaje de programación

Page 4: 1.Introduccion Al Lenguaje de Programacion

LOGRO DE SESIÓN

• Al término de la sesión, el estudiante

diseña algoritmos basado en las

características de pseudocódigos y

diagrama de flujos, utilizando

estructruras de control,

implementandolos con software de

simulación con precisión.

Page 5: 1.Introduccion Al Lenguaje de Programacion

• Lenguaje de programación

• Algoritmos

TEMARIO

• Descripción de algoritmos

• Fases para elaborar un programa

• Estructuras de control

• Diseño de un algoritmo

Page 6: 1.Introduccion Al Lenguaje de Programacion

•Es un lenguaje artificial

que puede ser usado

para controlar el

comportamiento de una

máquina, especialmente

una computadora.

•Es una técnica estándar

de comunicación que

permite expresar las

instrucciones que han de

ser ejecutadas en una

computadora.

Definición de Lenguaje de programación

Page 7: 1.Introduccion Al Lenguaje de Programacion

Clasificación

Page 8: 1.Introduccion Al Lenguaje de Programacion

Clasificación por nivel de abstracción

•Lenguaje de Maquina es el

que la computadora entiende

directamente utilizando el

sistema binario (0 y 1) .

•Estos dígitos son conocidos

como bits , con los que se

escriben las instrucciones para

que la computadora entienda

que es lo que queremos que

realice.

Page 9: 1.Introduccion Al Lenguaje de Programacion

•Lenguaje de Bajo nivel

A diferencia del lenguaje

maquina este lenguaje es mas

fácil de utilizar pero también

dependen mucho de la

computadora.

•El lenguaje ensamblador fue el

primer lenguaje que trato de

sustituir al lenguaje maquina

por otro que se pareciera mas

al de los seres humanos.

Clasificación por nivel de abstracción

Ing.Miguel Levano Stella [email protected]

Page 10: 1.Introduccion Al Lenguaje de Programacion

•Lenguaje de Alto nivel

son muy fáciles de aprender por

que utilizan palabras o

comandos de origen natural

como el ingles .

•Son independientes de la

maquina y pueden ser usados

desde cualquier computador

con pocas modificaciones.

Clasificación por nivel de abstracción

Page 11: 1.Introduccion Al Lenguaje de Programacion

Clasificación por su paradigma

•Lenguaje de programación

estructurada La programación

estructurada se basa en una

metodología de desarrollo de

programas llamada

refinamientos sucesivos:

• Se plantea una operación

como un todo y se divide en

segmentos más sencillos o de

menor complejidad.

Page 12: 1.Introduccion Al Lenguaje de Programacion

Clasificación por su paradigma

•Programación orientada a

objetos (POO) está basado en

la idea de encapsular estado y

operaciones en objetos.

• En general, la programación

se resuelve comunicando

dichos objetos a través de

mensajes (programación

orientada a mensajes).

Ing.Miguel Levano Stella [email protected]

Page 13: 1.Introduccion Al Lenguaje de Programacion

Clasificación por su paradigma

•Su principal ventaja es la

reutilización de códigos y su

facilidad para pensar soluciones

a determinados problemas.

•Cuando se escribe un

programa en un lenguaje

orientado a objetos, definimos

una plantilla o clase que

describe las características y el

comportamiento de un conjunto

de objetos similares.

Page 14: 1.Introduccion Al Lenguaje de Programacion

Clasificación por la forma de ejecución

• Los compiladores e

interpretes son software capaz

de traducir de un lenguaje de

alto nivel al lenguaje

ensamblador específico de una

máquina.

•Los primeros toman todo el

programa en lenguaje de alto

nivel, lo pasan a lenguaje

ensamblador y luego lo

ejecutan.

•Los últimos toman instrucción

por instrucción, la traducen y la

van ejecutando.

Page 15: 1.Introduccion Al Lenguaje de Programacion

•Un compilador equivale a que

el traductor humano, partiendo

de un texto, prepare otro texto

nuevo e independiente,

traducido a la otra lengua.

•En contraste, un intérprete

equivale a que tal profesional

traduzca de forma hablada,

cada grupo de palabras o

instrucción, a medida que la

oye, sin dejarlas por escrito

Clasificación por la forma de ejecución

Page 16: 1.Introduccion Al Lenguaje de Programacion

Algoritmos

PROBLEMACONSTRUCCION

DEL

ALGORITMO

PROGRAMA

DE

COMPUTADORA

SOLUCION DE UN PROBLEMA

Ing.Miguel Levano Stella [email protected]

Page 17: 1.Introduccion Al Lenguaje de Programacion

•Un algoritmo es la secuencia

de pasos ordenados y finitos

con los cuales se da solución a

una determinada proposición o

problema.

•Es un procedimiento para la

resolución de problemas de

cualquier tipo por medio de

determinada secuencia de

pasos simples y no ambiguos.

Algoritmos

Page 18: 1.Introduccion Al Lenguaje de Programacion

Operadores aritméticos

OPERADOR SIGNIFICADO

+ SUMAR

- RESTAR

* MULTIPLICAR

DIV DIVISION ENTERA

/ DIVISION REAL

MOD, % RESTO ARTIMETICO

↑ POTENCIACION

Herramientas de un algoritmo

Page 19: 1.Introduccion Al Lenguaje de Programacion

OPERADOR SIGNIFICADO

> MAYOR

< MENOR

>= MAYOR o IGUAL

<= MENOR o IGUAL

= IGUAL

<> DIFERENTE

Operadores relacionales

Herramientas de un algoritmo

Ing.Miguel Levano Stella [email protected]

Page 20: 1.Introduccion Al Lenguaje de Programacion

OPERADOR SIGNIFICADO

& (Y) CONJUNCION

| (O) DISYUNCION

NO NEGACION

Observe la tabla

Herramientas de un algoritmo

Operadores lógicos

Page 21: 1.Introduccion Al Lenguaje de Programacion

OPERADOR SIGNIFICADO

← ASIGNAR

( ) AGRUPAR

Herramientas de un algoritmo

Operadores de asignación y agrupación

Ing.Miguel Levano Stella [email protected]

Page 22: 1.Introduccion Al Lenguaje de Programacion

• Qué es una variable ?

Es una entidad con

nombre único en un

algoritmo y a la que se

le puede asignar un

valor y luego realizar

algún tipo de calculo o

comparación.

• Las variables pueden

asumir valores

numéricos,

alfanuméricos y

lógicos.

Herramientas de un algoritmo

Page 23: 1.Introduccion Al Lenguaje de Programacion

Formación del nombre de Variables

• El nombre de una variable esta formada por una colección de caracteres alfabéticos (‘A’..’Z’,’a’..’z’), dígitos (‘0’..’9’) y por el carácter subrayado ( _ ).

• El nombre de una variable siempre debe comenzar por un carácter alfabético o por el carácter subrayado.

• El nombre de una variable “JAMAS” debe comenzar con un digito.

• El nombre de una variable no debe contener espacios en blanco o caracteres especiales tales como (“, #, $, %, &, @, etc).

• El nombre de una variable no debe coincidir con una palabra clave de un algoritmo (SI, SINO, MIENTRAS, PARA, REPETIR, etc…)

Page 24: 1.Introduccion Al Lenguaje de Programacion

DECLARACION VALIDEZ

ABC VALIDO

A123 VALIDO

1A2B NO VALIDO

_MiVariable VALIDO

Mi_Variable VALIDO

Mi_123456 VALIDO

_1_2_3 VALIDO

Mi@Variable NO VALIDO

Formación del nombre de Variables

Ing.Miguel Levano Stella [email protected]

Page 25: 1.Introduccion Al Lenguaje de Programacion

• NUMERICOS

• Entero

• Real

• ALFANUMERICOS

• Carácter

• Cadena

• LOGICOS (Verdad o

Falso)

Tipos de datos

Page 26: 1.Introduccion Al Lenguaje de Programacion

•Para describir un algoritmo

se debe utilizar algún método

que permita independizar

dicho algoritmo del lenguaje

de programación.

Descripción del algoritmo

Diagramas de flujo Pseudocódigo

Page 27: 1.Introduccion Al Lenguaje de Programacion

Es una representación detallada

en forma gráfica (mediante

símbolos) de los pasos que se

realizan para la solución de un

problema unidos por flechas,

denominadas líneas de flujo,

que indican la secuencia de

ejecución.

Diagramas de flujo

Ing.Miguel Levano Stella [email protected]

Page 28: 1.Introduccion Al Lenguaje de Programacion

Símbolos de los diagramas de flujo

INICIO - FIN

Este símbolo indica el comienzo y el final de un ALGORITMO

ENTRADA-SALIDA

Este símbolo indica operaciones que tienen relación con los

dispositivos de entrada/salida.

PROCESO

Este símbolo se utiliza para indicar operaciones aritméticas.

DECISION

Este símbolo se utiliza para indicar en su interior comparaciones

de valores tales como: a = b

j < i

Estas comparaciones admiten dos salidas: verdad ó falso

Page 29: 1.Introduccion Al Lenguaje de Programacion

•Es la descripción de un

algoritmo mediante una

secuencia lógica de

acciones, que en su conjunto

forman la solución del

problema, utilizando

generalmente palabras

reservadas para representar

las acciones.

Pseudocódigo

PALABRAS RESERVADAS

Leer , Escribir , Dimension

Si-Entonces-Sino, Segun

Mientras Hacer, Repetir Hasta Que, Para

Page 30: 1.Introduccion Al Lenguaje de Programacion

Diseño de algoritmos

Ing.Miguel Levano Stella [email protected]

Page 31: 1.Introduccion Al Lenguaje de Programacion

Análisis del problema

Ing.Miguel Levano Stella [email protected]

Page 32: 1.Introduccion Al Lenguaje de Programacion

EJEMPLO

Diseñar un algoritmo (pseudocódigo y diagrama de flujo) para hallar el área de un triángulo rectángulo cuya Base mide 3 cm, la Altura 4 cm y la Hipotenusa 5 cm.

Page 33: 1.Introduccion Al Lenguaje de Programacion

ANÁLISIS DEL PROBLEMA

Formular el problema: Ya se encuentra claramente planteado.

Resultados esperados: El área de un triángulo rectángulo.

Datos disponibles: Base, Altura, Hipotenusa, tipo de triángulo.

La incógnita es el área y todos los valores son constantes.

Page 34: 1.Introduccion Al Lenguaje de Programacion

Determinar las restricciones: Utilizar las medidas dadas.

Procesos necesarios: Guardar en dos variables (BASE y ALTURA)

los valores de Base y Altura; Guardar en una constante (DIV) el divisor 2;

aplicar la fórmula BASE*ALTURA/DIV y

guardar el resultado en la variable AREA; comunicar el resultado (AREA).

Page 35: 1.Introduccion Al Lenguaje de Programacion

ALGORITMO EN SEUDOCÓDIGO

Paso 1: Inicio

Paso 2: Asignar el número 2 a la constante "div"

Paso 3: Asignar el número 3 a la constante “base”

Paso 4: Asignar el número 4 a la constante “altura”

Paso 5: Guardar en la variable "área" el resultado de base*altura/div

Paso 6: Imprimir el valor de la variable "área"

Paso 7: Final

Page 36: 1.Introduccion Al Lenguaje de Programacion

ALGORITMO EN DIAGRAMA DE FLUJOIng.Miguel Levano Stella [email protected]

Page 37: 1.Introduccion Al Lenguaje de Programacion

Ejemplo1 : Ingrese un número entero, luego

súmele 2 unidades y visualícelo.

ALGORITMO Ejemplo1

VARIABLES

ENTERO A

INICIO

LEER( A )

A← A + 2

ESCRIBIR( A )

FIN

Page 38: 1.Introduccion Al Lenguaje de Programacion

La estructura secuencial

permite la ejecución de la lista

de instrucciones en el orden en

que aparecen las instrucciones,

es decir, se ejecuta

primero la

instrucción <instrucción 1>

luego la

instrucción <instrucción 2>, y

por último se ejecuta

la instrucción <instrucción n>

Estructuras de control

Page 39: 1.Introduccion Al Lenguaje de Programacion

ACTIVIDADES

Trabajo colaborativo

Los estudiantes en pares, diseñan

algoritmos basados en

pseudocódigos y diagrama de

flujos, utilizando estructura de

control secuencial con software de

simulación con precisión.(Ver actividad 1 de la guía de laboratorio 1)

Ing.Miguel Levano Stella [email protected]

Page 40: 1.Introduccion Al Lenguaje de Programacion

Estructuras de control de selección

Page 41: 1.Introduccion Al Lenguaje de Programacion

La estructura de Selección

permite la ejecución de un

bloque de instrucciones o de

otro dependiendo del valor de

una expresión lógica

denominada Condicion.

Estructuras de control

La sentencia condicional o selectiva evalúa una

CONDICION (expresión lógica)

Page 42: 1.Introduccion Al Lenguaje de Programacion

SENTENCIA IF (o selectiva

simple)

Las que como resultado de una

expresión que se esté

evaluando, solo podemos

ejecutar una opción por

verdadero.

Estructuras de control

• if ( expresión a

evaluar )

{

acción_1;

acción_2;

}

Page 43: 1.Introduccion Al Lenguaje de Programacion

•Ejemplo Crear un algoritmo ,df

y programa que nos permita

ingresar un numero y mostrar si

es mayor que 10

Estructuras de control

Page 44: 1.Introduccion Al Lenguaje de Programacion

SENTENCIA IF –ELSE (o

selectiva doble)

Esta sentencia permite realizar

una bifurcación en la ejecución

secuencial del programa, según

se cumpla o no cierta condición,

se ejecutara una parte u otra

parte del programa .

Estructuras de control

if (condición)

{ grupo cierto de

instrucciones;}

else

{ grupo falso de

instrucciones; };

Page 45: 1.Introduccion Al Lenguaje de Programacion

Realizar un diagrama que dado

un promedio de tres notas

calcule si el alumno esta

aprobado, caso contrario que

diga que este reprobado

Estructuras de control

Page 46: 1.Introduccion Al Lenguaje de Programacion

CASE OF (selectiva multiples )

Permite realizar una bifurcación

(como la sentencia IF-ELSE) en

una ejecución secuencial del

programa para varias

posibilidades.

Estructuras de control

Page 47: 1.Introduccion Al Lenguaje de Programacion

Diseñar un algoritmo que lea un entero positivo n y

realice las siguientes cálculos:

Si N termina en 0 se cambia por el doble

Si N termina en 3 se cambia por la décima parte

De otro modo matiene su valor inicial

Estructuras de control

Ing.Miguel Levano Stella [email protected]

Page 48: 1.Introduccion Al Lenguaje de Programacion

Estructuras de controlProceso Problema

leer n1, n2;

leer opcion;

segun opcion Hacer

1: suma <- n1 + n2;

Escribir "suma = ", suma;

2: resta <- n1 - n2;

Escribir "resta = ", resta;

3: multiplica <- n1*n2;

Escribir "multiplica = ", multiplica;

4: divide <- n1/n2;

Escribir "divide = ", divide;

5: potencia <- n1^n2;

Escribir "potencia = ", potencia;

De Otro Modo:

Escribir "Numero no Definido" ;

FinSegun

FinProceso

Page 49: 1.Introduccion Al Lenguaje de Programacion

ACTIVIDADES

Trabajo colaborativo

Los estudiantes en pares,

diseñan algoritmos basados en

pseudocódigos y diagrama de

flujos, utilizando estructuras de

control de selección

implementandolos con

software de simulación con

precisión.(Ver actividad 2 de la guía de laboratorio

1)Ing.Miguel Levano Stella [email protected]

Page 50: 1.Introduccion Al Lenguaje de Programacion

Fases para elaborar un programa

Page 51: 1.Introduccion Al Lenguaje de Programacion

ACTIVIDADES

Trabajo colaborativo

Los estudiantes en pares,

diseñan algoritmos basados en

pseudocódigos y diagrama de

flujos, utilizando estructuras de

control implementandolos en

C++ con precisión.(Ver actividad 3 de la guía de laboratorio

1)

Ing.Miguel Levano Stella [email protected]

Page 52: 1.Introduccion Al Lenguaje de Programacion

• ¿Por qué es importante saber manejar los

lenguajes de programación?

• ¿Cómo aprendí a diseñar un

algoritmo ?

• ¿Cuáles son las ventajas de los algoritmos

INTRODUCCION AL LENGUAJE DE

PROGRAMACION

• ¿Cuál es la importancia del software de

simulación para la elaboración de algoritmos y

programación?

• ¿Qué dificultades tuve y cómo las superé?

Page 53: 1.Introduccion Al Lenguaje de Programacion

ACTIVIDADES

Trabajo colaborativo

Los estudiantes diseñan

algoritmos basados en

pseudocódigos y diagrama de

flujos, utilizando estructuras de

control implementandolos en

C++ con precisión.

Y lo publican en el aula virtual(Ver trabajo practico de la guía de

laboratorio 1)

Page 54: 1.Introduccion Al Lenguaje de Programacion

REFERENCIAS BIBLIOGRAFICAS

N° Código Autor Título Edición, año de

publicación,

Editorial

1 005.1

33P

VASQ

Vásquez

Paragulla,

Julio

Diseño de programación: 200

algoritmos y un proyecto de

aplicación.

Lima: San

Marcos, 1997.

3ra ed.

2 EBook en

biblioteca

virtual UPN

•Cairo ,

Oswaldo

Fundamentos de

programación.Piensa en C++.

Mexico:Pearson

Education,2006

.Primera

edicion.

Ing.Miguel Levano Stella [email protected]