Sunteți pe pagina 1din 51

Introducción a los lenguajes de Programación

Estructura de un programa

Semana N°01 – Mg. Percy Elías Vivanco Muñoz - 2019


Motivación
OBJETIVO GENERAL DE LA ASIGNATURA

Resolver problemas básicos a través de la construcción de programas


basados en algoritmos y un lenguaje de programación, generando acciones
hacia la búsqueda de propuestas pertinentes.

APRENDIZAJES ESPERADOS (COMPETENCIAS)

• Descompone un problema en sub-problemas para darle una solución


más sencilla.
• Interpreta algoritmos y programas para la solución de problemas
básicos de programación relativos a la matemática.
• Construye algoritmos y programas para la solución de
problemas básicos de programación relativos a la matemática.
• Trabaja colaborativamente, cumpliendo un rol y responsabilizándose
de él.
• Comprende el entorno de las situaciones problemáticas que tienen
un componente informático.

2
Programa de Aplicación

Programa que permite resolver la ecuación de primer grado

Algoritmo EC 1er Grado


Programa
Variables
que permite
a,b,x de tipo entero
resolver la
Inicio
ecuación de
Escribir(“Ingrese valores de EC”)
primer grado
Leer (a,b)
Si a = 0 entonces #include <stdio.h>
escribir (“Error”) int a,b,x;
sino main()
Inicio {
x=-b/a printf(“Ingrese valores de EC”);
Escribir (“La solución es:”,x) scanf(“%d %d”,&a,&b);
ax+b=0 Fin if a ==0 printf (“error”);
Escribir(“Fin programa”) else
Fin {
x = -b / a;
a printf(“La solución es %d:”,x);
? x = -b / a }
b printf(“Fin programa”);
}

3
Pasos en la resolución de un problema
• Entender el problema
• Conceptualización
• Objetivo
• Contexto
• Buscar soluciones
• Elegir solución
• Diseñar solución
• Descomposición
• Especificar tareas
• Modelar solución
• Implementar solución
• Validar solución

4
¿Qué es un problema?
• Es una situación concreta sobre la cual se quiere implementar una
solución (ejemplos)
• Solución: procedimiento que nos lleva a satisfacer ciertos
requerimientos
• Esquema básico para la resolución de un problema a través de un
programa con un enfoque sistémico

Entrada Salida
Proceso
•Datos Externos •Informes
•Datos auto generados •Datos para otro
•Lectura de dispositivo programa
de almacenamiento •Datos grabados en
dispositivos externos de
almacenamiento

5
Datos y Variables

• Datos: objetos simbólicos que representan objetos del mundo real.


• Ejemplos: 10 de Marzo de 2003, 3.14
• Variables: no hace referencia a un objeto explícito
• Ejemplos: velocidad del móvil, factor de crecimiento

6
¿Qué es un Modelo?
• Estructura para dar razón y abstraer una realidad
• Ejemplo:

Inscrita Asignaturas
Estudiantes

Estudia
Plan de Estudios

Carrera

7
¿Qué es un algoritmo?

• Procedimiento detallado para resolver un problema en pasos y en un


tiempo finito.
• Se especifican en base a operaciones básicas que controlan las variables y
el flujo del algoritmo
• El algoritmo lleva desde un estado inicial a un estado final
• El algoritmo recibe Entradas y entrega Salidas

8
¿Cómo desarrollar un algoritmo?
• Imaginación
• No reinventar la rueda
• Dividir para conquistar
• Para ser efectivo se requiere practicar constantemente
• El diseño de algoritmos es una rama de la Ciencia de la
Computación

9
¿Cómo se describe un algoritmo?
• Lenguaje natural
• Pseudo código
• Lenguaje de programación
• La precisión es importante
• Un algoritmo no puede ser descrito de forma ambigua:
• Todos tienen que entender lo mismo (incluido el computador!)

10
Llamada telefónica

• Se desea conceptualizar el problema de


efectuar una llamada telefónica en un teléfono
público que recibe monedas de $10, $50 y
$100. El costo mínimo de la llamada es de $100
por 5 minutos. El proceso se inicia desde que se
levanta el auricular y finaliza cuando se cuelga.

11
Árboles de decisión
• Herramienta útil
para describir
algoritmos que
involucran gran
cantidad de
decisiones

12
Conceptos Básicos de Algoritmos

• La forma en que se ejecutan las operaciones básicas en un computador, es


similar a lo que ocurre en nuestro cerebro.
• Por ejemplo, para sumar dos valores:
• Primero debemos pedirle a alguien que nos diga el primer valor.
• Luego de que conocemos este valor, debemos almacenarlo (para recordarlo
después) en una neurona (Suponemos que un valor se puede almacenar en una
neurona).
• Ya conocemos el primer valor y está almacenado en nuestro cerebro.
Conceptos Básicos de Algoritmos
• Ahora debemos pedir el segundo valor.
• Una vez conocido, lo almacenamos en otra neurona distinta de la
anterior. ¿ Por qué?
• Ahora que conocemos los dos valores procedemos a sumarlos, y
dicho resultado lo almacenamos en otra neurona distinta de las
anteriores.
• Por último, le decimos el resultado a la persona que nos entrego
los números.
Conceptos Básicos de Algoritmos

