viernes, 26 de junio de 2020

semana 8 de programacion 1




1). Vector Ordenado de laa semana pasada.

Proceso diezdatos

Definir posicion, vector, i, j, k, minimo, aux como entero;

Definir p Como Caracter;

definir comparar Como Logico;

posicion <- 10;

dimension vector[posicion];

vector[1] <- 70;

vector[2] <- -1;

vector[3] <- 50;

vector[4] <- 1970;

vector[5] <- 2020;

vector[6] <- -1000;

vector[7] <- 47;

vector[8] <- 1;

vector[9] <- 0;

vector[10] <- 70;

para i <- 1 hasta posicion con paso 1 Hacer

minimo <- i;

Escribir "Este es el vector->>";

Escribir "";

para k <- 1 hasta posicion con paso 1 Hacer

Escribir "vector[",k,"]=",vector[k];

FinPara

Para j<-i+1 Hasta posicion Con Paso 1 Hacer

Escribir "i=",i," minimo=",minimo;

Escribir "j=",j;

comparar <- (vector[j] < vector[minimo]);

Escribir "vector[",j,"]=",vector[j]," < ","vector[",minimo,"]=",vector[minimo];

Escribir "comparar=",comparar;

Si vector[j] < vector[minimo] Entonces //con < ordena ascendente, con > ordena descendente

minimo <- j;

Escribir "entonces a mimimo=",10," llevele j=",j;

SiNo

Escribir "no hace nada porque es falso";

Fin Si

leer p;

Fin Para

aux <- vector[i];

vector[i] <- vector[minimo];

vector[minimo] <- aux;

    FinPara

Escribir "Este es el vector->>";

Escribir "";

para k <- 1 hasta posicion con paso 1 Hacer

Escribir "vector[",k,"]=",vector[k];

FinPara

FinProceso


2).separar y contar:

Algoritmo Separar
Definir i Como entero;
Definir palabra Como Caracter;
Definir recadena Como Caracter;
Definir letra Como Caracter
Definir size Como Entero;
escribir "palabra??";
Leer palabra;
size <- Longitud(palabra);
Escribir "#letras=",size;
recadena <- subcadena(palabra,1,4);
escribir "subcadena 4 letras =",recadena;
Dimension letra[size];
para i <-1 hasta size con paso 1 Hacer
letra[i] <- subcadena(palabra,i,i);
FinPara
escribir "Tu Nombre Al Reves Es->>";
para i <-size hasta 1 con paso -1 Hacer
Escribir i,"=",letra[i] ;
FinPara
FinAlgoritmo

(con este pseudcodico logramos contar primeramente cada letra y en segundo separar la letra que se guste. se lee al derecho y al reves, tambien se cuenta desde donde se indique ya sea desde la tercer letra...)

3). Ejemplo Funciones en Pseint:



Funcion resultado <- facto( n1)
definir i,resultado Como Entero;
resultado <-1;
para i <-1 hasta n1
resultado <- resultado * i ;
FinPara
FinFuncion
Funcion resultado <- signo( n1)
definir i,resultado Como Entero;
i <- n1 mod 2;
si i = 0 Entonces
resultado <- 1 ;
SiNo
resultado <- -1 ;
FinSi
FinFuncion

Funcion resultado <- expo( n1, n2)
definir i,resultado Como Entero;
resultado <-1;
para i <-1 hasta n2 con paso 1 Hacer
resultado <- resultado * n1 ;
FinPara
FinFuncion
Algoritmo Funciones
definir n,x,j Como Entero;
definir fx Como Real;
Escribir "leer x?";
leer x;
fx <- 1;
para j <-1 hasta x con paso 1 Hacer
Escribir "j=",j;
Escribir "signo j =",signo(j);
Escribir "factorial j =",facto(j);
Escribir "x elevado a la j =",expo(x,j);
fx <- fx + signo(j)*expo(x,j)/facto(j);
Escribir "fx =",fx;
FinPara
FinAlgoritmo

(Esta es una gran ayuda para resolver la función, como se indica desde el inicio nos explican que se llega solo hasta el tres ya que X vale 3, porque así lo indica el ejercicio.)

4). Otras funciones y subprocesos.

Algoritmo SubProcesos01
Escribir " Primer ejemplo"
Para x <- 1 Hasta 20 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""

