SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
UNIVERSIDAD PRIVADA ANTENOR ORREGO
FACULTAD DE INGENIERIA
CARRERA PROFESIONAL DE INGENIERIA ELECTRONICA
Ing. Alejandro Martin Leon Cerna
Semana 02: EL ALGORITMO Y SUS HERRAMIENTAS
Método que describe la solución de un problema computacional mediante
una serie de pasos precisos, definidos y finitos.
• Preciso: Indicar el orden de realización en cada paso.
• Definido: Al repetir los pasos “n” veces se obtiene el mismo resultado.
• Finito: Tiene un numero determinado de pasos.
La solución de un algoritmo debe describir tres partes:
• Entrada: Datos que se necesitan para poder ejecutarse.
• Proceso: Acciones y cálculos a realizar.
• Salida: Resultado esperado.
Entrada Proceso Salida
• Un algoritmo debe resolver el problema para el que fue formulado.
Lógicamente, no sirve un algoritmo que no resuelve ese problema.
• Los algoritmos son independientes del lenguaje de programación. Los
algoritmos se escriben para poder ser utilizados en cualquier lenguaje de
programación.
• Los algoritmos deben ser precisos. Los resultados de los cálculos deben ser
exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la
solución.
• Los algoritmos deben ser finitos. Deben de finalizar en algún momento. No es
un algoritmo válido aquel que produce situaciones en las que el algoritmo no
termina.
• Los algoritmos deben poder repetirse. Deben permitir su ejecución las veces
que haga falta. No son válidos los que tras ejecutarse una vez ya no pueden
volver a hacerlo por la razón que sea.
• Validez: Un algoritmo es válido si carece de errores. Un algoritmo puede
resolver el problema para el que se planteó y, sin embargo, no ser válido
debido a que posee errores.
• Eficiencia: Un algoritmo es eficiente si obtiene la solución al problema en
poco tiempo. No lo es si tarda en obtener el resultado.
• Óptimo: Un algoritmo es óptimo si es el más eficiente posible y no
contiene errores. La búsqueda de este algoritmo es el objetivo prioritario
del programador. No siempre podemos garantizar que el algoritmo hallado
sea el óptimo, a veces sí.
Hay tres fases en la elaboración de un algoritmo.
• Análisis: En esta se determina cual es exactamente el problema a resolver.
Que datos forman la entrada del algoritmo y cuales deberán obtenerse
como salida.
• Diseño: Elaboración del algoritmo.
• Prueba: Comprobación del resultado. Se observa si el algoritmo obtiene la
salida esperada para todas las entradas.
• Para diseñar un algoritmo se debe comenzar por analizar e
identificar las tareas mas importantes para resolver el problema y
disponerlas en el orden en el que han de ser ejecutadas. En este
curso utilizaremos el meto descendente (top-down), que va de los
conceptos generales a los de detalle a través de refinamientos
sucesivos.
• En un algoritmo (basado en el método descendente), se deben de
considerar tres partes:
 Entrada: Información dada al algoritmo.
 Proceso: Operaciones o cálculos necesarios para encontrar la
solución del problema.
 Salida: Respuestas dadas por el algoritmo o resultados finales de
los cálculos.
• Como ejemplo imagine que desea desarrollar un algoritmo que
calcule la superficie de un rectángulo proporcionándole su base y
altura. Lo primero que deberá hacer es plantearse y contestar a las
siguientes preguntas:
 Especificaciones de Entrada:
¿Qué datos son de entrada?
¿Cuántos datos se introducirán?
¿Cuántos son datos de entrada validos?
 Especificaciones de Salida:
¿Cuáles son los datos de salida?
¿Cuántos datos de salida se producirán?
¿Qué precisión tendrán los resultados?
¿Se debe imprimir una cabecera?
• El algoritmo en el primer diseño se podrá representar con los
siguientes pasos:
 Paso 1. Entrada desde periférico de entrada, por ejemplo teclado,
de base y altura.
 Paso 2. Calculo de la superficie, multiplicando la base por la altura.
 Paso 3. Salida por pantalla de base, altura y superficie.
