Sie sind auf Seite 1von 42

Informática

Sesión 02

Pedro Pablo Rosales López, Dr. Ing.


¿Qué observas?
Contenido 2/16
 Estructuras Lógicas de Control Secuencial
 Entradas y salidas básicas: CIN y COUT
 Tipos de datos, variables y operadores
 Estructura general de un programa en C++

 Práctica Dirigida.

Logros de la unidad 1
Aprender a resolver problemas de programación mediante diagramas y el lenguaje de programación
C++
Informática

FASES DE LA RESOLUCIÓN DE
PROBLEMAS
Fases de la Resolución de Problemas

 Análisis:
 El problema se analiza teniendo presente la especificación de los requisitos
dados por el cliente de la empresa o por la persona que encarga el programa.

 Diseño:
 Una vez analizado el problema, se diseña una solución que conducirá a un
algoritmo que resuelve el problema.

 Codificación (Implementación):
 La solución se escribe en la sintaxis del lenguaje de alto nivel (por ejemplo; C++,
Delphi, Java, etc.) y se obtiene un programa.
Fases de la Resolución de Problemas

 Compilación, Ejecución y Verificación:


 El programa se ejecuta, se comprueba rigurosamente y se eliminan todos los
errores (denominados “bugs”, en inglés) que puedan aparecer.

 Depuración y Mantenimiento:
 El programa se actualiza y modifica cada vez que sea necesario, de modo que
se cumplan todas las necesidades de cambios de sus usuarios.

 Documentación:
 Escritura de las diferentes fases del ciclo de vida del software, esencialmente el
análisis, diseño y codificación, unidos a manuales de usuario y de referencia, así
como normas para el mantenimiento.
Análisis del Problema

 Esta fase requiere una clara definición, donde se contemple


exactamente lo que debe hacer el programa y el resultado o solución
deseada.

 Para poder definir bien un problema es conveniente responder a las


siguientes preguntas:

 ¿Qué entradas se requieren? (tipo y cantidad)


 ¿Cuál es la salida deseada? (tipo y cantidad) Entrada
 ¿Qué método produce la salida deseada? Proceso

Salida
Ejercicio 1 : Análisis

 Leer el radio de un círculo, calcular e imprimir su superficie y


longitud.

Algoritmo:
 Entrada:
 Radio de tipo real
 Proceso:
 Superficie: π radio2
 Longitud: 2 π radio
 Salida:
 Superficie de tipo real
 Longitud de tipo real
Diseño del Algoritmo

 En la etapa de análisis del proceso de programación se determina que


hace el programa.

 En la etapa de diseño se determina cómo hace el programa la tarea


solicitada.

 Los métodos más eficaces para el proceso de diseño se basan en el


conocido divide y vencerás.

 Este método se conoce técnicamente como diseño descendente


(top-down) ó modular

 Los programas estructurados de esta forma se dice que tienen un


diseño modular
Ejercicio 2 : Algoritmo

 Calcular la media aritmética de dos números con una calculadora

 Inicio
 Pulsar tecla AC Diagrama de Flujo:
 Teclear el primer número
 Pulsar la tecla +
 Teclear el segundo número
 Pulsar la tecla +
 Pulsar la tecla /
 Teclear el número 2
 Pulsar la tecla =
 Fin
Ejercicio 3 : Lenguaje C++
 Calcular la longitud de una circunferencia y el área del círculo que limita, dada la longitud del radio.

 Determinación de las primitivas de las que partimos


 Operaciones aritméticas simples

 Lenguaje simbólico a utilizar


 Lenguaje de representación de expresiones matemáticas
Lenguaje C++:
 Representación de los datos
 Cadena de caracteres para las incógnitas. Números Reales

 Establecer datos de entrada


 Radio de la circunferencia

 Establecer datos de salida


 Longitud de la circunferencia.
 Área del círculo

 Proceso
 Establecer las relaciones entre
los datos de entrada y salida
 Longitud = 2*3.1416*radio
 Área = 3.1416*radio*radio
¿Que condiciones debe cumplir un algoritmo?

 Tener un punto particular de inicio

 Debe soportar la mayoría de las variantes que puedan presentarse en


la definición del problema

 Estar bien definido. Todas las ejecuciones con los mismos datos de
entrada deben devolver los mismos datos de salida

 Ser finito. El algoritmo debe acabar tras un nº finito de pasos (tamaño


y tiempo de ejecución)
Elementos de un algoritmo

 Datos, tipos de datos y operaciones primitivas

 Variables, constantes y expresiones

 Operaciones de asignación

 Operaciones de entrada y salida

 Estructuras de control
Informática

TIPOS DE DATOS VARIABLES Y


OPERADORES
 Operaciones primitivas
Datos, Tipos de datos y  Suma
Operaciones primitivas  Resta
Datos  División
Información con la cual trabaja  Miltiplicación
la computadora

Tipos de datos
Numéricos
Real
Entero Ejemplos:

Caracteres Producción de Pelotas