• De lo anterior, al menos necesitamos 3 neuronas para sumar dos números.


• Le pedimos explícitamente que nos dijeran dichos valores.
• Le asignamos dichos valores a las neuronas
• La suma la realizó nuestro cerebro de forma mecánica. Note que no existen
detalles de la operaciones básicas (*,/,+, -).
• Finalmente se da el resultado
Conceptos Básicos de Algoritmos

• Algoritmo para sumar dos números:


• Definimos tres neuronas
• Pedimos el primer valor
• Almacenamos ese valor en la neurona 1.
• Pedimos el segundo valor
• Almacenamos ese valor en la neurona 2.
• Almacenamos la suma de las neuronas 1 y 2 en la neurona 3
• Entregamos el resultado que se encuentra en la neurona 3.
Conceptos Básicos de Algoritmos

• Sin embargo, en los lenguajes no se pueden usar


neuronas, pero podemos definir variables (Recuerde
que las variables pueden tomar cualquier valor)
• En lugar de usar neurona 1 y neurona 2, se utilizan
espacios de memoria que llamaremos “var 1” y “var
2”, y así sucesivamente. También las podemos llamar
“x1” y “x2” ó “x” e “y” ….
Conceptos Básicos de Algoritmos
Ejercicio: Cree un algoritmo que multiplique tres números.

• Algoritmo para multiplicar tres números:


– Definimos cuatro variables
– Pedimos el primer valor
– Almacenamos ese valor en var 1.
– Pedimos el segundo valor
– Almacenamos ese valor en var 2.
– Pedimos el tercer valor
– Almacenamos ese valor en var 3.
– Almacenamos la multiplicación de las variables en var 4
– Entregamos el resultado que se encuentra en var 4.
Conceptos Básicos de Algoritmos
• La manera en que hemos detallado nuestros dos
algoritmos se llama PSEUDO-CÓDIGO. Y este pseudo-
código fue escrito en lenguaje natural.
• Otra manera de poder detallar nuestros algoritmos es
a través de los diagrama de flujo. Un diagrama de
flujo es una representación simbólica de la lógica del
algoritmo.
Diagrama de Fujo
• Nomenclatura:
• Inicio del algoritmo Inicio

• Término del algoritmo Termino


• Impresión de mensajes
• Receptor de datos
• Operación de datos
• Bifurcación (Decisión)
• Definición de variables F V

• Conector ?
Diagrama de Flujo y Pseudo-Código
DIAGRAMA DE FLUJO NOMENCLATURA PSEUDO-CÓDIGO

Inicio Inicio de Algoritmo Inicio

Variables
Entero var1, x , y Definición de variables Entero var1, x, y
Real a, b Real a, b

Escribir
Impresión de mensajes
“Mensaje 1” Escribir (“Mensaje 1”)

Leer
var1,x, y Lectura de mensajes Leer (var1, x, y)

Transformación de datos
a=3*x+ y Operaciones sobre los datos a=3*x+ y
b = a / var1 b = a / var1

Si a > b Entonces
Inicio
F V Bifurcación en la ejecución de
Instrucciones
Si a > b instrucciones
Fin
Sino
Inicio
Instrucciones
Fin
Conector

Fin Fin de algoritmo Fin


Diagrama de Fujo para el algoritmo que suma dos
valores
Inicio

var1,var,var3 Se definen las variables var1, var2, var3

Ingrese el primer valor Se pide ingresar el primer valor

var 1 Se asocia el número ingresado a var1


Se pide ingresar el segundo valor
Ingrese el segundo valor

var 2 Se asocia el número ingresado a var1

var3=var1+var2 Se asigna el resultado de la suma entre var1 y var2 a var3

El resultado es : var3 Se muestra el resultado

Termino
Diagrama de Flujo

• Ejercicio: Cree el diagrama de flujo para el algoritmo que multiplica tres


números y muestre el resultado
• Ejercicio: Cree el diagrama de flujo para que divida dos números y muestre
el resultado
¿Preguntas?
Algoritmos

• Ejercicio. Usando diagrama de Flujo. Cree un algoritmos donde una


persona ingrese su edad y muestre por pantalla si es mayor de edad.
Algoritmos
Inicio

Edad

Ingrese su
edad

Edad

si
Usted es
Edad>=18 mayor de
edad

No

Usted es
menor de
edad

Fin
Algoritmos

• Del ejemplo anterior podemos observar que la bifurcación permite seguir el flujo
adecuado dada una condición.
• Las condiciones que se evalúan en las bifurcaciones son siempre verdaderas o
falsas.
• Por ende, hay que colocar las instrucciones adecuadas a los valores que se evaluan
en las bifurcaciones.
Algoritmos

• También es posible que existan bifurcaciones contiguas.


• En las bifurcaciones o estructura de control, se evalúan proposiciones utilizando:
• Operadores lógicos
• Operadores aritméticos
• Operadores Relacionales
Algoritmos
• Operadores Aritméticos:
• * multiplicación
• / División
• + Suma
• - Resta
• % Módulo