El leguaje algorítmico debe de ser independiente de cualquier lenguaje
de programación particular, pero fácilmente traducible a cada uno de
ellos. Alcanzar estos objetivos conducirá al empleo de métodos
normalizados para la representación de algoritmos, tales como los
diagramas de flujo, diagrama Nassi-Schneiderman o pseudocódigo,
comentados mas adelante.
Para expresar la solución de un problema se pueden usar diferentes
herramientas de programación, tales como diagrama de flujo (flow chart),
diagrama N-S (Nassi Schneiderman), pseudocódigo.
• Diagrama de flujo: Es una representación gráfica que utiliza símbolos
normalizados por ANSI, y expresas las sucesivas instrucciones que se
deben seguir para resolver el problema. Estas instrucciones no dependen
de la sintaxis de ningún lenguaje de programación, sino que deben servir
fácilmente para su transformación (codificación) en un lenguaje de
programación.
• Diagrama de Nassi Scheneiderman (N-S): Conocido también como el
diagrama de Chapín, es como un diagrama de flujo pero sin flechas y con
cajas continuas.
• Pseudocódigo: Permite expresar las instrucciones en un lenguaje común
(ingles, español, etc.) para facilitar tanto la escritura como la lectura de la
solución de un programa. No existen reglas para escribir pseudocódigo.
Son las acciones que debe realizar un algoritmo para resolver un problema.
Las instrucciones mas comunes son las siguientes:
A. Instrucciones de inicio / fin: Representa el inicio y fin de un algoritmo.
B. Instrucciones de asignación: Representa la asignación de un valor a una
variable, se puede representar usando una flecha o el símbolo de
igualdad, el cual es usado por muchos de los lenguajes de programación.
C. Instrucción de lectura: Representa el ingreso de datos mediante un
dispositivo de entrada, que muchas veces es representado por un
símbolo de teclado.
D. Instrucción de escritura: Representa la salida de la información mediante
un dispositivo de salida, puede ser representado por el símbolo de
entrada/salida, por símbolo de pantalla o impresora.
E. Instrucción de bifurcación: Cambian el flujo del programa según el
resultado de una expresión lógica (condición).
• Permiten describir y explicar, además sirve como ayuda para recordar y
entender las operaciones que se van a ejecutar.
• Los comentarios no son instrucciones, por lo tanto al ser traducido el
código fuente a código binario (tiempo de compilación), los lenguajes de
programación los ignoran.
• Dependiendo el lenguaje de programación los comentarios se escriben
usando cierta simbología, en este curso usaremos el símbolo // en los
pseudocódigos para colocar comentarios.
Ejemplo de Pseudocódigo
Son palabras usadas por el lenguaje de programación que no deben ser
utilizados como identificadores de variables, funciones, entre otros.
• Algunas de las palabras reservadas C++
short, int, float, double, if, for, Switch …
Son los nombres que asignamos a las variables, constantes, funciones,
objetos, entre otros; y no pueden coincidir con las palabras reservadas
porque ocasionaría ambigüedad, y el compilador no lo entendería. Por lo
general, los identificadores deben de cumplir las siguientes reglas:
• Deben comenzar por una letra. Evite usar ñ y tilde.
• No debe coincidir con palabras reservadas del lenguaje de programación
que esta utilizando.
Error de compilación C++
Representa un espacio de memoria RAM, el cual guarda un valor que servirá
para algún proceso en articular; dicho valor puede ser modificado en
cualquier momento. Las variables tienen, por lo general, un identificador
(nombre) y, asignado, el tipo de dato que se esta utilizando; es decir, si
almacena un numero (entero), si es texto o alfanumérico (cadena), si es un
valor verdadero o falso (lógico) llamado también booleano.
Ejemplo de Pseudocódigo
Representa un espacio de memoria RAM, el cual guarda un valor que servirá
para algún proceso en particular; dicho valor permanece fijo, es decir, no
puede cambiarse en la ejecución del programa. Las constantes tienen, al igual
que las variables, un identificador (nombre) y un tipo de dato.
Ejemplo Pseudocódigo
Al declarar una variable, debemos indicar el tipo de dato que es permitido
almacenar en dicha variable. Cada lenguaje de programación trabaja con una
variedad de tipo de datos; por lo general, todos usan los llamados
«primitivos», que son los siguientes:
A. Entero: Representa los números enteros (no almacena decimales).
Ejemplo Pseudocódigo
En el lenguaje de C++ el tipo entero se puede trabajar con “short”, “int” y
“long”; la diferencia está en que unos almacenan rangos de números
diferentes, llamados también «entero corto» y «entero largo».
Ejemplo C++
Ejemplo C++
B. Real: Representan los números reales (almacenas decimales).
Ejemplo Pseudocódigo
En el lenguaje de Java, el tipo real se puede trabajar con float o double, la
diferencia está en la cantidad de decimales que pueden almacenar, llamados
también «precisión simple» y «precisión doble».
Ejemplo C++
C. Carácter: Representa un carácter de cualquier tipo: texto, numero,
símbolo, etc. El valor se coloca entre comillas simples.
Ejemplo Pseudocódigo
Ejemplo C++
D. Lógico: Representan los valores <<verdadero>> o <<falso>>, conocidos
también como boolean, no se colocan comillas simples ni dobles.
Ejemplo Pseudocódigo
En C++ se utiliza el tipo de dato llamado <<boolean>>, para almacenar valores
lógicos.
Ejemplo C++
Son los que permiten realizar los cálculos entre valores fijos y variables. Los
operadores se clasifican en: aritméticos, relacionales, lógicos y de cadena.
Sobre estos se trata a continuación:
A. Operadores Aritméticos: Son aquellos operadores que permiten realizar
las operaciones aritméticas, de la misma forma como se utilizan en las
matemáticas.
Dependiendo el lenguaje de programación los operadores varían o no
implementan uno u otro operador; en el caso de C++ implementan los
siguientes:
Para elevar a una potencia se usa pow (9.0, 2.0), dentro de los parámetros se
coloca números reales (double), y para división entera se usa / pero con
números enteros.
División Real
N = 9.0 / 4.0 // retorna 2.25
División Entera
N= 9 / 4 // retorna 2
B. Operadores Relacionales: Llamados también operadores de comparación,
y permiten evaluar si dos valores guardan alguna relación entre si.
Dependiendo el lenguaje de programación los operadores varían o no
implementan uno u otro operador; en el caso de C++ varia la simbología en
algunos.
Expresiones lógicas (condiciones) – (algoritmo)
C. Operadores Lógicos: Son aquellos operadores que se utilizan en
combinación con los operadores de relación.
<<Y>> lógico: Si p y q son valores lógicos, ambos deben ser verdaderos para
que Y devuelva verdadero.
Expresiones lógicas (condiciones)
<<O>> lógico: Si p y q son valores lógicos, uno de ellos deben ser verdadero
para que O devuelva verdadero.
Expresiones lógicas (condiciones) – (algoritmos)
<<No>> lógico: Si p es un valor lógico, el operador No invierte su valor.
Expresiones lógicas (condiciones)
Para C++se utiliza la siguiente simbología:
Todos los lenguajes de programación implementan estructuras para controlar
la ejecución de un programa, estas son:
• Estructura secuencial.
• Estructura selectiva simple y doble.
• Estructura selectiva múltiple.
• Estructura repetitiva mientras.
• Estructura repetitiva para.
Problema n.° 1
Enunciado: Dados dos números enteros, hallar la suma.
Análisis: Para la solución de este problema se requiere que el usuario
ingrese dos números enteros; luego que el sistema realice el cálculo
respectivo para hallar la suma. Para esto se usará la siguiente expresión:
Expresión matemática:
S = n1 + n2
Expresión algorítmica:
S ← n1 + n2
Entrada:
• Dos números (n1 y n2)
Salida:
• La suma (S)
Algoritmo
Diagrama de flujo Pseudocódigo
Fin
Escribir s
Inicio
n1, n2, s : Entero
Leer n1, n2
s ← n1 + n2
Inicio
// Variables
n1, n2, s : Entero
// Entrada
Leer n1, n2
// Proceso
s ← n1 + n2
// Salida
Escribir s
Fin
Problema n.° 2
Enunciado: Hallar el cociente y el residuo (resto) de dos números enteros.
Análisis: Para la solución de este problema se requiere que el usuario ingrese
dos números enteros ; luego el sistema realice el calculo respectivo para hallar
el cociente y residuo, para esto se usara la siguiente expresión:
Expresión Algorítmica:
c ← n1 / n2
r ← n1 Mod n2
Entrada:
• Dos números (n1 y n2)
Salida:
• El cociente (c)
• El residuo (r)
Algoritmo
Diagrama de flujo Pseudocódigo
Fin
Escribir c, r
Inicio
n1, n2, c, r : Entero
Leer n1, n2
c ← n1  n2
r ← n1 Mod n2
Inicio
// Variables
n1, n2, c, r : Entero
// Entrada
Leer n1, n2
// Proceso
c ← n1  n2
r ← n1 Mod n2
// Salida
Escribir c, r
Fin
Problema n.° 3
Enunciado: Dado el valor de venta de un producto, hallar el IGV (19%) y el
precio de venta.
Análisis: Para la solución de este problema se requiere que el usuario ingrese
el valor de venta del producto; luego, que el sistema realice el cálculo
respectivo para hallar el IGV y el precio de venta. Para esto se usara la
siguiente expresión:
Expresión algorítmica:
igv ← vv * 0.19
pv ← vv + igv
Entrada:
• Valor de venta (vv)
Salida:
• El IGV (igv)
• El precio de venta (pv)
Algoritmo
Diagrama de flujo Pseudocódigo
Inicio
// Variables
vv, igv, pv : Real
// Entrada
Leer vv
// Proceso
igv ← vv * 0.19
pv ← vv + igv
// Salida
Escribir igv, pv
Fin
Fin
Escribir igv, pv
Inicio
vv, igv, pv : Real
Leer vv
igv ← vv * 0.19
pv ← vv + igv
Problema n.° 4
Enunciado: Hallar la potencia de a, donde <<a>> y <<n>> pertenecen a los
números enteros positivos.
Análisis: Para la solución de este problema se requiere que el usuario ingrese
dos números enteros positivos <<a>> y <<n>>; luego, que el sistema procese
y obtenga la potencia p.
Expresión matemática:
𝑝 = 𝑎 𝑛
= 𝑎 𝑥 𝑎 𝑥 𝑎 𝑥 … 𝑥 𝑎
Expresión algorítmica:
p ← a ^ n
Entrada
• Dos números enteros (a, n)
Salida:
• La potencia (p)
n factores
Algoritmo
Diagrama de flujo Pseudocódigo
Inicio
// Variables
a, n : Entero corto
p : Entero largo
// Entrada
Leer a, n
// Proceso
p ← a ^ n
// Salida
Escribir p
Fin
Fin
Escribir p
Inicio
a, n : Entero corto
p : Entero largo
Leer a, n
p ← a ^ n
Problema n.° 5
Enunciado: Determinar la suma de los N primeros números enteros positivos, use la
siguiente formula.
𝑺 =
𝑵(𝑵 + 𝟏)
𝟐
Análisis : Para la solución de este problema se requiere que el usuario ingrese un
número entero positivo <<n>>; luego, que el sistema procese y obtenga la suma de los
primeros números enteros positivos hasta <<n>>.
Expresión matemática:
𝑺 =
𝑵(𝑵 + 𝟏)
𝟐
Expresión algorítmica:
s ← (n * (n+1)) 2
Entrada:
• Numero entro (n)
Salida:
• La suma (s)
Algoritmo
Diagrama de flujo Pseudocódigo
Inicio
// Variables
n, s : Entero corto
// Entrada
Leer n
// Proceso
s ← (n * (n+1)) / 2
// Salida
Escribir s
Fin
Fin
Escribir s
Inicio
n, s : Entero corto
Leer n
s ← (n * (n+1)) / 2
Problema n.° 6
Enunciado: Crear un programa para encontrar el área de un circulo, usar la formula :
𝑨 = 𝝅. 𝒓²
• Área (A): Es el área del circulo.
• PI (π): Representa el valor constante pi (3.14159)
• Radio (r): Es el radio del circulo.
Análisis: Para la solución de este problema se requiere que el usuario ingrese el radio
del circulo; luego, que el sistema procese y obtenga el área del circulo.
Expresión aritmética:
𝑨 = 𝝅. 𝒓²
Expresión algorítmica:
A ← 3.14159 * r ^ 2
Entrada:
• Radio (r)
Salida:
• Área (a)
Algoritmo
Diagrama de flujo Pseudocódigo
Inicio
//Constantes
PI = 3.14159 : Real
// Variables
r, a : Real
// Entrada
Leer r
// Proceso
a ← PI * r ^ 2
// Salida
Escribir a
Fin
Fin
Escribir a
Inicio
n, a : Real
Leer r
a ← PI * r ^ 2
PI ← 3.14159 : Real
Problema n.° 7
Enunciado: Crear un programa que permita convertir una cantidad de
segundos en horas, minutos y segundos:
Análisis: Para la solución de este problema se requiere que el usuario ingrese
un tiempo expresado en segundo, luego que el sistema procese y obtenga las
hora, minutos y segundos restantes.
Entrada:
• Tiempo en segundos (t)
Salida:
• Horas (h)
• Minutos (m)
• Segundos (s)
Diagrama de flujo Pseudocódigo
Inicio
//Constantes
HORA = 360 : Entero
MINUTO = 60 : Entero
// Variables
t, h, m, s : Entero
// Entrada
Leer t
// Proceso
h ← t  HORA
t ← t Mod HORA
m ← t  Minuto
s ← t Mod Minuto
// Salida
Escribir h, m, s
Fin
Fin
Escribir a
Inicio
t, h, m, s : Entero
Leer t
h ← t  HORA
t ← t Mod HORA
m ← t  Minuto
s ← t Mod Minuto
HORA = 360 : Entero
MINUTO = 60 : Entero
Problemas Propuestos
Problema n.° 1
Enunciado: Hallar el área y el perímetro de un cuadrado.
Problema n.° 2
Enunciado: Convertir una cantidad de grados Fahrenheit a Celsius y Kelvin.
Problema n.° 3
Enunciado: Convertir grados sexagesimales a centesimales.
Problema n.° 4
Enunciado: Dado 4 números enteros positivos, obtener el porcentaje de cada uno en
función a la suma de los 4 números ingresados.
Problema n.° 5
Enunciado: Obtener el valor de c y d de acuerdo a las siguientes formulas.
𝑐 =
(4𝑎4+3𝑏𝑎+𝑏2)
𝑎2−𝑏2 𝑑 =
(3𝑐2+𝑎+𝑏)
4
Algoritmos y programacion en C++

