jmartel s-04 - secuencial
DESCRIPTION
programación - secuencialTRANSCRIPT
![Page 1: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/1.jpg)
PROGRAMACIÓN PARA INGENIERÍA
Semana 04: Estructuras Secuenciales 2
Ing. Jorge A. Martel Torres
![Page 2: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/2.jpg)
UNTELS JORGE A. MARTEL TORRES 2
Contenido
• Estructuras de Programación
– Secuencial, Decisión, Repetitivas
• Elementos y estructura de un programa en C/C++
– Tipos de datos.
– Operadores, Tipos
• Instrucciones de I/O
– Sentencias: ;, { }, //, /* */
– Sentencias cin >>, cout <<, endl
– Funciones:• printf(), scanf(), clrscr(), gotoxy(), getch()
• system (“color f0”) , system(“pause”), system (“cls”);
![Page 3: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/3.jpg)
ESTRUCTURA DEL ALGORITMO
![Page 4: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/4.jpg)
UNTELS JORGE A. MARTEL TORRES 4
ESTRUCTURA DEL ALGORITMO
CUERPO
PRINCIPAL
DEL
ALGORITMO
CABECERA
DEL
ALGORITMO
#Incluir <LibreríaA.h>
#Incluir <LibreríaB.h>
// NombreAlgoritmo
// Autor: Martel Torres, Jorge Augusto
// Sección: III - Ingenierías
// Declaración de Variables Públicas
// Declaración de Constantes
#Define NombreConstante Valor
Principal_Inicio()
// Declaración de Variables Locales
TipoDatoVariable NombreVariable;
//Bloque de instrucciones y/u operaciones
Fin
![Page 5: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/5.jpg)
UNTELS JORGE A. MARTEL TORRES 5
//programa c01.cpp
//autor: Jorge Augusto Martel Torres
#include <iostream>
#include <cstdlib>
using namespace std;
int intN;
float fltSuma;
#define num 1.653
main() {
system (“color f0”);
system (“cls”);
const double num2 = 1.653 ;
cout << "Ingresar Número Entero: ";
cin >> intN;
fltSuma = intN * ( intN + 1 ) / 2.0f + num;
cout << "La suma de los "
<< intN + num2
<< "numeros enteros es: "
<< fltSuma;
system (“pause”);
}
Estructura de un Programa en C++
Cabecera
Función
Principal
Declaración variables y
constantes
Invocación a las librerías
básicas
Instrucciones
y/u operaciones
de la función
principal
![Page 6: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/6.jpg)
Estructuras de Programación
![Page 7: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/7.jpg)
UNTELS JORGE A. MARTEL TORRES 7
DIAGRAMA DE FLUJO
INGRESO POR
EL TECLADO
SALIDA
POR
PANTALLA
INICIO
FIN
PROCESO
INICIO
PROCESO
SALIDA
POR
PANTALLA
FIN
PROCESO
V
F
MIENTRAS
PROCESOV
HACER MIENTRAS
F
PROCESOPROCESO
VF
SI DOBLE
1
ACCIONES
S2
ACCIONES
S3
ACCIONES
OTROS
ACCIONES
S1
2 3 OTRO
SELECTOR DE CASOS
PROCESO
V
SI SIMPLE
F
VI, VF, INCR
PROCESOV
DESDE PARAF
V
![Page 8: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/8.jpg)
UNTELS JORGE A. MARTEL TORRES 8
DIAGRAMA NASSI-SCHNEIDERMAN (D-NS)
Nombre del Algoritmo;
Inicio
Acción 1;
Acción 2;
Acción 1;
...
Acción n;
Fin.
Acciones
por SI o
Verdad
SI NO
Acciones
por No o
Falsedad
( ExpreLogica )
MIENTRAS ( ExpreLogica )
Acciones que se
ejecutaran si la
CONDICION es
VERDAD
hacer
MIENTRAS ( ExpreLogica ) ;
Acciones que se
ejecutaran mientras
QUE LACONDICION
es VERDAD
PARA VI, ( ExpreLogica ), INCREMENTO
FIN_PARA
ACCIONESACCIONES
S2
ACCIONES
S3
ACCIONES
OTROS
ACCIONES
S1
( VARIABLE )
1 2 3 OTRO
Acciones
por SI o
Verdad
SI
( ExpreLogica )
![Page 9: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/9.jpg)
UNTELS JORGE A. MARTEL TORRES 9
PSEUDOCODIGO
MIENTRAS
Mientras ( ExpLogica )
Acciones Solo Si
la condición es Verdad
Fin_Mientras
V
HACER
Hacer
Acciones Solo Si
la condición es Verdad
Mientras ( ExpLogica ) ;
V
PARA /DESDE/ HASTA
Para ( Vari; VIni; el; Incre )
Acciones Que Solo Si
la Vari >= Vfin
Fin ( ExpLogica )
V
SELECTOR DE MULTIPLE
Seleccionar ( Variable )
CASO n1:
Acciones
CASO n2:
Acciones
CASO n3:
Acciones
Fin_Seleccionar
SELECCION DOBLE
Si ( ExpLogica )
Acciones Si
la condición
es verdad
Si_No
Acciones Si
la condición
es Falso
Fin_Si
V
F
SECUENCIALNombre del Algoritmo;Inicio
Acción 1;
Acción 2;
Acción 1;
...
Acción n;
Fin.
V
SELECCION SIMPLE
Si ( ExpLogica )
Acciones Solo Si
la condición
es Verdad
Fin_Si
![Page 10: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/10.jpg)
Estructura Secuencial!!Avance, avance, ... Respete la cola !!
Acción 1 Acción 2 Acción 3Inicio Fin
Acción 2
Acción 3
Acción 1
Inicio
Fin
![Page 11: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/11.jpg)
UNTELS JORGE A. MARTEL TORRES 11
Estructura Secuencial
INGRESO POR
EL TECLADO
SALIDA
POR
PANTALLA
INICIO
FIN
PROCESO
INICIO
PROCESO
SALIDA
POR
PANTALLA
FIN
Nombre del Algoritmo;
Inicio
Acción 1;
Acción 2;
Acción 1;
...
Acción n;
Fin.
Nombre del Algoritmo;Inicio
Acción 1;
Acción 2;
Acción 1;
...
Acción n;
Fin.
![Page 12: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/12.jpg)
UNTELS JORGE A. MARTEL TORRES 12
PSEUDOCODIGO
• //, Indica Línea de Comentario
• /*, Indica Inicio de Bloque de Comentario
• */, Indica Fin de Bloque de Comentario
• Incio, Indica Principio del algoritmo
• Fin, Indica Terminación del Algoritmo
• LimpiarPantalla(), Indica Limpiar la Pantalla (system(“cls”))
• ;, Indica separador de Instrucciones o de operaciones
• cSalida, Permite la SALIDA o Impresión de datos por el Monitor
• cEntrada, Permite la ENTRADA o Captura de datos desde el
teclado
• ObtenerCaracter(). Permite obtener carácter desde el teclado.
• IrHastaXY(X, Y). Permite colocar el cursor en una determinada
coordenada de la pantalla (X = Columna, Y = Fila)
![Page 13: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/13.jpg)
UNTELS JORGE A. MARTEL TORRES 13
cSalida ()
cout <<cSalida, Permite la SALIDA o Impresión de datos por el Monitor
Formatos:
– cSalida ( “Palabras” ) ;
– cSalida ( “Palabras” ) ;
– cSalida ( NombreVariable ) ;
– cSalida ( NombreVariable ) ;
– cSalida ( “Palabras” , NombreVariable ) ;
– cSalida ( “Palabras” , NombreVariable ) ;
– cSalida ( “Palabras” , NombreVariable , “Palabras” ) ;
– cSalida ( “Palabras” , NombreVariable , “Palabras” ) ;
– cSalida ( “Palabras” , NombreVariable1 , NombreVariable2 ) ;
– cSalida ( NombreVariable1 , NombreVariable2 ) ;
![Page 14: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/14.jpg)
UNTELS JORGE A. MARTEL TORRES 14
cSalida ()
cout <<cout, Permite la SALIDA o Impresión de datos (jala datos de la RAM) o
mensajes impresos por el Monitor
Formatos(algunos):
• cout << “Palabras” ;
• cout << “Palabras” << endl ;
• cout << NombreVariable ;
• cout << NombreVariable << endl;
• cout << “Palabras” << NombreVariable ;
• cout << “Palabras” << NombreVariable << endl ;
• cout << “Palabras” << NombreVariable << “Palabras” ;
• cout << “Palabras” << NombreVariable << “Palabras” << endl ;
• cout << “Palabras” << NombreVariable1 << NombreVariable2 << endl ;
• cout << NombreVariable1 << NombreVariable2 << endl;
![Page 15: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/15.jpg)
UNTELS JORGE A. MARTEL TORRES 15
cEntrada
cin >>
cEntrada, Permite la ENTRADA o Captura de datos desde el
teclado
Formatos:
– cEntrada ( NombreVariable ) ;
– cEntrada ( NombreVariable1 , NombreVariable2 ) ;
![Page 16: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/16.jpg)
UNTELS JORGE A. MARTEL TORRES 16
cEntrada
cin >>
cin, Permite la ENTRADA o Captura de datos desde el teclado
Formatos:
– cin >> NombreVariable ;
– cin >> NombreVariable1 >> NombreVariable2 ;
![Page 17: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/17.jpg)
UNTELS JORGE A. MARTEL TORRES 17
Otras Funciones
• LimpiarPantalla() Permite limpiar la pantalla
• IrHastaXY() Permite ubicar el cursor en una determinada coordenada
de la pantalla (monitor)
IrHastaXY (Columna, Fila);
0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80
5
1 0
1 5
20
25
Filas
Columnas
![Page 18: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/18.jpg)
Problema 01
• Diseñe el algoritmo que permita calcular la
suma de los N números enteros positivos, si
se sabe que la cantidad de números a sumar
es ingresado desde el teclado. Muestre UD
los resultados por la pantalla.
• S = n (n + 1)
2
UNTELS JORGE A. MARTEL TORRES 18
![Page 19: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/19.jpg)
UNTELS JORGE A. MARTEL TORRES 19
//programa c01.cpp
//autor: Jorge Augusto Martel Torres
#include <iostream>
#include <cstdlib>
using namespace std;
int intN;
float fltSuma ;
#define num 2.0f
main() {
system (“color f0”);
system (“cls”);
const double num2 = 1.0f ;
cout << "Ingresar Número Entero: ";
cin >> intN;
fltSuma = intN * ( intN + num2 ) / num;
cout << "La suma de los "
<< intN
<< "numeros enteros es: "
<< fltSuma << endl;
system (“pause”);
}
Estructura de un Programa en C++
Cabecera
Función
Principal
Declaración variables y
constantes
Invocación a las librerías
básicas
Instrucciones
y/u operaciones
de la función
principal
![Page 20: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/20.jpg)
Problema 02
#include <math.h>
using namespace std ;
float R, area, perimetro;
#define pim 3.1416
main() {
system (“color f0”);
system (“cls”);
cout << "Ingresar radio: " ;
cin >> R;
area = pim * ( float ) pow ( r , 2.0f );
perímetro = 2.0f * pim * R;
system (“pause”);
cout << “RESULTADOS:\n”;
cout << "área = " << area << endl
<< "longitud = “ << perímetro << endl
<< "de rario : " << R << endl ;
}
UNTELS JORGE A. MARTEL TORRES 20
Calcular el área del
circulo y el
perímetro(lon) de
circunferencia. Se
ingresa desde el teclado
el valor de “r”
Nota: uso de castig
(conversión de tipo de dato
para tipos de datos)
![Page 21: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/21.jpg)
UNTELS JORGE A. MARTEL TORRES 21
Sentencias;
{
}
/*
*/
//
Separador de Instrucciones o de Operaciones
Inicio de Bloque de Instrucciones
Fin de bloque de Instrucciones
Inicio de Bloque de Comentarios
Fin de bloque de Comentarios
Línea de Comentarios
![Page 22: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/22.jpg)
UNTELS JORGE A. MARTEL TORRES 22
Instrucciones I/O• cout
– cout << “Palabras ” ;
– cout << “Palabras ” << endl ;
– cout << NombreVariable ;
– cout << NombreVariable << endl ;
– cout << “Palabras ” << NombreVariable ;
– cout << “Palabras ” << NombreVariable << endl ;
– cout << “Palabras ” << NombreVariable << “Palabras ” ;
– cout << “Palabras ” << NombreVariable << “Palabras ” << endl ;
– cout << “Palabras ” << NombreVariable1 << NombreVariable2 ;
– cout << NombreVariable1 << NombreVariable2 ;
![Page 23: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/23.jpg)
• cin
– cin >> NombreVariable ;
– cin >> NombreVariable1 >> NombreVariable2 ;
UNTELS JORGE A. MARTEL TORRES 23
![Page 24: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/24.jpg)
UNTELS JORGE A. MARTEL TORRES 24
Funciones I/O
Funciones de Entrada
scanf Lee los datos desde el teclado a través de una
dirección (&) y los asigna a las variables
scanf (“formato de datos”, &d1, &d2, ..., &dn);
Funciones de Salida
printf Imprime los valores de las variables
printf (“formato de datos y/o comentarios”, V1, V2, ..., Vn);
Simbolo Significdo
%d Entero
%f Flotante
%c Carácter
%s string
Simbolo Significdo
\b retroceso
\n cambio de linea
\t tabulado horizontal
\r retroceso de carro
\07 pitido
\a alerta
![Page 25: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/25.jpg)
UNTELS JORGE A. MARTEL TORRES 25
Otras Funciones• clrscr() Permite limpiar la pantalla (syetem(“cls”))
• gotoxy() Permite ubicar el cursor en una determinada coordenada de
la pantalla (monitor)
gotoxy (Columna, Fila);
0 0 5 10 15 20 25 30 35 40 45 50 55 60 65 70 75 80
5
1 0
1 5
20
25
Filas
Columnas
![Page 26: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/26.jpg)
UNTELS JORGE A. MARTEL TORRES 26
ContadoresOP Operación Ejemplo Equivalente
+= suma más asignacion c += 7; c = c + 7;
-= resta más asignacion d -= 4; d = d - 4;
= Asignacion simple a = b;
*= multiplicacion más asignacion e *= 5; e = e * 5
/= division más asignacion f /= 3; f = f / 3
%= modulo más asignacion g %= 9; g = g % 3
OP Si Operación
a ++; Utiliza el valor actual, después suma 1
++ b; suma 1, después utiliza el valor actual
c --; Utiliza el valor actual, después quita 1
-- d; quita 1, después utiliza el valor actual
++
--
![Page 27: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/27.jpg)
Ejercicios
UNTELS JORGE A. MARTEL TORRES 27
![Page 28: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/28.jpg)
• Si:
𝒗 =𝒆
𝒕
UNTELS JORGE A. MARTEL TORRES 28
1. Realizar el programa para
hallar “v”, si se ingresa desde el
teclado: e, t
2. Realizar el programa para
hallar “e”, si se ingresa desde el
teclado los valores de: v, t
3. Realizar el programa para
hallar “t”, si se ingresa desde el
teclado los valores de: e, v
![Page 29: JMARTEL S-04 - Secuencial](https://reader038.vdocumento.com/reader038/viewer/2022102708/5695d1b41a28ab9b029798d1/html5/thumbnails/29.jpg)
Control1. Diseñe el algoritmo (programa) para calcular el área(a) ,
diagonal y el perímetro(p) del cuadrado, si se ingresa desde
el teclado su lado (L).
2. Diseñe el algoritmo (programa) para calcular el área(a) ,
diagonal y el perímetro(p) del rectángulo, si se ingresa
desde el teclado sus lados (x, y).
3. Diseñe el algoritmo (programa) para calcular el área(a) y el
perímetro(p) del rombo, si se ingresa desde el teclado sus
solo sus diagonales (D, d).
4. Diseñe el algoritmo (programa) para calcular el área(a) y el
perímetro(p) del triangulo rectángulo, si se ingresa desde el
teclado solo sus catetos (x, y).UNTELS JORGE A. MARTEL TORRES 29