Está en la página 1de 26

ESTRUCTURAS DE PROGRAMACIÓN

Lenguaje de Programación

INTRODUCCIÓN

Concepto de Programa

Un programa de computador es un conjunto de


instrucciones, órdenes dadas a la máquina, que
producirán la ejecución de una determinada tarea.

En esencia, un programa es
un medio para conseguir un fin.

¿Cuál es el fin?

1/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ASIGNACIÓN NUMÉRICA

Diagrama de flujo

Código Matlab
a pi/2.54 a=pi/2.54;
u 45.76a u=45.76*a;
t 4a/pi t=4*a/pi;
y 54.9 y=54.9;
C 10*cos(a)+(u+5t)/(3y) c=10*cos(a)+(u+5*t)/(3*y)
y y+1 y=y+1;

2/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ASIGNACIÓN ALFANUMÉRICA

Diagrama de flujo

Código Matlab
nombre “Pedro” nombre=‘Pedro’;
Q1 nombre Q1=nombre;

3/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

LECTURA

Diagrama de flujo
Código Matlab

Numérica
Leer Radio=input('Ingrese Radio = ');
Radio, Ang Ang=input('Ingrese Angulo = ');

Alfanumérica Leer animal=input('Ingrese animal = ','s');


animal

Color=input('Ingresar color = ','s');


Alfanumérica Leer
y numérica precio=input('Ingresar precio = ');
Color, precio

4/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESCRITURA

Diagrama de flujo
Código Matlab

IMPRIMIR fprintf(1,'\n La suma es: %f',Sum);


“La suma es:”,Sum

Diagrama de flujo

Código Matlab
IMPRIMIR
“El color es:”,P fprintf (1,'\n El color es: %s',P);

5/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SECUENCIAL

