GoConqr hat ein neues Design! Sag uns, wie es dir gefällt.

Notizen

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

Eric Soto Fundamentos de Programación Spanisch 16 Seiten

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

Inhalt der Notizen (16)

Seite 1

Alumno: Eric Alexander Andrés Soto Cofré

Primer año de Ingeniería en Informática / Inacap

Clase: Fundamentos de Programación

País: Chile

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

El aprendizaje comienza con aprender la lógica, a través de POLYA y los datos de entrada, proceso y salida

Luego de aprender y aplicar la resolución de problemas a través de POLYA, pasamos a utilizar la lógica en Pseint, programa el cual trabaja con pseudocódigo. Con esta aplicación tuvimos que aplicar la lógica que anteriormente aplicamos, además de aprender las diferentes variables y estructura de sus diferentes usos, como lo serían palabras como si, para, mientras, repetir, según, escribir y leer, las cuales se usar para diferentes situaciones que se nos pueden presentar a la hora de "programar". Esto es con lo que más trabajamos durante varios meses hasta Junio, mes en el cual empezamos con los "arreglos" y "dimensiones" los cuales veremos a continuación.

Seite 2

Problemas resueltos con POLYA:

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

Seite 3

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

Bitácora - Fundamentos de Programación - Eric Soto Cofré - Inacap

Seite 4

Empezamos el trabajo en equipos(5 en total), cada uno teniendo un tema dentro del pseudocódigo, en el que tienen que volverse expertos. (Junio)

En mi caso fue Estructura de Decisión. Primera actividad: Un reloj funcional que marque las horas, minutos y segundos, el código que hice fue:

Proceso reloj

definir horas, minutos, segundos Como Real

horas=0

minutos=0

segundos=0

mientras verdadero hacer

si horas<10 Entonces

escribir "0" Sin Saltar

FinSi

escribir horas,":" Sin Saltar

si minutos <10 Entonces

escribir "0" Sin Saltar

FinSi

escribir minutos,":" Sin Saltar

si segundos <10 Entonces

escribir "0" Sin Saltar

FinSi

escribir segundos

segundos=segundos+1

si segundos = 60 Entonces

minutos=minutos+1

segundos=0

FinSi

si minutos = 60 Entonces

horas=horas+1

minutos=0

FinSi

si horas=24 Entonces

horas=0

FinSi

esperar 1 segundos

Borrar Pantalla

FinMientras

FinProceso

Segunda actividad: Creación de un vídeo grupal, explicando cada uno la sintaxis de su tema(while, for, if, repeat, variables)

https://www.youtube.com/watch?v=CJLXi5Kbquk

Tercera actividad: Creación de Entorno Personal de Aprendizaje (Bitácora)

Seite 5

Actividad 4: Resolución de problemas algorítmicos en Pseudocódigo:

El trabajo contempla lo siguiente:

Revisión de los enunciados de cada problema en el documento que se adjunta.

Cada alumno debe desarrollar las soluciones en Pseudocódigo.

La solución debe ser guardada en su bitácora personal en la aplicación GOCONQR.

Cada alumno debe subir en su plataforma de alumno INACAP las soluciones desarrolladas por cada enunciado, en el formato que estime conveniente (no se permite Diagrama de Flujo).

Las soluciones serán revisadas y no se permiten copias, si bien están en grupos y pueden trabajar como tal,pero las soluciones con únicas.

Ejercicio 1:

Algoritmo Palindromas

definir palabra,respuesta,inversion,palabras como caracter;

palabra<-'';

respuesta<-'';

Repetir

Escribir 'Ingrese la palabra que quiere invertir: ';

leer palabra;

palabra<-Minusculas(palabra);

para a<- 1 hasta longitud(palabra) con paso 1 Hacer

si subcadena(palabra,a,a) !=' ' entonces

palabras<-palabras + Subcadena(palabra,a,a);

FinSi

FinPara

para i<-Longitud(palabras) hasta 0 con paso -1 Hacer

inversion<- inversion + subcadena(palabras,i,i);

FinPara

si inversion = palabras Entonces

Escribir 'La palabra ingresada es palindroma';

SiNo

Escribir 'La palabra ingresada no es palindroma';

FinSi

Escribir 'Palabra ingresada: ',palabras;

Escribir 'Palabra invertida: ',inversion;

Repetir

Escribir '¿Desea escribir otra palabra? (si/no)';

leer respuesta;