Letras
Símbolos Producción de Azúcar
Números
Nombre de los Productos
Lógicos
Verdadero Existencia en almacén
Falso
Variables, Constantes y Expresiones
 Variables
 Entidad que posee un valor y es conocido en un programa o algoritmo por su nombre (identificador)
 El valor de una variable puede cambiar a lo largo del algoritmo
 Todas las variables son de un determinado tipo y sólo pueden tomar valores de ese tipo

 Constantes
 Entidad que posee un valor y es conocido por el algoritmo por su nombre
 El valor de una constante no puede cambiar a lo largo del algoritmo
 Se debe inicializar, es decir, se asigna a un identificador su primer y único valor
 Todas las constante de un determinado tipo sólo pueden inicializarse con valores de ese tipo

 Expresiones
 Son combinaciones de constantes, variables, símbolos de operación, paréntesis y nombre de funciones
especiales
 Cada expresión toma un valor determinado de acuerdo a las variables y constantes implicadas y la
ejecución de las operaciones indicadas
 Consta de operadores y operando
Operaciones de asignación

 Corresponde darle a una variable un  Simples: Consiste en pasar un valor


determinado valor constante a una variable
 a = 15
 A una variable se le puede asignar
 Un valor constante  Contador: Consiste en usarla como un
 El valor de otra variable verificador del numero de veces que se
 El valor de una constante realiza un proceso
 El resultado de evaluar una expresión  a=a+1

 Los valores asignados deben ser del  Acumulador: Consiste en usarla como un
mismo tipo que la variable sumador en un proceso
 a=a+b
 En una operación destructiva, el valor
anterior se pierde  De trabajo: Donde puede recibir el
resultado de una operación matemática
que involucre muchas variables
 a=c+b*2/4
Otros elementos de un algoritmo

 Operaciones de entrada y salida:


 Se emplean para intercambiar información con un medio externo
 Este proceso se representa en un pseudocódigo como sigue:
 Leer a, b
o Donde “a” y “b” son las variables que recibirán los valores

 Escribir “El resultado es:”, R


o Donde “El resultado es:” es un mensaje que se desea aparezca y R es una variable que
contiene un valor

 Estructuras de control:
 Secuencial
 Condicional
 Repetitiva o iterativa
Ejercicio 4

 Un vendedor recibe un sueldo base más un 10% extra por comisión de sus ventas,
el vendedor desea saber cuanto dinero obtendrá por concepto de comisiones por
las tres ventas que realiza en el mes y el total que recibirá en el mes tomando en
cuenta su sueldo base y comisiones.

 Proponer un algoritmo y decir qué tipo de control tiene.

 Inicio Lenguaje C++:


 Leer sb, v1, v2, v3
 Tot_vta = v1+ v2+ v3
 Com = tot_vta*0.10
 Tpag = sb +com
 Imprimir tpag, com
 Fin

 Es una Estructura
Secuencial
Informática

HERRAMIENTAS DE DISEÑO DE
ALGORITMOS
Herramientas de Diseño de Algoritmo

 Las herramientas más utilizadas comúnmente para diseñar algoritmos


son las siguientes:
 Pseudocódigo o Pseudolenguaje.
 Diagrama de Flujo.
 Diagrama de Nassi - Schneiderman (N-S).
Pseudocódigo Diagrama de Flujo
Inicio
Elaborar un algoritmo que calcule
la superficie y la longitud del
r, s, l, pi
perímetro de un disco de acero.

 Inicio r

 Leer radio
Pi = 3.1415
 Superficie ← π radio2 s = pi * r * r
 Longitud ← 2 π radio l = 2 * pi * r

 Escribir superficie, longitud


 Fin s, l

Fin
Diagrama de Nassi -
Schneiderman
También conocido como
diagrama N-S

Similar al diagrama de flujos pero


se omiten las flechas de unión y
las cajas son contiguas

El algoritmo se representa con un


rectángulo en el que cada banda
es una acción a realizar.

Las acciones sucesivas se


pueden escribir en cajas
sucesivas
Ejercicio 5 : Pseudo-Lenguaje

 El pseudolenguaje se utiliza para escribir algoritmos en un lenguaje natural.


 Elaborar el algoritmo para encontrar el porcentaje de merma de un día
de producción.

 Desarrollo

Diagrama N-S
Inicio
Definir m, p, pm Definir Merma, Produccion, Porc_Merma
Leer “Producción:” p Leer Produccion
Leer “Merma:” m Leer Merma
pm = m/p Porc_Merma = Merma / Produccion
pm = pm*100
Porc_Merma = Porc_Merma * 100
Mostrar “Porcentaje”; pm
Fin Mostrar Porc_Merma
Ejercicio 6 : Pseudo-Lenguaje

 Elaborar un algoritmo que permita calcular la tolerancia, al peso estándar de


un producto y el producto solicitado por el cliente.
 Desarrollo

Inicio Diagrama N-S


Definir ps, pc, dp Definir p_estandar, p_cliente, d_peso
Leer “P.Estándar: ”; ps
Leer p_estandar
Leer “P.Cliente: ”; pc
dp = ps-pc Leer p_cliente
Mostrar “L.Inf:”;ps-dp d_peso = p_estandar – p_cliente
Mostrar “L.Sup:”;ps+dp Mostrar p_estandar-d_peso
Fin
Mostrar p_estandar+d_peso
Informática