Mais conteúdo relacionado

Mais procurados

Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos ForRichard Robalino
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?grachika
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.luismarlmg
 
Proyecto calculadora
Proyecto calculadoraProyecto calculadora
Proyecto calculadoraivan ramirez
 
Diagramas de flujo y algoritmos
Diagramas de flujo y algoritmosDiagramas de flujo y algoritmos
Diagramas de flujo y algoritmosKoldo Parra
 
Diseño de algoritmos usando pseint
Diseño de algoritmos usando pseintDiseño de algoritmos usando pseint
Diseño de algoritmos usando pseintDaniel Zavala
 
Características de un algoritmo
Características de un algoritmoCaracterísticas de un algoritmo
Características de un algoritmoroxanaparra28
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmosRuby
 
Programación estructurada y Herramientas estructurada
Programación estructurada y Herramientas estructuradaProgramación estructurada y Herramientas estructurada
Programación estructurada y Herramientas estructuradaLuisAlvarez618
 
Importancia de las integrales en el área tecnologica
Importancia de las integrales en el área tecnologicaImportancia de las integrales en el área tecnologica
Importancia de las integrales en el área tecnologicaMaria Navarrete
 
Algoritmo cualitativos
Algoritmo cualitativosAlgoritmo cualitativos
Algoritmo cualitativosjdazas
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacionguestd5974a6
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Dulcevelazquez6
 
Metodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmosMetodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmosIEO Santo Tomás
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujoTete Alar
 

Mais procurados (20)

Bucles de Control Repetitivo Ciclos For
Bucles de Control Repetitivo  Ciclos ForBucles de Control Repetitivo  Ciclos For
Bucles de Control Repetitivo Ciclos For
 
¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?¿Como hacer un pseudocodigo y diagrama de flujo?
¿Como hacer un pseudocodigo y diagrama de flujo?
 
Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.Diagrama de Flujos Ejemplos.
Diagrama de Flujos Ejemplos.
 
Diseño Estructurado de Algoritmos
Diseño Estructurado de AlgoritmosDiseño Estructurado de Algoritmos
Diseño Estructurado de Algoritmos
 
Proyecto calculadora
Proyecto calculadoraProyecto calculadora
Proyecto calculadora
 
Diagramas de flujo y algoritmos
Diagramas de flujo y algoritmosDiagramas de flujo y algoritmos
Diagramas de flujo y algoritmos
 
Ejemplos en PSeint
Ejemplos en PSeintEjemplos en PSeint
Ejemplos en PSeint
 
Diseño de algoritmos usando pseint
Diseño de algoritmos usando pseintDiseño de algoritmos usando pseint
Diseño de algoritmos usando pseint
 
Características de un algoritmo
Características de un algoritmoCaracterísticas de un algoritmo
Características de un algoritmo
 
Estructuras de control algoritmos
Estructuras de control algoritmosEstructuras de control algoritmos
Estructuras de control algoritmos
 
Programación estructurada y Herramientas estructurada
Programación estructurada y Herramientas estructuradaProgramación estructurada y Herramientas estructurada
Programación estructurada y Herramientas estructurada
 
Importancia de las integrales en el área tecnologica
Importancia de las integrales en el área tecnologicaImportancia de las integrales en el área tecnologica
Importancia de las integrales en el área tecnologica
 
Algoritmo cualitativos
Algoritmo cualitativosAlgoritmo cualitativos
Algoritmo cualitativos
 
Presentacion Programacion
Presentacion ProgramacionPresentacion Programacion
Presentacion Programacion
 
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
Metodología para la solución de problemas utilizando la computadora 2°Am Prog...
 
Metodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmosMetodología para la solución de problemas con el uso de algoritmos
Metodología para la solución de problemas con el uso de algoritmos
 
02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo02 Ejercicios Resueltos diagramas de flujo
02 Ejercicios Resueltos diagramas de flujo
 
Tipos de algoritmos
Tipos de algoritmosTipos de algoritmos
Tipos de algoritmos
 
Pseint
PseintPseint
Pseint
 
Algoritmo Secuenciales
Algoritmo SecuencialesAlgoritmo Secuenciales
Algoritmo Secuenciales
 

Destaque (14)

Manual Arduino Electronica
Manual Arduino Electronica  Manual Arduino Electronica
Manual Arduino Electronica
 
Folleto de word
Folleto de wordFolleto de word
Folleto de word
 
Calculo de Area de un Rectangulo en c++
Calculo de Area de un Rectangulo en c++Calculo de Area de un Rectangulo en c++
Calculo de Area de un Rectangulo en c++
 
C++
C++C++
C++
 
Paradigmas de la programación
Paradigmas de la programación Paradigmas de la programación
Paradigmas de la programación
 
Vectores en c++
Vectores en c++Vectores en c++
Vectores en c++
 
Quiz semana2 programacion c++
Quiz semana2 programacion c++Quiz semana2 programacion c++
Quiz semana2 programacion c++
 
Introducción
IntroducciónIntroducción
Introducción
 