respuesta<-Minusculas(respuesta);

Hasta Que respuesta='si' o respuesta='no'

palabra<-'';

palabras<-'';

inversion<-'';

Hasta Que respuesta='no';

FinAlgoritmo

Seite 6

Ejercicio 2:

Proceso Caledad

definir fechaact, fechanac, lapsoact,lapsonac,mesact,mesnac,respuesta como caracter;

Definir i,edad como entero;

periodoA<-'';

periodoN<-'';

mesact<-'';

mesnac<-'';

respuesta<-'';

Repetir

escribir 'Ingrese la fecha actual(dd/mm/aaaa): ';

leer fechaact;

Escribir 'Ingrese su fecha de nacimiento (dd/mm/aaaa): ';

leer fechanac;

Para i<-7 Hasta Longitud(fechaact) Con Paso 1 Hacer

lapsoact<-lapsoact+Subcadena(fechaact,i,i);

FinPara

Para i<-7 Hasta Longitud(fechanac) Hacer

lapsonac<-lapsonac+Subcadena(fechanac,i,i);

FinPara

Para i<-4 Hasta 5 Hacer

mesact<-mesact+Subcadena(fechaact,i,i);

FinPara

para i<-4 hasta 5 hacer

mesnac<-mesnac+subcadena(fechanac,i,i);

FinPara

edad<-ConvertirANumero(lapsoact)-ConvertirANumero(lapsonac);

Si mesact<mesnac Entonces

edad<-edad-1;

FinSi

escribir 'Su edad es: ', edad," años";

Repetir

Escribir '¿Desea calcular otra edad? (si/no)';

leer respuesta;

Hasta Que respuesta='si' o respuesta='no'

lapsoact<-'';

lapsonac<-'';

mesact<-'';

mesnac<-'';

Hasta Que respuesta='no'

FinProceso

Seite 7

Ejercicio 3:

Proceso Desglosamiento_dinero

definir monto,B20,B10,B5,B1,M500,M100,M50,M10,M5 como entero;

definir respuesta como caracter;

Repetir

Repetir

Escribir 'Ingrese el monto a desglosar: ';

leer monto;

Hasta Que monto>1

B20<- trunc(monto/20000);

Escribir 'La cantidad de billetes de $20000 es de: ',B20;

monto<-monto-(B20*20000);

B10<- trunc(monto/10000);

Escribir 'La cantidad de billetes de $10000 es de: ',B10;

monto<-monto-(B10*10000);

B5<- trunc(monto/5000);

Escribir 'La cantidad de billetes de $5000 es de: ',B5;

monto<-monto-(B5*5000);

B1<- trunc(monto/1000);

Escribir 'La cantidad de billetes de $1000 es de: ',B1;

monto<-monto-(B1*1000);

M500<- trunc(monto/500);

Escribir 'La cantidad de monedas de $500 es de: ',M500;

monto<-monto-(M500*500);

M100<- trunc(monto/100);

Escribir 'La cantidad de monedas de $100 es de: ',M100;

monto<-monto-(M100*100);

M50<- trunc(monto/50);

Escribir 'La cantidad de monedas de $50 es de: ',M50;

monto<-monto-(M50*50);

M10<- trunc(monto/10);

Escribir 'La cantidad de monedas de $10 es de: ',M10;

monto<-monto-(M10*10);

M5<- trunc(monto/5);

Escribir 'La cantidad de monedas de $5 es de: ',M5;

monto<-monto-(M5*5);

Repetir

Escribir '¿Quiere ingresar otro monto? (si/no)';

leer respuesta;

Hasta Que respuesta='si' o respuesta='no'

Hasta Que respuesta='no'

FinProceso

Seite 8

Ejercicio 4:

Algoritmo leertexto

definir textos, respuesta Como Caracter;

Definir n,L Como Entero;

definir v como logico;

n<-1;

v<-falso;

Repetir

Escribir 'Ingrese un texto: ';

leer textos;

L=longitud(textos);

si subcadena(textos,L,L)='.' entonces

v<-verdadero;

FinSi

Hasta Que v=verdadero

para i<-1 hasta Longitud(textos) Hacer

Si Subcadena(textos,i,i)=' ' Entonces

n<-n+1;

FinSi

FinPara

Escribir n;

Escribir "¿Desea continuar con otro texto? "

leer respuesta

si respuesta="si" entonces

Repetir

Escribir 'Ingrese un texto: ';

leer textos;

L=longitud(textos);