Ejemplo de módulo (o residuo de la división):


5%2 es 1
4%2 es 0
Algoritmos
• Operadores Lógicos:
• Y, And, &&
Y V F

V V F

F F F
Algoritmos
• Operadores Lógicos:
• O, Or, ||
O V F

V V V

F V F
Algoritmos
• Operadores Lógicos:
• No, Not, !
No V F

F V
Algoritmos

• Analicemos los siguientes casos


var1=2, var2=0,var3=4

var4=(var1*var1)/var3
var4=1

Si Si
var4>=1 && var1!=0

No
Algoritmos

• Analicemos los siguientes casos


var1=2, var2=0,var3=4

var4=(var3%var1)
var4=0

Si No
(var4!=0 || var2>0)
&& (var3==4)

No
Algoritmos
• Analicemos los siguientes casos

var1=2, var4=1,var3=4

var4=(var4+var1)
var4=3

Si No
!(var1 && (var4>=var1))
Cualquier proposición distinta de cero
Es VERDADERO
No
Algoritmos

• Es importante notar que existen prioridades entre los operadores. Por lo


tanto deben utilizarse paréntesis en los casos que correspondan
Algoritmos

• Ejercicio. Crear un algoritmo que muestre en forma ordenada tres número


enteros ingresados desde teclado.
Inicio 1

si si
El orden es
var1>var2 &&
var1,var,var3 var2>var3 var1,var2,
var1>var3
var3

No
No
Ingrese el
primer valor
El orden es
var1,var3
var2
var1

si si
El orden es
var2>var3 var1>var3 var2,var1,
Ingrese el var3
segundo
valor No No

Fin
El orden es
var2 var2,var3
var1

si
El orden es
Ingrese el
var2>var1 var3,var2
tercer valor
var1

No

El orden es
var3 v3,var1
var2

1
Diagrama de Flujo
 Ejercicio: Cree el diagrama de flujo para el algoritmo que multiplica
tres números y muestre el resultado
 Ejercicio: Cree el diagrama de flujo para que divida dos números y
muestre el resultado
 Ejercicio: Cree el diagrama de flujo para que resuelva la ecuación de
primer grado y muestre el resultado
 Ejercicio: Cree el diagrama de flujo para que resuelva la ecuación de
segundo grado, para valores reales e imaginarios, y muestre el
resultado
 Ejercicio: Cree el diagrama de flujo permita sumar tres números
ingresados por teclado y muestre el resultado
 Ejercicio: Cree el diagrama de flujo que permita sumar “n” números y
muestre el resultado. El valor de “n” debe ser ingresado por teclado al
igual que los números que se sumarán.
Algoritmos

• Repaso de Bifurcaciones
• Aprendizajes Esperados
• Conceptos de Ciclos
• Cuándo se aplican los ciclos
Algoritmos

• Ejercicio. Crear un algoritmo que muestre en forma ordenada tres número


enteros ingresados desde teclado
Inicio 1

si si
El orden es
var1>var2 &&
var1,var,var3 var2>var3 var1,var2,
var1>var3
var3

No
No
Ingrese el
primer valor
El orden es
var1,var3
var2
var1

si si
El orden es
var2>var3 var1>var3 var2,var1,
Ingrese el var3
segundo
valor No No

Fin
El orden es
var2 var2,var3
var1

si
El orden es
Ingrese el
var2>var1 var3,var2
tercer valor
var1

No

El orden es
var3 v3,var1
var2

1
Algoritmos

• Concepto de Ciclo
• Un ciclo es la repetición de un conjunto de instrucciones. Dicho ciclo culmina cuando
se cumple una condición de termino.

• Cuándo se aplican los Ciclos


• Se aplican cuando queremos ejecutar un conjunto de instrucciones varias veces.
Algoritmos Inicialización

• Estructura de un ciclo Condición de


V
Instrucción 1
Termino

Instrucción 2

Instrucción N

Incremento/
Decremento
Algoritmos

• Ejemplo: Crear un algoritmo que sume N elementos y muestre el resultado


Inicio

N,var,cont,
Suma=0
N var cont suma
Ingrese
cuantos
números va
a sumar

2 1 1 0
N

2 2 1
cont=1
3 3
V
Ingrese el
cont<=N
cont valor

var

El resultado
es suma

suma=suma+var

Fin

cont=cont+1
Algoritmos

• Ejemplo: Crear un algoritmo que encuentre el número mayor de N números


enteros positivos ingresados por teclado.
Inicio

N,var,cont,
mayor = -1

Ingrese
cuantos
números va
a sumar

cont=1

V
Ingrese el
cont<=N
cont valor

var

El resultado
es mayor V
cont==1 ||
mayor=var
var>mayor

Fin F

cont=cont+1
Algoritmos
• Ejemplo: Crear un algoritmo que calcule

i
1
Inicio

N,var,cont,
suma=0

Ingrese
cuantos
números va
a sumar

cont=1

V
cont<=N suma=suma+cont

cont=cont+1

El resultado
es suma

Fin
GRACIAS

S-ar putea să vă placă și