clc
INICIO clear all
%
% Lectura de datos
LEER % ----------------
a,b a=input('Ingresar valor 1:');
b=input('Ingresar valor 2:')
%
S a+b % Cálculos
% --------
P a*b
S=a+b;
P=a*b;
IMPRIMIR %
“La suma es:”,S % Impresión de resultados
“El producto es:”,P % -----------------------
fprintf(1,'\n La suma es : %f’,S);
fprintf(1,'\n El productos es: %f’,P);
FIN %
close all

6/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURAS SELECTIVAS

Las estructuras selectivas se utilizan


para que el programa
tome decisiones a partir de la evaluación
de expresiones lógicas

Las estructuras selectivas básicas son:

- Simples

- Dobles

- Múltiples

7/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Simple

Diagrama de flujo

Código Matlab

%
Expresión F
if (Expresión lógica)
lógica
Conjunto
de
V sentencias
end
Conjunto de %
sentencias

8/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Simple

PROBLEMA 1

Desarrollar un algoritmo, utilizando diagrama de flujo,


que lea un número por consola.
Si el número ingresado es positivo, se debe imprimir
“Procesamiento positivo”
si no, el programa debe terminar su ejecución.

9/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Doble

Diagrama de flujo
Código Matlab

%
if (Expresión lógica)
V Expresión F Conjunto 1
lógica de
sentencias
else
Conjunto 2
Conjunto 1 Conjunto 2
de
de sentencias de sentencias
sentencias
end
%

10/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Doble

PROBLEMA 2

Desarrollar un algoritmo, utilizando diagrama de flujo,


que lea tres números por consola.
Si el primer número ingresado es negativo,
se debe imprimir el producto de los números ingresados
si no lo es,
se debe imprimir la suma.

11/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Múltiple

Diagrama de flujo
Código Matlab
F
Exp 1
%
V if (Exp 1)
Sentencias 1
Sentencias 1
elseif (Exp 2)
F
Sentencias 2
Exp 2 elseif (Exp n)
V Sentencias n
Sentencias 2 else
Sentencias m
end
Exp n F %
V
Sentencias n Sentencias m

12/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Múltiple

PROBLEMA 3

Diseñar un algoritmo que lea una calificación en


escala numérica de 0 a 10 y la transforme en la
equivalente en escala conceptual

0≤Nota< 5 …... insuficiente


5≤Nota< 6 …... suficiente
6≤Nota< 8 …... bueno
8≤Nota≤10 …... sobresaliente

13/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Múltiple

Diagrama de flujo Código Matlab

%
switch (Expr. arit.)
Expresión case V1
Aritmética Sentencias V1
case V2
Sentencias V2
V1 case Vn
Otro
V2 Vn Sentencias Vn
otherwise
Sentencias Sentencias Sentencias Sentencias
Sentencias Otro
V1 V2 Vn Otro
end
%

14/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Múltiple

PROBLEMA 4

Diseñar un algoritmo que escriba el nombre del


día de la semana en función del valor ingresado por teclado

Valor 1 …... lunes


Valor 2 …... martes
.
.
.
Valor 7 …... domingo

15/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Anidadas


Diagrama de flujo

F
Exp. 1
Código Matlab
V %
Sentencias 1 if (Exp. 1)
Sentencias 1
F if (Exp. 2)
Exp. 2
if (Exp. 3)
V Sentencias 3
F V else
Exp. 3 Sentencias 2
Sentencias 2 Sentencias 3 end
end
Sentencias 4
end
%
Sentencias 4

16/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Anidadas

PROBLEMA 5

Desarrollar un algoritmo, utilizando diagrama de flujo,


que lea las notas Test1, Test2, Certamen1 y Certamen2 y
determine el promedio sabiendo que la ponderación
de los Test es 15% y los certámenes es 35%.

El algoritmo debe verificar que las notas estén dentro


del rango admisible (1-7).

En caso que una nota esté fuera del rango,


el programa debe terminar su ejecución.

17/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA SELECTIVA: Anidadas

PROBLEMA 6

Desarrollar un algoritmo, utilizando diagrama de flujo,


que lea la hora en formato HH MM SS y calcule
la hora correspondiente a un segundo después.

La hora, los minutos y los segundos se ingresan


como números enteros.

18/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS

Los computadores están especialmente diseñados para realizar


aplicaciones en que una operación debe repetirse muchas veces.

Las estructuras que repiten una secuencia de instrucciones un número


determinado de veces se denominan bucles.

La repetición de una secuencia de acciones se llama ITERACIÓN

La estructura de repetición requiere de una CONDICIÓN DE SALIDA

Las estructuras repetitivas básicas son:

- Mientras
- Repetir
- Para

19/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS: Repetir

La secuencia se repite mientras la expresión lógica sea FALSA

Diagrama de flujo

Conjunto de
sentencias

F Expresión
Lógica

20/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS: Mientras

La secuencia se repite mientras la expresión lógica sea VERDADERA

Diagrama de flujo
Código Matlab

Expresión F %
Lógica while (Expresión Lógica)
V
Conjunto
de
Conjunto de sentencias
sentencias
end
%

21/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS: Mientras

PROBLEMA 7

Diseñar un algoritmo que encuentre el entero positivo


mayor (num), tal que la suma 1+2+3+........+ num
Sea menor que un valor ingresado por teclado (limit).

22/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS: Para

La secuencia se repite un número predeterminado de veces

Diagrama de flujo Código Matlab

%
for a=Vi:Inc:Vf
a > Vf
a=Vi, Inc, Vf
Conjunto
de
sentencias
Conjunto de
sentencias end
%

23/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS: Para

PROBLEMA 8

Diseñar un algoritmo que permita determinar la suma


de los 20 números enteros siguientes a un valor
ingresado por teclado (valing).

24/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS: Anidadas

Diagrama de flujo
Código Matlab
a > Vf %
a=Vi, Inc, Vf
for a=Vi:Inc:Vf

Sentencias 1 Sentencias 1

while (Exp. Lóg)


Exp. Lóg. F
Sentencias 2
V
end
Sentencias 2
end
%

25/26
ESTRUCTURAS DE PROGRAMACIÓN
Lenguaje de Programación

ESTRUCTURA REPETITIVAS

PROBLEMA 9

Diseñar un algoritmo que sume independientemente


los número pares y los números impares
comprendidos entre 1 y 100.

26/26

También podría gustarte