si subcadena(textos,L,L)='.' entonces

v<-verdadero;

FinSi

Hasta Que v=verdadero

para i<-1 hasta Longitud(textos) Hacer

Si Subcadena(textos,i,i)=' ' Entonces

n<-n+1;

FinSi

FinPara

Escribir n;

Escribir "¿Desea continuar con otro texto? "

leer respuesta

FinSi

FinAlgoritmo

Seite 9

Ejercicio 5:

Proceso pascal

definir n,n1 Como Entero

leer n

para i=0 hasta n-1 con paso 1 Hacer

n1=1

Para j=0 hasta i con paso 1 Hacer

Escribir n1 Sin Saltar

n1=n1*(i-j)/(j+1)

FinPara

Escribir " "

FinPara

FinProceso

Seite 10

Ejercicio 6:

Algoritmo EnterosaRomanos

Definir Numero1 como entero

Definir SePuedeConvertir como logico

Escribir "Ingrese un número entre 1 y 1000"

Leer Numero1

SePuedeConvertir<-Verdadero

Si Numero1=0 Entonces

Escribir "No existe ningún símbolo para representar el 0"

SePuedeConvertir<-Falso

FinSi

Si Numero1<>trunc(numero1) Entonces

Escribir "El número debe ser entero"

SePuedeConvertir<-Falso

FinSi

Si Numero1>1000 Entonces

Escribir "Muy alto"

SePuedeConvertir<-Falso

FinSi

Si Numero1<0 Entonces

Escribir "Debe ser positivo"

SePuedeConvertir<-Falso

FinSi

Si SePuedeConvertir Entonces

Si Numero1=1000 Entonces

Escribir "M"

Sino

Dimension nu[10], nd[10], nc[10]

nu[1]<-''; nu[2]<-'I'; nu[3]<-'II'; nu[4]<-'III'; nu[5]<-'IV'; nu[6]<-'V'; nu[7]<-'VI'; nu[8]<-'VII'; nu[9]<-'VIII'; nu[10]<-'IX'

nd[1]<-''; nd[2]<-'X'; nd[3]<-'XX'; nd[4]<-'XXX'; nd[5]<-'XL'; nd[6]<-'L'; nd[7]<-'LX'; nd[8]<-'LXX'; nd[9]<-'LXXX'; nd[10]<-'XC'

nc[1]<-''; nc[2]<-'C'; nc[3]<-'CC'; nc[4]<-'CCC'; nc[5]<-'CD'; nc[6]<-'D'; nc[7]<-'DC'; nc[8]<-'DCC'; nc[9]<-'DCCC'; nc[10]<-'CM'

centenas<-trunc(Numero1/100) MOD 10

decenas<-trunc(Numero1/10) MOD 10

unidades<-Numero1 MOD 10

Escribir nc[centenas+1],nd[decenas+1],nu[unidades+1]

FinSi

FinSi

FinAlgoritmo

Seite 11

Actividad 5: Creación de vídeo - Presentación Algoritmo Licencias Médicas:

Objetivo(s) del trabajo

1. Explicar la lógica en PSEUDOCÓDIGO del algoritmo desarrollado por ustedes de las licencias médicas (el enunciado se encuentra al final). Para ello, el líder del grupo debe realizar la presentación de no más de 3 minutos).

2. Asociar el tema respectivo de cada alumno a la sintaxis del lenguaje JAVA. Para ello cada alumno debe investigar la sintaxis en JAVA de su tema respectivo de una forma básica (no más de 1,5 minutos en el vídeo). Se debe asociar la sintaxis de los siguientes temas:

Tema 1:Leer y mostrar datos en pantalla, Asignación de variables y operadores aritméticos (sólo lo que se le pide).

Tema 2: Estructura de Decisión Simple y Anidada (sólo lo que se le pide).

Tema 3: Ciclo de repetición FOR (sólo lo que se le pide).

Tema 4: Ciclo de repetición WHILE (sólo lo que se le pide).

Tema 5: Ciclo de repetición REPEAT (sólo lo que se le pide)

Seite 12

Pseudocódigo para pasar las variables de 2 dimensiones o arreglos a una sola dimensión de 10 espacios:

Proceso dosarreglospara1

definir minimo, arreglo1, arreglo2, arreglo3, i, j, k, g Como Entero

Dimension arreglo1[5]

Dimension arreglo2[5]

Dimension arreglo3[10]