Escribir " Segundo ejemplo"
Para x <- 1 Hasta 20 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""

Escribir " Tercer ejemplo"
Para x <- 1 Hasta 20 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinAlgoritmo

(Este no es tan "comodo" ya que hace hasta tres textos y los subraya)

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´

Algoritmo SubProcesos02
Escribir " Primer ejemplo"
Subrayar

Escribir " Segundo ejemplo"
Subrayar

Escribir " Tercer ejemplo"
Subrayar
FinAlgoritmo
Subproceso Subrayar
Para x <- 1 Hasta 20 Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinSubproceso

(En cambio este esta mejorado mas no mejor, en este ya no es tan repetitivo sino que se organiza el subrayar para tener un "mejor" guion)´

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´

Algoritmo SubProcesos03
EscribirSubrayado(" Primer ejemplo", 16)
EscribirSubrayado(" Segundo ejemplo", 17)
EscribirSubrayado(" Tercer ejemplo", 16)
FinAlgoritmo
Subproceso EscribirSubrayado(texto, cantidad)
Escribir texto
Para x <- 1 Hasta cantidad Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinSubproceso

(En este caso ya se le adicionan cosas nuevas como seria  indicarle que  texto queremos escribir y qué longitud queremos que tenga la secuencia de guiones)
...............................................................................................................................................

Algoritmo SubProcesos04
EscribirSubrayado("Primer ejemplo")
EscribirSubrayado("Segundo ejemplo")
EscribirSubrayado("Tercer ejemplo")
FinAlgoritmo
Subproceso EscribirSubrayado(texto)
Escribir texto
Para x <- 1 Hasta Longitud(texto) Hacer
Escribir Sin Saltar "-"
FinPara
Escribir ""
FinSubproceso

(De otro modo esta sigue el proceso de mejoramiento para los guiones donde se le adiciona  la longitud que es la que  nos indica la cantidad de letras que tiene un texto, de modo que el programa se pueda simplificar, asi como lo evidenciamos arriba de este texto)

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´

Funcion resultado <- Maximo( n1, n2)
Si n1 > n2 Entonces
resultado <- n1
Sino
resultado <- n2
FinSi
FinFuncion
Algoritmo Funciones01
Escribir "El máximo de 5 y 12 es:"
Escribir Maximo(5,12)
Escribir "El máximo de 25 y 12 es:"
Escribir Maximo(25,12)
FinAlgoritmo´

(En este caso se va a dar una función que se puede realizar con el mismo subproceso es decir que  en este caso se devuelve un resultado  por lo que se  escoge un nombre para la variable que guardará un resultado. (Este programa crea una función que calcula cuál es el mayor de los dos números que se le indican como parámetro, y la usa dos veces, para mostrar el máximo de dos valores))

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´
SubAlgoritmo resultado <- Primo ( num )
cantidadDivisores <- 0
Para cont <- 1 Hasta num Hacer
Si num % cont = 0 Entonces
cantidadDivisores <- cantidadDivisores + 1
FinSi
FinPara
Si cantidadDivisores <= 2 Entonces
resultado <- verdadero
Sino
resultado <- falso
FinSi
FinSubAlgoritmo
Algoritmo PrimosDel1Al30
Para n <- 1 hasta 30
si Primo(n) Entonces
Imprimir n
FinSi
FinPara
FinAlgoritmo

(en este pseudcodigo podemos crear una función que calcule si un número es primo o no aplicar la definición, probando a dividir entre todos los números que hay entre 1 y n; si hemos encontrado dos divisores -o menos, para el número uno-, entonces el número es primo)

´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´´

5). Matrices

Proceso matrices
Dimension d(33);
fila <-0;
columna <-0;
numero<-0;
para fila <-1 hasta 3 con paso 1 Hacer
para columna <-1 hasta 3 con paso 1 hacer 
escribir "ingrese numero a la poicion:[" , fila, "," , columna, "]";
leer numero;
d(fila,columna)<-numero;
FinPara
FinPara

para fila<-1 hasta 3 con paso 1 Hacer
para columna<-1 hasta 3 con paso 1 Hacer
escribir d(fila,columna);
FinPara
FinPara

FinProceso




No hay comentarios.:

Publicar un comentario