Está en la página 1de 18

Universidad Nacional de Jujuy

Facultad de ingeniería
Introducción a la informática

Clase Virtual 04

Samuel Franco – José Zapana

UNJu-FI-Introducción a la informática 1
Algoritmo

Es un conjunto prescrito de instrucciones o reglas


bien definidas, ordenadas y finitas que permite
realizar una actividad mediante pasos sucesivos,
que no generen dudas a quien deba llevarlo a
cabo.

Instrucciones ≡ bloques ≡ estructuras ≡ acciones


≡ ordenes ≡ sentencias

2
Análisis del problema

Leer Escribir
readln(); writeln(Args);
3
Teorema Fundamental de la Programación
Estructurada (T.F.P.E.)

Todo programa propio se puede escribir utilizando


únicamente las siguientes estructuras de control:
• secuenciales,
• selectivas,
• repetitivas.

4
Asignación en Pascal
Variable := Expresión

A := 8;
A := A /2+1;

5
Calcular el perímetro de una circunferencia
dado el Radio: Análisis del problema

• Datos de entrada: Radio


• Proceso: Perimetro := 2*PI*Radio
• Datos de Salida: Perimetro

6
Perímetro de una circunferencia

program PerimetroCircunferencia;
const
PI = 3.14159265;
var
Radio,Perimetro : real;
begin
write('Ingrese Radio ');
readln(Radio);
Perimetro := 2*PI*Radio;
writeln('El perimetro es ',Perimetro);
readln;
end.

7
Estructura selectiva: una acción

Condicional Simple Condicional Doble

if (exp.logica) then if (exp.logica) then


a1; a1
else
b1;

8
Estructura selectiva: varias acciones
Condicional Simple Condicional Doble
if (exp.logica) then
if (exp.logica) then begin
begin a1;
a1; a2;
a2; ...
... end
end; else
begin
b1;
b2;
...
end; 9
Ingresar un Numero y mostrar si es Negativo,
Cero o Positivo: Análisis del problema

• Datos de entrada: Numero


• Proceso:
(Numero<0) Mensaje ← “Negativo”
(Numero=0) Mensaje ← “Cero”
(Numero>0) Mensaje ← “Positivo”
• Datos de Salida: Mensaje

10
Ingresar Numero y mostrar si es Negativo, Cero o Positivo

program NegativoCeroPositivo;
var
Numero : integer;
Mensaje: string;
begin
write('ingrese numero ');
readln(Numero);
if (Numero < 0) then
Mensaje := 'Negativo';
if (Numero = 0) then
Mensaje := 'Cero';
if (Numero > 0) then
Mensaje := 'Positivo';
writeln('El numero es ',Mensaje);
readln;
end.
11
Ingresar Numero y mostrar si es Negativo, Cero o Positivo
program NegativoCeroPositivoCondDoble;
var
Numero : integer;
Mensaje: string;
begin
write('ingrese numero ');
readln(Numero);
if (Numero < 0) then
Mensaje := 'Negativo'
else
if (Numero = 0) then
Mensaje := 'Cero'
else
Mensaje := 'Positivo';
writeln('El numero es ',Mensaje);
readln;
end.
12
Estructuras Repetitivas: concepto

• Es la estructura de control que permite repetir


una instrucción o un conjunto de instrucciones
• La cantidad de veces que se repite depende
de la condición de finalización.
• Sinónimos: bucle, ciclo, iteración, repetición.
Tipos de estructuras repetitivas

• Mientras (expresión lógica)-finmientras.


– Para realizar cálculos

• Repetir- hastaque (expresión lógica).


– Para ingreso serial de datos

• Para-finpara
– Cuando se conoce el número de repeticiones
Repetir –Hastaque(): Pascal

repeat
a1;
a2;
...
an;
until (Exp. Lógica);

El concepto de Acumulador
Es una variable que permite guardar un valor que se
incrementa o disminuye en cantidades constantes o
no constantes dentro de un proceso iterativo, se
debe tener especial atención en el valor inicial y la
condición de la finalización de la iteración.
Forma general
V := Vi ;

V := V + X ;
Formas de finalización
- A pedido del operador
- Por valor centinela
- Por variable lógica (bandera)
- Por cantidad de repeticiones
Ejemplos:
-recaudación al final del día
-cantidad de goles a favor y en contra
-dinero que te queda luego de varias compras
-cantidad de cerveza ingeridas
-factorial de 10
Ingresar repetidamente N hasta que N sea cero, mostrar
cuantos son pares y cuantos son impares
program ContarParesImpares;
var
N,CPar,CImpar : integer;
begin
CPar := 0;
CImpar := 0;
repeat
write('ingrese numero ');
readln(N);
if (N mod 2 = 0) then
CPar := CPar + 1
else
CImpar := CImpar + 1;
until (N = 0);
writeln('Pares ',CPar);
writeln('Impares ',CImpar);
readln;
end. 18

También podría gustarte