Upload
oxamaster
View
23
Download
1
Embed Size (px)
DESCRIPTION
programacion
Citation preview
Introducción al lenguaje de programación
Ing.Miguel Levano Stella [email protected]
• ¿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
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.
• Lenguaje de programación
• Algoritmos
TEMARIO
• Descripción de algoritmos
• Fases para elaborar un programa
• Estructuras de control
• Diseño de un algoritmo
•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
Clasificación
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.
•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]
•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
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.
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]
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.
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.
•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
Algoritmos
PROBLEMACONSTRUCCION
DEL
ALGORITMO
PROGRAMA
DE
COMPUTADORA
SOLUCION DE UN PROBLEMA
Ing.Miguel Levano Stella [email protected]
•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
Operadores aritméticos
OPERADOR SIGNIFICADO
+ SUMAR
- RESTAR
* MULTIPLICAR
DIV DIVISION ENTERA
/ DIVISION REAL
MOD, % RESTO ARTIMETICO
↑ POTENCIACION
Herramientas de un algoritmo
OPERADOR SIGNIFICADO
> MAYOR
< MENOR
>= MAYOR o IGUAL
<= MENOR o IGUAL
= IGUAL
<> DIFERENTE
Operadores relacionales
Herramientas de un algoritmo
Ing.Miguel Levano Stella [email protected]
OPERADOR SIGNIFICADO
& (Y) CONJUNCION
| (O) DISYUNCION
NO NEGACION
Observe la tabla
Herramientas de un algoritmo
Operadores lógicos
OPERADOR SIGNIFICADO
← ASIGNAR
( ) AGRUPAR
Herramientas de un algoritmo
Operadores de asignación y agrupación
Ing.Miguel Levano Stella [email protected]
• 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
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…)
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]
• NUMERICOS
• Entero
• Real
• ALFANUMERICOS
• Carácter
• Cadena
• LOGICOS (Verdad o
Falso)
Tipos de datos
•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
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]
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
•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
Diseño de algoritmos
Ing.Miguel Levano Stella [email protected]
Análisis del problema
Ing.Miguel Levano Stella [email protected]
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.
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.
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).
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
ALGORITMO EN DIAGRAMA DE FLUJOIng.Miguel Levano Stella [email protected]
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
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
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]
Estructuras de control de selección
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)
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;
}
•Ejemplo Crear un algoritmo ,df
y programa que nos permita
ingresar un numero y mostrar si
es mayor que 10
Estructuras de control
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; };
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
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
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]
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
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]
Fases para elaborar un programa
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]
• ¿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é?
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)
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]