para i=1 hasta 5 con paso 1 Hacer

Escribir "Ingrese un valor numerico: "

leer arreglo1[i]

FinPara

para i = 1 hasta 5 con paso 1 Hacer

minimo = i

Para j=i+1 Hasta 5 Con Paso 1 Hacer

Si arreglo1[j] < arreglo1[minimo] Entonces

minimo = j

FinSi

FinPara

aux = arreglo1[i]

arreglo1[i] = arreglo1[minimo]

arreglo1[minimo] = aux

FinPara

Para i=1 hasta 5 con paso 1 Hacer

Escribir arreglo1[i]

FinPara

para k=1 hasta 5 con paso 1 Hacer

Escribir "Ingrese un valor numerico: "

leer arreglo2[k]

FinPara

Para k = 1 hasta 5 con paso 1 Hacer

minimo = k

Para g=k+1 Hasta 5 Con Paso 1 Hacer

Si arreglo2[g] < arreglo2[minimo] Entonces

minimo = g

FinSi

FinPara

aux = arreglo2[k]

arreglo2[k] = arreglo2[minimo]

arreglo2[minimo] = aux

FinPara

Para k=1 hasta 5 con paso 1 hacer

Escribir arreglo2[k]

FinPara

Para q=1 hasta 5 con paso 1 Hacer

arreglo3[q]=arreglo1[q]

FinPara

Para w=6 hasta 10 con paso 1 Hacer

arreglo3[w]=arreglo2[w-5]

FinPara

Para n = 1 hasta 10 con paso 1 Hacer

minimo = n

Para l=n+1 Hasta 10 Con Paso 1 Hacer

Si arreglo3[l] < arreglo3[minimo] Entonces

minimo = l

FinSi

FinPara

aux = arreglo3[n]

arreglo3[n] = arreglo3[minimo]

arreglo3[minimo] = aux

FinPara

Escribir "Las 2 dimensiones unidas son: "

Para n=1 hasta 10 con paso 1 Hacer

Escribir arreglo3[n]

FinPara

FinProceso

Seite 13

Pseudocódigo cuantos numeros negativos existen en el arreglo:

Proceso arr15

definir arreglo, i ,j como entero

definir negativo Como Real

Dimension arreglo[15]

para i=1 hasta 15 con paso 1 hacer

Escribir "Ingrese un valor numerico: "

leer arreglo[15]

Escribir arreglo[15]

Si arreglo[15] < 0 entonces

negativo=negativo+1

FinSi

FinPara

Escribir "Existen ", negativo, " numeros negativos en el arreglo"

FinProceso

Ordenamiento de datos:

Proceso Ordenamiento_de_datos

Definir arreglo, datos,i,minimo,aux Como Entero

Escribir "Ingrese la cantidad de datos que va a ingresar"

leer datos

Dimension arreglo[datos]

Escribir "Numeros originales: "

para i=1 hasta datos con paso 1 Hacer

arreglo[i] =azar(100)

Escribir arreglo[i]

FinPara

para i=1 hasta datos con paso 1 Hacer

minimo=i

para j=i+1 hasta datos con paso 1 Hacer

si arreglo[j] < arreglo[minimo] Entonces

minimo=j

FinSi

FinPara

aux=arreglo[i]

arreglo[i]=arreglo[minimo]

arreglo[minimo]=aux

FinPara

Escribir "Los datos ordenados son: "

para i=1 hasta datos con paso 1 Hacer

Escribir arreglo[i]

FinPara

FinProceso

Seite 14

Posición de nombre en un arreglo:

Proceso arreglonombres

definir arreglo_a, nombre Como Caracter

definir i,j Como Entero

Dimension arreglo_a[30]

para i=1 hasta 30 con paso 1 Hacer

Escribir "Ingrese un nombre: "

Leer nombre

arreglo_a[i]=nombre

FinPara

para j=1 hasta 30 con paso 1 Hacer

Escribir "El nombre ubicado en el arreglo es; ", arreglo_a[j]

Escribir "Su pocision es: ", j

FinPara

Para i=5 hasta 30 con paso 1 hacer

arreglo_a[i-1]=arreglo_a[i]

Escribir i

FinPara

FinProceso

Promedio de todos los datos en un arreglo:

Proceso casi

definir arreglo,i,j Como Entero

Dimension arreglo[10]

para i=1 hasta 10 con paso 1 hacer

Escribir "Ingrese un valor numerico: "

leer arreglo[i]