COMPILADO E INTERPRETE
Lenguaje Interprete

 Un interprete traduce el código fuente en actividades e inmediatamente


ejecuta estas actividades.

 Un interprete es un programa que ejecuta instrucciones leídas desde un


código fuente
Lenguaje Compilador

 Un compilador es un programa informático que traduce un programa escrito


en un lenguaje de programación a otro lenguaje de programación,
generando un programa equivalente que la máquina será capaz de
interpretar.

PASCAL
Compiladores de C++ en Windows

 En Windows:
 Entorno Integrado de desarrollo (IDE)
Informática

ESTRUCTURA GENERAL DE UN
PROGRAMA EN C++
Ralizando Un programa en C++
 #include <iostream>
 using namespace std;
 int main()
 {
 cout<<"Hola Clase, aqui estoy"<<endl;
 return 0;
 }
¿Qué es la función main()?

 main()
 {
 líneas del programa
 return 0;
 }

 main(), o in main(), es el nombre de la función principal.


 Esta función será la que tome el control automáticamente cuando se ejecute
nuestro programa.
 Observe también que las llaves { } encierran el cuerpo o definición de la
función.
 La función "main" siempre devuelve un valor entero.
¿Para que utiliza “using namespace std"?
 La instruccion using namespace especifica que los miembros de un
namespace van a utilizarse frecuentemente en un programa.

 Esto permite al programador tener acceso a todos los miembros del


namespace y escribir instrucciones mas concisas como:

 cout <<"hola";

 cin >> n;
¿Para qué se utiliza <iostream> ?

 Se utiliza
 <iostream>
 Para que el programa nos permita usar todos los componentes que
pertenecen a la librería.
¿Para qué se utiliza cout y cin?

 cout
 Sirve para indicar salida estándar.
 Este elemento nos permite enviar a la pantalla cualquier variable o
constante, incluidos literales.

 cin
 Sirve permitir el ingreso de un dato y asignarlo a una variable.
 La variable debe estar previamente definida, según el tipo de dato que va
a contener.
Ejercicio 7

Laboratorio 02 - Ejercicio 06
Diseñe una solución que permita calcular y mostrar el importe de compra, el
importe de descuento y el importe a pagar por la compra de 15 agendas, si se sabe
que cada agenda cuesta S/.25.50 y:
Importe de compra = precio * cantidad de productos
Importe de descuento (compras < 21) = 5% del importe de compra
Importe de descuento (compras > 20) = 8% del importe de compra
Importe a pagar = importe de compra – importe de descuento

Muestre los resultados en forma adecuada.


Ejercicio 8

Laboratorio 02 - Ejercicio 08
Diseñe la solución que permita calcular la nota final de un alumno, empleando la
siguiente formula, cuando la nota 5 no existe: nf= (n1+n2+n3+(n4*2)) / 5
Cuando falta alguna nota de n1, n2, n3, o n4 se anula la nota faltante, igualando a
cero: n1=0 nf=(n1+n2+n3+n4+n5)/4

Ejemplo 1; para n1=18, n2=10, n3=12, n4=17


Ejemplo 2; para n1=0, n2=19, n3=04, n4=17, n5=08

Muestre los resultados en forma adecuada.


Ejercicio 9

Laboratorio 02 - Ejercicio 09
Diseñe la solución que permita calcular el sueldo de un obrero si le pagan S/500.00
soles y tiene un descuento del 5% por concepto de canasta de fin de año. Mostrar
el sueldo inicial, el descuento y el sueldo a cobrar. La participación en la canasta
de fin de año es voluntario.

Muestre los resultados en forma adecuada.


Ejercicio 10

Laboratorio 02 - Ejercicio 10
Diseñe la solución que permita calcular el importe de compra, el importe de
descuento, el importe a pagar y la cantidad de agendas de obsequio, por la compra
de una determinada cantidad de Tables. Se sabe que: el importe de compra es
igual al precio unitario por la cantidad de productos, el importe de descuento es
igual al 8% del importe de compra, por compras menores a 20 mil soles y del 10%
para compras mayores. El importe a pagar es igual al importe de compra menos el
importe de descuento y más el IGV (19%), y se obsequia una agenda por cada
diez productos comprados, para compras menores a 100 unidades, y 2 agendas,
para cantidades mayores. Mostrar los importes solicitados redondeados a dos
decimales.
Para terminar
 ¿Qué hemos aprendido?
 ¿Cuáles son los tipos de datos que conoces?
 ¿Por qué es útil lo aprendido?

 Resolver los ejercicios de la Hoja de Problemas….


Bibliografía
REFERENCI
AS

 Deitel, P. (2003). Como Programar en C++ México: Prentice-Hall


Hispanoamericana.
 Rosales, P. (2010). Informática con soporte en C++ Lima: Editorial
UNMSM.
 Joyanes, L. (2003). Fundamentos de Programación España: McGrawHill.
El secreto de la sabiduría, del poder y
del conocimiento es la humildad.

Ernest Hemingway

Das könnte Ihnen auch gefallen