Material estudio c
Material estudio cMaterial estudio c
Material estudio c
 
Algoritmos programacion
Algoritmos programacionAlgoritmos programacion
Algoritmos programacion
 
Intro. to prog. c++
Intro. to prog. c++Intro. to prog. c++
Intro. to prog. c++
 
lenguaje de programacion C++
lenguaje de programacion C++lenguaje de programacion C++
lenguaje de programacion C++
 
Basics of c++ Programming Language
Basics of c++ Programming LanguageBasics of c++ Programming Language
Basics of c++ Programming Language
 
Deep C
Deep CDeep C
Deep C
 

Semelhante a Algoritmos y programacion en C++

Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadorarestradal
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadorarestradal
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoJohanCaro5
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmoNombre Apellidos
 
03 Intro Programacion C
03 Intro Programacion C03 Intro Programacion C
03 Intro Programacion CEdwinRicardo
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño webDayraNieto9807
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño webkarenJulieth04
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfCarlosJahnsen3
 
Diseño de pseudocodigo
Diseño de pseudocodigoDiseño de pseudocodigo
Diseño de pseudocodigoANIMEFLV
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxTIRZOANTONIOMEDINACA1
 
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdfEstructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdfSofiaMoreno74
 

Semelhante a Algoritmos y programacion en C++ (20)

Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
Solución de problemas aplicando la computadora
Solución de problemas aplicando la computadoraSolución de problemas aplicando la computadora
Solución de problemas aplicando la computadora
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Infoalgoritmo
InfoalgoritmoInfoalgoritmo
Infoalgoritmo
 
Algoritmo Y Pseudocódigo
Algoritmo Y PseudocódigoAlgoritmo Y Pseudocódigo
Algoritmo Y Pseudocódigo
 
Resolución de problemas y algoritmo
Resolución de problemas y algoritmoResolución de problemas y algoritmo
Resolución de problemas y algoritmo
 
TEMA11.ppt
TEMA11.pptTEMA11.ppt
TEMA11.ppt
 
Algoritmos
AlgoritmosAlgoritmos
Algoritmos
 
03 Intro Programacion C
03 Intro Programacion C03 Intro Programacion C
03 Intro Programacion C
 
Algoritmos 02
Algoritmos 02Algoritmos 02
Algoritmos 02
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 
Fundamentos de programación en diseño web
Fundamentos de programación en diseño webFundamentos de programación en diseño web
Fundamentos de programación en diseño web
 
Semana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdfSemana 1 - Principios de Algoritmos.pdf
Semana 1 - Principios de Algoritmos.pdf
 
Diseño de pseudocodigo
Diseño de pseudocodigoDiseño de pseudocodigo
Diseño de pseudocodigo
 
Algoritmos y programas estructuras
Algoritmos y programas estructurasAlgoritmos y programas estructuras
Algoritmos y programas estructuras
 
Algoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptxAlgoritmos (DFD, Pseudocodigos).pptx
Algoritmos (DFD, Pseudocodigos).pptx
 
Algoritmo
AlgoritmoAlgoritmo
Algoritmo
 
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdfEstructuras básicas_ Conceptos básicos de programación. 10-1.pdf
Estructuras básicas_ Conceptos básicos de programación. 10-1.pdf
 

Último

Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperiomiralbaipiales2016
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSYadi Campos
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.amayarogel
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfMaritzaRetamozoVera
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularMooPandrea
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxlclcarmen
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAJAVIER SOLIS NOYOLA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosJonathanCovena1
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdfDemetrio Ccesa Rayme
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfPaolaRopero2
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxMaritzaRetamozoVera
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesYanirisBarcelDelaHoz
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptxdeimerhdz21
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAEl Fortí
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Carlos Muñoz
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxYadi Campos
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Lourdes Feria
 

Último (20)

Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VSOCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
OCTAVO SEGUNDO PERIODO. EMPRENDIEMIENTO VS
 
La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.La triple Naturaleza del Hombre estudio.
La triple Naturaleza del Hombre estudio.
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptxTIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
TIPOLOGÍA TEXTUAL- EXPOSICIÓN Y ARGUMENTACIÓN.pptx
 
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
Programacion Anual Matemática5    MPG 2024  Ccesa007.pdfProgramacion Anual Matemática5    MPG 2024  Ccesa007.pdf
Programacion Anual Matemática5 MPG 2024 Ccesa007.pdf
 
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdfGUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
GUIA DE CIRCUNFERENCIA Y ELIPSE UNDÉCIMO 2024.pdf
 
Sesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docxSesión de aprendizaje Planifica Textos argumentativo.docx
Sesión de aprendizaje Planifica Textos argumentativo.docx
 
Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.Fe contra todo pronóstico. La fe es confianza.
Fe contra todo pronóstico. La fe es confianza.
 
PIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonablesPIAR v 015. 2024 Plan Individual de ajustes razonables
PIAR v 015. 2024 Plan Individual de ajustes razonables
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
Plan Refuerzo Escolar 2024 para estudiantes con necesidades de Aprendizaje en...
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...Caja de herramientas de inteligencia artificial para la academia y la investi...
Caja de herramientas de inteligencia artificial para la academia y la investi...
 