promedio=promedio+arreglo[i]

FinPara

promediofinal=promedio/10

Escribir "El promedio de todos los numeros es: ",promediofinal

FinProceso

Seite 15

Número más alto del arreglo:

Proceso casi

definir arreglo,i,j Como Entero

Dimension arreglo[10]

j=0

para i=1 hasta 10 con paso 1 hacer

Escribir "Ingrese un valor numerico: "

leer arreglo[i]

si j < arreglo[i] Entonces

j=arreglo[i]

FinSi

FinPara

Escribir "El numero mas alto es: ",j

FinProceso

Seite 16

Proceso d

definir a, b, c, aux, min Como Entero

Dimension a[5], b[5] ,c[10]

Escribir "Arreglo 1: "

Para i=1 hasta 5 con paso 1 hacer

a[i]=Azar(100)

FinPara

Para i=1 hasta 5 con paso 1 hacer

min=i

Para j=i+1 hasta 5 con paso 1 hacer

Si a[j] < a[min] entonces

min=j

FinSi

FinPara

aux=a[i]

a[i]=a[min]

a[min]=aux

FinPara

Para i=1 hasta 5 con paso 1 hacer

Escribir a[i]

FinPara

Escribir "Arreglo 2: "

Para x=1 hasta 5 con paso 1 Hacer

b[x]=Azar(100)

FinPara

Para x=1 hasta 5 con paso 1 hacer

min=x

Para t=x+1 hasta 5 con paso 1 hacer

Si b[t] < b[min] entonces

min=t

FinSi

FinPara

aux=b[x]

b[x]=b[min]

b[min]=aux

FinPara

Para x=1 hasta 5 con paso 1 hacer

Escribir b[x]

FinPara

Para z=1 hasta 5 con paso 1 Hacer

c[z]=a[z]

FinPara

Para s=6 hasta 10 con paso 1 hacer

c[s]=b[s-5]

FinPara

Para h=1 hasta 10 con paso 1 hacer

min=h

Para g=h+1 hasta 10 con paso 1 hacer

Si c[g] < c[min] entonces

min=g

FinSi

FinPara

aux=c[h]

c[h]=c[min]

c[min]=aux

FinPara

Escribir "Las 2 dimensiones juntas son: "

Para f=1 hasta 10 con paso 1 Hacer

Escribir c[f]

FinPara

FinProceso

Arreglo bidimensional de 4x5

Proceso arreglobidi

definir mnumeros, mnumeros2, i, j, numero Como Entero

Dimension mnumeros[4,5], mnumeros2[4,5]

para i=1 hasta 4 con paso 1 Hacer

para j=1 hasta 5 con paso 1 Hacer

Escribir "Ingrese numero: "

leer numero

mnumeros[i,j]=numero

FinPara

FinPara

Escribir "--------------------------------------------------------"

Escribir "Numeros almacenados en la matriz: "

para m=1 hasta 4 con paso 1 Hacer

para n=1 hasta 5 con paso 1 Hacer

Escribir mnumeros[m,n]

FinPara

FinPara

Escribir "--------------------------------------------------------"

Para a=1 hasta 5 con paso 1 hacer

Escribir "Columna 1: ", mnumeros[1,a]

FinPara

Escribir "--------------------------------------------------------"

Para b=1 hasta 5 con paso 1 Hacer

Escribir "Columna 2: ", mnumeros[2,b]

FinPara

Escribir "--------------------------------------------------------"

Para c=1 hasta 5 con paso 1 hacer

Escribir "Columna 3: ", mnumeros[3,c]

FinPara

Escribir "--------------------------------------------------------"

Para d=1 hasta 5 con paso 1 hacer

Escribir "Columna 4: ", mnumeros[4,d]

FinPara

Escribir "--------------------------------------------------------"

Escribir "Numeros almacenados en la matriz 2, los mismos de la matriz 1: "

para i=1 hasta 4 con paso 1 Hacer

para j=1 hasta 5 con paso 1 Hacer

mnumeros2[i,j]=mnumeros[i,j]

Escribir mnumeros2[i,j]

FinPara

FinPara

Escribir "--------------------------------------------------------"

FinProceso

Informationen

Beschreibung
Seguimiento de actividades realizadas, tanto como grupos o individuales.
Erstellt von
Eric Soto
Aufrufe
37
Bewertung

Feedback

Worum geht es?

Wie gefällt dir das neue Design?

Dein Eindruck