Algoritmos y programacion en C++

  • 1.
  • 2. UNIVERSIDAD PRIVADA ANTENOR ORREGO FACULTAD DE INGENIERIA CARRERA PROFESIONAL DE INGENIERIA ELECTRONICA Ing. Alejandro Martin Leon Cerna Semana 02: EL ALGORITMO Y SUS HERRAMIENTAS
  • 3. Método que describe la solución de un problema computacional mediante una serie de pasos precisos, definidos y finitos. • Preciso: Indicar el orden de realización en cada paso. • Definido: Al repetir los pasos “n” veces se obtiene el mismo resultado. • Finito: Tiene un numero determinado de pasos. La solución de un algoritmo debe describir tres partes: • Entrada: Datos que se necesitan para poder ejecutarse. • Proceso: Acciones y cálculos a realizar. • Salida: Resultado esperado. Entrada Proceso Salida
  • 4. • Un algoritmo debe resolver el problema para el que fue formulado. Lógicamente, no sirve un algoritmo que no resuelve ese problema. • Los algoritmos son independientes del lenguaje de programación. Los algoritmos se escriben para poder ser utilizados en cualquier lenguaje de programación. • Los algoritmos deben ser precisos. Los resultados de los cálculos deben ser exactos, de manera rigurosa. No es válido un algoritmo que sólo aproxime la solución. • Los algoritmos deben ser finitos. Deben de finalizar en algún momento. No es un algoritmo válido aquel que produce situaciones en las que el algoritmo no termina. • Los algoritmos deben poder repetirse. Deben permitir su ejecución las veces que haga falta. No son válidos los que tras ejecutarse una vez ya no pueden volver a hacerlo por la razón que sea.
  • 5. • Validez: Un algoritmo es válido si carece de errores. Un algoritmo puede resolver el problema para el que se planteó y, sin embargo, no ser válido debido a que posee errores. • Eficiencia: Un algoritmo es eficiente si obtiene la solución al problema en poco tiempo. No lo es si tarda en obtener el resultado. • Óptimo: Un algoritmo es óptimo si es el más eficiente posible y no contiene errores. La búsqueda de este algoritmo es el objetivo prioritario del programador. No siempre podemos garantizar que el algoritmo hallado sea el óptimo, a veces sí.
  • 6. Hay tres fases en la elaboración de un algoritmo. • Análisis: En esta se determina cual es exactamente el problema a resolver. Que datos forman la entrada del algoritmo y cuales deberán obtenerse como salida. • Diseño: Elaboración del algoritmo. • Prueba: Comprobación del resultado. Se observa si el algoritmo obtiene la salida esperada para todas las entradas.
  • 7. • Para diseñar un algoritmo se debe comenzar por analizar e identificar las tareas mas importantes para resolver el problema y disponerlas en el orden en el que han de ser ejecutadas. En este curso utilizaremos el meto descendente (top-down), que va de los conceptos generales a los de detalle a través de refinamientos sucesivos. • En un algoritmo (basado en el método descendente), se deben de considerar tres partes:  Entrada: Información dada al algoritmo.  Proceso: Operaciones o cálculos necesarios para encontrar la solución del problema.  Salida: Respuestas dadas por el algoritmo o resultados finales de los cálculos.
  • 8. • Como ejemplo imagine que desea desarrollar un algoritmo que calcule la superficie de un rectángulo proporcionándole su base y altura. Lo primero que deberá hacer es plantearse y contestar a las siguientes preguntas:  Especificaciones de Entrada: ¿Qué datos son de entrada? ¿Cuántos datos se introducirán? ¿Cuántos son datos de entrada validos?  Especificaciones de Salida: ¿Cuáles son los datos de salida? ¿Cuántos datos de salida se producirán? ¿Qué precisión tendrán los resultados? ¿Se debe imprimir una cabecera?
  • 9. • El algoritmo en el primer diseño se podrá representar con los siguientes pasos:  Paso 1. Entrada desde periférico de entrada, por ejemplo teclado, de base y altura.  Paso 2. Calculo de la superficie, multiplicando la base por la altura.  Paso 3. Salida por pantalla de base, altura y superficie. El leguaje algorítmico debe de ser independiente de cualquier lenguaje de programación particular, pero fácilmente traducible a cada uno de ellos. Alcanzar estos objetivos conducirá al empleo de métodos normalizados para la representación de algoritmos, tales como los diagramas de flujo, diagrama Nassi-Schneiderman o pseudocódigo, comentados mas adelante.
  • 10. Para expresar la solución de un problema se pueden usar diferentes herramientas de programación, tales como diagrama de flujo (flow chart), diagrama N-S (Nassi Schneiderman), pseudocódigo. • Diagrama de flujo: Es una representación gráfica que utiliza símbolos normalizados por ANSI, y expresas las sucesivas instrucciones que se deben seguir para resolver el problema. Estas instrucciones no dependen de la sintaxis de ningún lenguaje de programación, sino que deben servir fácilmente para su transformación (codificación) en un lenguaje de programación.
  • 11.
  • 12.
  • 13.
  • 14. • Diagrama de Nassi Scheneiderman (N-S): Conocido también como el diagrama de Chapín, es como un diagrama de flujo pero sin flechas y con cajas continuas. • Pseudocódigo: Permite expresar las instrucciones en un lenguaje común (ingles, español, etc.) para facilitar tanto la escritura como la lectura de la solución de un programa. No existen reglas para escribir pseudocódigo.
  • 15.
  • 16.
  • 17. Son las acciones que debe realizar un algoritmo para resolver un problema. Las instrucciones mas comunes son las siguientes: A. Instrucciones de inicio / fin: Representa el inicio y fin de un algoritmo. B. Instrucciones de asignación: Representa la asignación de un valor a una variable, se puede representar usando una flecha o el símbolo de igualdad, el cual es usado por muchos de los lenguajes de programación.
  • 18. C. Instrucción de lectura: Representa el ingreso de datos mediante un dispositivo de entrada, que muchas veces es representado por un símbolo de teclado. D. Instrucción de escritura: Representa la salida de la información mediante un dispositivo de salida, puede ser representado por el símbolo de entrada/salida, por símbolo de pantalla o impresora.
  • 19. E. Instrucción de bifurcación: Cambian el flujo del programa según el resultado de una expresión lógica (condición).
  • 20. • Permiten describir y explicar, además sirve como ayuda para recordar y entender las operaciones que se van a ejecutar. • Los comentarios no son instrucciones, por lo tanto al ser traducido el código fuente a código binario (tiempo de compilación), los lenguajes de programación los ignoran. • Dependiendo el lenguaje de programación los comentarios se escriben usando cierta simbología, en este curso usaremos el símbolo // en los pseudocódigos para colocar comentarios. Ejemplo de Pseudocódigo
  • 21. Son palabras usadas por el lenguaje de programación que no deben ser utilizados como identificadores de variables, funciones, entre otros. • Algunas de las palabras reservadas C++ short, int, float, double, if, for, Switch … Son los nombres que asignamos a las variables, constantes, funciones, objetos, entre otros; y no pueden coincidir con las palabras reservadas porque ocasionaría ambigüedad, y el compilador no lo entendería. Por lo general, los identificadores deben de cumplir las siguientes reglas: • Deben comenzar por una letra. Evite usar ñ y tilde. • No debe coincidir con palabras reservadas del lenguaje de programación que esta utilizando.
  • 23. Representa un espacio de memoria RAM, el cual guarda un valor que servirá para algún proceso en articular; dicho valor puede ser modificado en cualquier momento. Las variables tienen, por lo general, un identificador (nombre) y, asignado, el tipo de dato que se esta utilizando; es decir, si almacena un numero (entero), si es texto o alfanumérico (cadena), si es un valor verdadero o falso (lógico) llamado también booleano. Ejemplo de Pseudocódigo
  • 24. Representa un espacio de memoria RAM, el cual guarda un valor que servirá para algún proceso en particular; dicho valor permanece fijo, es decir, no puede cambiarse en la ejecución del programa. Las constantes tienen, al igual que las variables, un identificador (nombre) y un tipo de dato. Ejemplo Pseudocódigo
  • 25. Al declarar una variable, debemos indicar el tipo de dato que es permitido almacenar en dicha variable. Cada lenguaje de programación trabaja con una variedad de tipo de datos; por lo general, todos usan los llamados «primitivos», que son los siguientes: A. Entero: Representa los números enteros (no almacena decimales). Ejemplo Pseudocódigo
  • 26. En el lenguaje de C++ el tipo entero se puede trabajar con “short”, “int” y “long”; la diferencia está en que unos almacenan rangos de números diferentes, llamados también «entero corto» y «entero largo». Ejemplo C++ Ejemplo C++
  • 27. B. Real: Representan los números reales (almacenas decimales). Ejemplo Pseudocódigo En el lenguaje de Java, el tipo real se puede trabajar con float o double, la diferencia está en la cantidad de decimales que pueden almacenar, llamados también «precisión simple» y «precisión doble». Ejemplo C++
  • 28. C. Carácter: Representa un carácter de cualquier tipo: texto, numero, símbolo, etc. El valor se coloca entre comillas simples. Ejemplo Pseudocódigo Ejemplo C++
  • 29. D. Lógico: Representan los valores <<verdadero>> o <<falso>>, conocidos también como boolean, no se colocan comillas simples ni dobles. Ejemplo Pseudocódigo En C++ se utiliza el tipo de dato llamado <<boolean>>, para almacenar valores lógicos. Ejemplo C++
  • 30.
  • 31. Son los que permiten realizar los cálculos entre valores fijos y variables. Los operadores se clasifican en: aritméticos, relacionales, lógicos y de cadena. Sobre estos se trata a continuación: A. Operadores Aritméticos: Son aquellos operadores que permiten realizar las operaciones aritméticas, de la misma forma como se utilizan en las matemáticas.
  • 32. Dependiendo el lenguaje de programación los operadores varían o no implementan uno u otro operador; en el caso de C++ implementan los siguientes: Para elevar a una potencia se usa pow (9.0, 2.0), dentro de los parámetros se coloca números reales (double), y para división entera se usa / pero con números enteros. División Real N = 9.0 / 4.0 // retorna 2.25 División Entera N= 9 / 4 // retorna 2
  • 33.
  • 34. B. Operadores Relacionales: Llamados también operadores de comparación, y permiten evaluar si dos valores guardan alguna relación entre si. Dependiendo el lenguaje de programación los operadores varían o no implementan uno u otro operador; en el caso de C++ varia la simbología en algunos.
  • 35. Expresiones lógicas (condiciones) – (algoritmo) C. Operadores Lógicos: Son aquellos operadores que se utilizan en combinación con los operadores de relación.
  • 36. <<Y>> lógico: Si p y q son valores lógicos, ambos deben ser verdaderos para que Y devuelva verdadero. Expresiones lógicas (condiciones) <<O>> lógico: Si p y q son valores lógicos, uno de ellos deben ser verdadero para que O devuelva verdadero. Expresiones lógicas (condiciones) – (algoritmos)
  • 37. <<No>> lógico: Si p es un valor lógico, el operador No invierte su valor. Expresiones lógicas (condiciones) Para C++se utiliza la siguiente simbología:
  • 38. Todos los lenguajes de programación implementan estructuras para controlar la ejecución de un programa, estas son: • Estructura secuencial. • Estructura selectiva simple y doble. • Estructura selectiva múltiple. • Estructura repetitiva mientras. • Estructura repetitiva para.
  • 39. Problema n.° 1 Enunciado: Dados dos números enteros, hallar la suma. Análisis: Para la solución de este problema se requiere que el usuario ingrese dos números enteros; luego que el sistema realice el cálculo respectivo para hallar la suma. Para esto se usará la siguiente expresión: Expresión matemática: S = n1 + n2 Expresión algorítmica: S ← n1 + n2 Entrada: • Dos números (n1 y n2) Salida: • La suma (S)
  • 40. Algoritmo Diagrama de flujo Pseudocódigo Fin Escribir s Inicio n1, n2, s : Entero Leer n1, n2 s ← n1 + n2 Inicio // Variables n1, n2, s : Entero // Entrada Leer n1, n2 // Proceso s ← n1 + n2 // Salida Escribir s Fin
  • 41. Problema n.° 2 Enunciado: Hallar el cociente y el residuo (resto) de dos números enteros. Análisis: Para la solución de este problema se requiere que el usuario ingrese dos números enteros ; luego el sistema realice el calculo respectivo para hallar el cociente y residuo, para esto se usara la siguiente expresión: Expresión Algorítmica: c ← n1 / n2 r ← n1 Mod n2 Entrada: • Dos números (n1 y n2) Salida: • El cociente (c) • El residuo (r)
  • 42. Algoritmo Diagrama de flujo Pseudocódigo Fin Escribir c, r Inicio n1, n2, c, r : Entero Leer n1, n2 c ← n1 n2 r ← n1 Mod n2 Inicio // Variables n1, n2, c, r : Entero // Entrada Leer n1, n2 // Proceso c ← n1 n2 r ← n1 Mod n2 // Salida Escribir c, r Fin
  • 43. Problema n.° 3 Enunciado: Dado el valor de venta de un producto, hallar el IGV (19%) y el precio de venta. Análisis: Para la solución de este problema se requiere que el usuario ingrese el valor de venta del producto; luego, que el sistema realice el cálculo respectivo para hallar el IGV y el precio de venta. Para esto se usara la siguiente expresión: Expresión algorítmica: igv ← vv * 0.19 pv ← vv + igv Entrada: • Valor de venta (vv) Salida: • El IGV (igv) • El precio de venta (pv)
  • 44. Algoritmo Diagrama de flujo Pseudocódigo Inicio // Variables vv, igv, pv : Real // Entrada Leer vv // Proceso igv ← vv * 0.19 pv ← vv + igv // Salida Escribir igv, pv Fin Fin Escribir igv, pv Inicio vv, igv, pv : Real Leer vv igv ← vv * 0.19 pv ← vv + igv
  • 45. Problema n.° 4 Enunciado: Hallar la potencia de a, donde <<a>> y <<n>> pertenecen a los números enteros positivos. Análisis: Para la solución de este problema se requiere que el usuario ingrese dos números enteros positivos <<a>> y <<n>>; luego, que el sistema procese y obtenga la potencia p. Expresión matemática: 𝑝 = 𝑎 𝑛 = 𝑎 𝑥 𝑎 𝑥 𝑎 𝑥 … 𝑥 𝑎 Expresión algorítmica: p ← a ^ n Entrada • Dos números enteros (a, n) Salida: • La potencia (p) n factores
  • 46. Algoritmo Diagrama de flujo Pseudocódigo Inicio // Variables a, n : Entero corto p : Entero largo // Entrada Leer a, n // Proceso p ← a ^ n // Salida Escribir p Fin Fin Escribir p Inicio a, n : Entero corto p : Entero largo Leer a, n p ← a ^ n
  • 47. Problema n.° 5 Enunciado: Determinar la suma de los N primeros números enteros positivos, use la siguiente formula. 𝑺 = 𝑵(𝑵 + 𝟏) 𝟐 Análisis : Para la solución de este problema se requiere que el usuario ingrese un número entero positivo <<n>>; luego, que el sistema procese y obtenga la suma de los primeros números enteros positivos hasta <<n>>. Expresión matemática: 𝑺 = 𝑵(𝑵 + 𝟏) 𝟐 Expresión algorítmica: s ← (n * (n+1)) 2 Entrada: • Numero entro (n) Salida: • La suma (s)
  • 48. Algoritmo Diagrama de flujo Pseudocódigo Inicio // Variables n, s : Entero corto // Entrada Leer n // Proceso s ← (n * (n+1)) / 2 // Salida Escribir s Fin Fin Escribir s Inicio n, s : Entero corto Leer n s ← (n * (n+1)) / 2
  • 49. Problema n.° 6 Enunciado: Crear un programa para encontrar el área de un circulo, usar la formula : 𝑨 = 𝝅. 𝒓² • Área (A): Es el área del circulo. • PI (π): Representa el valor constante pi (3.14159) • Radio (r): Es el radio del circulo. Análisis: Para la solución de este problema se requiere que el usuario ingrese el radio del circulo; luego, que el sistema procese y obtenga el área del circulo. Expresión aritmética: 𝑨 = 𝝅. 𝒓² Expresión algorítmica: A ← 3.14159 * r ^ 2 Entrada: • Radio (r) Salida: • Área (a)
  • 50. Algoritmo Diagrama de flujo Pseudocódigo Inicio //Constantes PI = 3.14159 : Real // Variables r, a : Real // Entrada Leer r // Proceso a ← PI * r ^ 2 // Salida Escribir a Fin Fin Escribir a Inicio n, a : Real Leer r a ← PI * r ^ 2 PI ← 3.14159 : Real
  • 51. Problema n.° 7 Enunciado: Crear un programa que permita convertir una cantidad de segundos en horas, minutos y segundos: Análisis: Para la solución de este problema se requiere que el usuario ingrese un tiempo expresado en segundo, luego que el sistema procese y obtenga las hora, minutos y segundos restantes. Entrada: • Tiempo en segundos (t) Salida: • Horas (h) • Minutos (m) • Segundos (s)
  • 52. Diagrama de flujo Pseudocódigo Inicio //Constantes HORA = 360 : Entero MINUTO = 60 : Entero // Variables t, h, m, s : Entero // Entrada Leer t // Proceso h ← t HORA t ← t Mod HORA m ← t Minuto s ← t Mod Minuto // Salida Escribir h, m, s Fin Fin Escribir a Inicio t, h, m, s : Entero Leer t h ← t HORA t ← t Mod HORA m ← t Minuto s ← t Mod Minuto HORA = 360 : Entero MINUTO = 60 : Entero
  • 53. Problemas Propuestos Problema n.° 1 Enunciado: Hallar el área y el perímetro de un cuadrado. Problema n.° 2 Enunciado: Convertir una cantidad de grados Fahrenheit a Celsius y Kelvin. Problema n.° 3 Enunciado: Convertir grados sexagesimales a centesimales. Problema n.° 4 Enunciado: Dado 4 números enteros positivos, obtener el porcentaje de cada uno en función a la suma de los 4 números ingresados. Problema n.° 5 Enunciado: Obtener el valor de c y d de acuerdo a las siguientes formulas. 𝑐 = (4𝑎4+3𝑏𝑎+𝑏2) 𝑎2−𝑏2 𝑑 = (3𝑐2+𝑎+𝑏) 4