Cuaderno de Programación Daniela Erazo 1 CONCEPTOS BÁSICOS 1.El concepto de lenguaje: Un sistema organizado de símbolos y reglas utilizados para transmitir conceptos o directrices. 2. El concepto de programación: El proceso de crear, escribir, probar y mantener un conjunto de instrucciones que una computadora puede ejecutar para resolver problemas o realizar tareas específicas 3. El concepto de lenguaje de programación: Es un conjunto de reglas y sintaxis que permiten a los desarrolladores escribir instrucciones que las computadoras puedan interpretar y ejecutar. 4. La historia del lenguaje de programación: Ada Lovelace creó el primer algoritmo diseñado para una máquina en 1843. Los primeros lenguajes de alto nivel, como FORTRAN y COBOL, aparecieron en 1950. Desde entonces, se han creado lenguajes como C, Python, Java y otros, cada uno con sus propios métodos y mejoras. 5. Su origen: IBM y universidades como MIT tuvieron un papel importante en el desarrollo de los primeros lenguajes de programación modernos, que surgieron en laboratorios de investigación en Estados Unidos y Europa. 2 6. Clasificación de los lenguajes de programación: Por nivel de abstracción: Bajo nivel: Ensamblador, lenguaje máquina. Alto nivel: C, Java, Python. Por paradigma: Imperativo: C, Python. Funcional: Haskell, Lisp. Orientado a objetos: Java, C++. Lógico: Prolog. 7. Qué lenguajes hay en cada clasificación: Bajo nivel: Ensamblador. Alto nivel: Python, Java, JavaScript. Imperativo: C, Rust. Funcional: Haskell, Erlang. Orientado a objetos: C++, Ruby. Lógico: Prolog. 8. ¿Qué es la compilación? La compilación es el proceso de convertir código fuente escrito en un lenguaje de alto nivel en código máquina que la computadora puede ejecutar. 9. ¿Qué es un traductor? Es un programa que traduce código fuente de un lenguaje a otro, como un lenguaje de alto nivel a un lenguaje máquina. Los traductores incluyen compiladores e intérpretes. 10. ¿Qué es la sintaxis? La sintaxis es el conjunto de reglas que establece cómo se organizan las instrucciones o expresiones en un lenguaje de programación. 11. ¿Qué es semántica? Es el término que se refiere al significado de las instrucciones que están escritas en un lenguaje. Si una instrucción no tiene sentido en el contexto del programa, puede ser sintácticamente correcta pero semánticamente 3 incorrecta. LÍNEA DEL TIEMPO 1943 - 1945: Plankalkül Primer lenguaje de alto nivel desarrollado por Konrad Zuse. Introdujo variables, bucles y estructuras de control. 1947: Short Code Uno de los primeros lenguajes interpretados. 1949: Assembly Lenguaje ensamblador, traduce instrucciones a código máquina. 1957: FORTRAN Lenguaje de alto nivel para cálculos científicos y matemáticos. 1959: COBOL Diseñado para negocios y aplicaciones financieras. 1970: PASCAL Lenguaje estructurado, usado en enseñanza y desarrollo de software. 1972: C Lenguaje estructurado, eficiente y ampliamente usado. 1972: PROLOG Lenguaje declarativo, usado en inteligencia artificial. 1983: ADA Lenguaje orientado a sistemas embebidos y seguridad. 1985: C++ Evolución de C, incorpora programación orientada a objetos. 1987: PERL Utilizado para administración de sistemas y redes. 1991: PYTHON Lenguaje interpretado, multiparadigma y de propósito general. 1995: JAVA Lenguaje orientado a objetos, usado en aplicaciones web y móviles. 1995: RUBY Lenguaje orientado a objetos, enfocado en la productividad. 1995: PHP Lenguaje para desarrollo web dinámico. 1995: JavaScript Lenguaje interpretado, usado en desarrollo web. 2016: Kotlin Lenguaje de alto nivel, interoperable con Java. 4 TIPO DE DATOS Algoritmo TiposDeDatos // *** Declaración de variables con diferentes tipos de datos *** // Tipo ENTERO: almacena números sin decimales (ejemplo: 10, -5, 1000) Definir edad Como Entero; // Tipo REAL: almacena números con decimales (ejemplo: 3.14, -2.5, 100.75) Definir altura Como Real; // Tipo CARÁCTER: almacena un solo carácter (ejemplo: 'A', '9', '@') Definir inicial Como Caracter; // Tipo CADENA: almacena texto o secuencia de caracteres (ejemplo: "Hola", "Programación") Definir nombre Como Cadena; // Tipo LÓGICO: almacena valores booleanos (Verdadero o Falso) Definir esEstudiante Como Logico; // *** Asignación de valores a las variables *** edad <- 20; // Asignamos un número entero altura <- 1.75; // Asignamos un número con decimales inicial <- 'C'; // Asignamos un carácter nombre <- "Carlos"; // Asignamos una cadena de texto esEstudiante <- Verdadero; // Asignamos un valor lógico // *** Mostramos en pantalla los valores de cada variable *** Escribir "Nombre: ", nombre; Escribir "Edad: ", edad; Escribir "Altura: ", altura; Escribir "Inicial: ", inicial; Escribir "Es estudiante: ", esEstudiante; FinAlgoritmo 5 COMANDOS Comandos de Entrada y Salida . Escribir (Mostrar información en pantalla) El comando Escribir se usa para mostrar información en la pantalla del usuario. p Escribir "Hola, bienvenido " También se puede mostrar el valor de variables: Definir nombre Como Cadena nombre <- "Juan" Escribir "Hola, ", nombre Variantes: Escribir Sin Saltar: Muestra el texto en la misma línea sin hacer un salto de línea. Escribir Sin Saltar "Ingrese su nombre: " Leer (Ingresar datos por el usuario) El comando Leer permite al usuario ingresar valores en tiempo de ejecución. pseudocode CopiarEditar Definir edad Como Entero Escribir "Ingrese su edad: " Leer edad Escribir "Su edad es: ", edad 6 Comandos de Asignación . Definir (Declarar variables) Definir permite crear variables indicando su tipo de dato. Definir nombre Como Cadena Definir edad Como Entero Definir precio Como Real Definir esMayor Como Logico . Asignación de valores (<-) El operador <- asigna valores a variable nombre <- "Carlos" edad <- 25 precio <- 12.99 esMayor <- Verdadero Estructuras de Control Condicionales (Si... Entonces... Sino... FinSi) Los condicionales permiten ejecutar diferentes instrucciones según una condición. Definir edad Como Entero Escribir "Ingrese su edad: " Leer edad Si edad >= 18 Entonces Escribir "Eres mayor de edad" Sino Escribir "Eres menor de edad" FinSi Condicionales Anidados Si edad >= 18 Entonces Si edad >= 65 Entonces Escribir "Eres un adulto mayor" Sino Escribir "Eres un adulto" FinSi Sino Escribir "Eres menor de edad" FinSi 7 Estructuras Repetitivas (Bucles o Ciclos) Para (Bucle controlado) Se usa cuando sabemos cuántas veces queremos repetir una acción. Para i <- 1 Hasta 5 Hacer Escribir "Número: ", i FinPara También se puede definir un incremento diferente: Para i <- 1 Hasta 10 Con Paso 2 Hacer Escribir "Número: ", i FinPara 4.2. Mientras (Bucle condicional) Se ejecuta mientras una condición sea verdadera. Definir contador Como Entero contador <- 1 Mientras contador <= 5 Hacer Escribir "Número: ", contador contador <- contador + 1 FinMientras Repetir... Hasta Que (Bucle post-condicional) Se ejecuta al menos una vez, luego verifica la condición. pseudocode CopiarEditar Definir numero Como Entero Repetir Escribir "Ingrese un número mayor a 10: " Leer numero Hasta Que numero > 10 8 Algoritmo deber_colegio //7 de Noviembre 2024 //Zona de Variables definir chicos,chicas,total,n1 Como real; total<-1500 chicos<-850 chicas<-650 n1<-100 escribir sin saltar "ingresar total de chicos"; leer chicos; escribir sin saltar "ingresar total de chicas"; leer chicas; escribir "pulsar cualquier tecla para su resultado"; esperar tecla; //cálculo //total estudiantes total<-chicos+chicas escribir "(",chicos,"+",chicas,")","=",total; //porcentaje de chicos escribir"pulsar cualquier tecla para su resultado"; esperar tecla; resp<-(chicos/total)*n1; escribir "(",chicos,"/",total,")","*",n1,"=",resp; //porcentaje chicas escribir "pulsar cualquier tecla para su resultado"; esperar tecla; resp<-(chicas/total)*n1; escribir"(",chicas,"/",total,")","*",n1,"=",resp; 9 FinAlgoritmo Algoritmo DEBER_PROGRA //Variables Definir a,b,c,d,e,f,resp Como Real; a<-2; b<-3; c<-6; d<-4; e<-5; f<-1; resp<-a + (b*(c/a)); Escribir "Operacion 1:a + (b*(c/a)) ", a, " + ","(",b,"*"," (",c,"/",a,"))","=",resp; resp<-(d+c)/(a+b); Escribir "Operacion 2:(d + c)/(a + b)","(",d,"+", c ,")","/"," (",a,"+",b,")","=",resp; resp<-(d/a)^e; Escribir "Operacion 3:(d/a)^e", "(",d,"/",a,")","^",",",e,",","=",resp; resp<-(d/a)^e+f; Escribir "Operacion 4:(d/a)^e+f","(",d,"/",a,")","^"," (",e,"+",f,")","=",resp; resp<-(-b)^a; Escribir "Operacion 5: (-b)^a", "(",-b,")","^","(",a,"),","=",resp; resp<--(b^a); Escribir "Operacion 6:-(b^a)", "-","(",b,"^",a,"),","=",resp; FinAlgoritmo 10 //10/12/2024 //Ejercicio Cuadrado Algoritmo cd //Zona de Variables Definir tam, i, j, contador Como Entero; // Solicitar el tamaño del cuadrado Escribir "Ingrese el tamaño del cuadrado : "; Leer tam; // Verificar que el tamaño sea válido Si tam < 0 Entonces; Escribir "El tamaño debe ser al menos 1."; Fin Si // Inicializar el contador contador <- 1; // Generar el cuadrado hueco Para i <- 1 Hasta tam Hacer Para j <- 1 Hasta tam Hacer Si i = 1 O i = tam O j = 1 O j = tam Entonces Escribir Sin Saltar contador, " "; contador <- contador + 1; SiNo Escribir Sin Saltar " ", " " ; Fin Si Fin Para Escribir "" ; Fin Para FinAlgoritmo 11 5: Escribir " Desea calcular el area del cuadrado si/no "; Leer resp; si resp = "si" Entonces Escribir " calculemos el area "; SiNo Escribir " Puede retirarse "; FinSi Escribir " Si su respuesta fue si pulse cualquier tecla para continuar "; Leer tecla; Escribir "ingrse valor para r1"; Leer r1; Escribir "ingrse valor para r2"; Leer r2; aux1<-(r1*r2); Escribir " El área del cuadrado es ", aux1; 6: Escribir 'ingrese los grados CENTIGRADOS'; Leer C; C<-(C*1.8)+32; Escribir 'En grados fahrenheit ES ',C; 7: Escribir 'ingrese los grados FAHRENHEIT'; Leer F; F<-(F-32)/1.8; Escribir 'En grados centigrados es ',F; 8: Escribir 'Los Euros'; Leer D; D<-D*1.10; Escribir 'USTED TIENE EN DOLARES ',D,"DOLARES"; Escribir 'Los Euros'; Leer D; D<-D*1.10; Escribir 'USTED TIENE EN DOLARES ',D,"DOLARES"; Fin Segun FinAlgoritmo 12 Algoritmo COMBINACIONES //28/11/2024 //Zona de variables definir n1, C, F como entero; Definir r1, r2, aux1, D Como Real; Definir nombre, aux Como Caracter; //Fin zona Escribir " Menú de opciones "; Escribir " Sacar parte entera de una raiz cuadrada pero con un numero impar......1"; Escribir " Sacar la inicial de su nombre en Mayusculas...........................2"; Escribir " Kilometros a metros...................................................3"; Escribir " Ingresar a una fiesta si es menor a 20 años...........................4"; Escribir " Calcular el area de un cudrado........................................5"; Escribir " GRADOS CENTIGRADOS A FARENJEI........................................6"; Escribir " FARENJEI A GRADOS CENTIGRADOS.........................................7"; Escribir " EUROS A DOLARES.......................................................8"; Escribir Sin Saltar " Escoja una de las opciones "; Leer opc; Segun opc Hacer 1: Escribir " Ingrese un numero impar "; Leer n1; r1<-raiz(n1); r2<-trunc(r1); Escribir " La parte entera de la raiz es ",r2; 2: Escribir " Ingrese su nombre "; Leer nombre; nombre<-Mayusculas(nombre); aux<-Subcadena(nombre,1,1); Escribir " La inicial de sun nombre en mayusculas es ",aux; 3: Escribir "Ingrese el valor de cuantos kilometros desea convertir"; Leer n1; aux1<-(n1*1000); Escribir " El kilómetro digitado equivale a ",aux1," metros"; 4: Escribir "ingrese el año de su nacimiento "; Leer a1; aux1<-2024-a1; Si aux1 < 20 Entonces Escribir " puede ingresar a la fiesta "; SiNo Escribir " puede retirase "; FinSi 13 //10/12/2024 Algoritmo dos_tri definir l, i, k, j, r, s como entero; Escribir "ingrese el tamaño del lado: "; Leer l; Para i<-1 Hasta l Con Paso 1 Hacer r<-(i-1); Para j<-1 Hasta r Con Paso 1 Hacer escribir Sin Saltar " "; FinPara s<-(l-i+1); Para k<-1 Hasta s Con Paso 1 Hacer escribir sin saltar s," "; FinPara Para j<-1 Hasta i Hacer escribir Sin Saltar i," "; FinPara Escribir ""; FinPara FinAlgoritmo //14/11/2024 Algoritmo VERIFICAR // Definir variables Definir clave_guardada, clave_ingresada Como Caracter; //Fin Zona clave_guardada <- "Caramelo12"; Escribir "INGRESE LA CONTRASEÑA: "; Leer clave_ingresada; Si clave_guardada = clave_ingresada Entonces Escribir " FELICIDADES LA CONTRASEÑA ES CORRECTA"; Sino Escribir "E R R O R, CONTRASEÑA INCORRECTA"; FinSi FinAlgoritmo 14 //19/12/2024 Algoritmo FRASEalreves Definir frase ,aux,c Como Caracter; Definir tam ,i,cont Como Entero; i<-1; cont<-0; Escribir "Por favor ingrese su frase favorita: "; Leer frase; tam<-Longitud(frase); c<- ""; Mientras i<=tam Hacer aux<-subcadena(frase,i,i); si aux=" " Entonces c<-Concatenar(c,""); c<-Concatenar(" ",c); SiNo c<- Concatenar(aux,c); FinSi i<-i+1; Fin Mientras Escribir c; FinAlgoritmo 15 FUNCIONES Las funciones son bloques de código reutilizables que permiten dividir un programa en partes más pequeñas y manejables. Una función puede recibir datos de entrada (parámetros), procesarlos y devolver un resultado (valor de retorno). Funciones sin Retorno (Procedimientos) Si una función no devuelve un valor, se considera un procedimiento en PSeInt. SubProceso MostrarMensaje() Escribir "Hola, bienvenido a PSeInt" FinSubProceso Declaración y Uso de Funciones Ejemplo de una función que suma dos números: Funcion Sumar(a, b) -> Entero Definir resultado Como Entero resultado <- a + b Retornar resultado FinFuncion Llamada a la función Algoritmo EjemploFuncion Definir num1, num2, resultado Como Entero Escribir "Ingrese el primer número: " Leer num1 Escribir "Ingrese el segundo número: " Leer num2 resultado <- Sumar(num1, num2) Escribir "La suma es: ", resultado FinAlgoritmo 16 Funcion nummayor( ) Definir n1,n2 Como Entero; Escribir "Ingrese el primer numero"; Leer n1; Escribir "Ingrese el segundo numero"; leer n2; Si n1>n2 Entonces Escribir "El numero mayor es ", n1; SiNo Escribir" El numero mayor es " ,n2; Fin Si FinFuncion Algoritmo NUMEROS4 nummayor( ); FinAlgoritmo funcion numay( n1,n2) Si n1>n2 Entonces Escribir "El numero mayor es ", n1; SiNo Escribir" El numero mayor es " ,n2; Fin Si FinFuncion Algoritmo mayo numay(90,50); FinAlgoritmo 17 Funcion frase(palabra ) Definir aux,letra Como Caracter Definir i,j,tam, cuenta Como Entero tam<- Longitud(palabra); para i<-1 hasta tam Hacer cuenta<-0; letra<- Subcadena(palabra,i,i); para j<-1 hasta tam Hacer aux<- Subcadena(palabra,j,j); si letra =aux Entonces cuenta<-cuenta+1; FinSi FinPara Escribir letra," ", cuenta; FinPara FinFuncion Algoritmo principal frase( "casa"); FinAlgoritmo // FUNCIONES TIPO 2 Funcion Reducir(num,den) Definir num1,num2,mcd,aux Como Entero; num1<-Abs(num); num2<-Abs(den); Mientras num2 <> 0 Hacer aux<-num2; num2<-num1 MOD num2; num1<-aux; Fin Mientras mcd<-num1; num<-num/mcd; den<-den/mcd; Escribir "La fracción simplificada es: ", num, "/", den; Fin Funcion Algoritmo Simplificar_Fraciones Definir numerador,denominador Como Entero; Escribir "Ingrese el numerador de la fracción:"; Leer numerador; Escribir "Ingrese el denominador de la fracción:"; Leer denominador; Reducir(numerador,denominador); Fin Algoritmo 18 Funcion opera ( tamaño ) definir i, j Como Entero; Para i<-1 Hasta tamaño con paso 1 Hacer escribir ""; Para j<-1 Hasta i Con Paso 1 Hacer escribir sin saltar "X"; Fin Para Fin Para Fin Funcion Algoritmo principal definir tam como real; definir opera1 Como Caracter; leer tam; opera(tam); escribir ""; FinAlgoritmo Funcion espacio <- cadefra(cad) Definir cad2, blancos,espacio como caracter; definir aux ,i Como Entero; cad2<-""; aux<-longitud(cad); blancos<-""; Para i<-1 Hasta aux Con Paso 1 Hacer cad2<-subcadena(cad,i,i); blancos<-concatenar(cad2,blancos); Fin Para espacio<-blancos; Si espacio=cad Entonces Escribir "ES POLIDROMO"; SiNo Escribir "NO ES POLIDROMO"; Fin Si FinFuncion Algoritmo POLIDROMO definir cad Como Caracter; Escribir "ingrese su frase "; leer cad; Escribir cadefra(cad); FinAlgoritmo 19 Funcion ec <-esceco(frase) MIENTRAS frase<>"S" hacer escribir"ECOOOOO: ", frase; ESCRIBIR "ingrese una frase"; LEER frase; ESCRIBIR "ingrese una frase"; LEER frase; FinMientras Borrar Pantalla; FinFuncion Algoritmo eco DEFINIR frase,resp COMO CARACTER; ESCRIBIR "INGRESE UNA frase SI DESEA SALIR "; ESCRIBIR "DIGITE S"; LEER frase; Escribir esceco(frase); ESCRIBIR ""; ESCRIBIR "el programa finalizo"; Escribir ""; Escribir "--V U E L V A P R O N T O---"; FinAlgoritmo Funcion ent <-numpos(num) Definir aux, multi como entero; aux<-1; SI num<=0 ENTONCES eSCRIBIR "el número debe ser positivo"; FinSi MIENTRAS aux<=12 HACER multi<-num*aux; ESCRIBIR num, " * ", aux, " = ", multi; aux<-aux+1; FinMientras FinFuncion Algoritmo tabla_de_multiplicar definir num,aux,multi COMO ENTERO; ESCRIBIR "ingrese un número"; LEER num; Escribir numpos(num); FinAlgoritmo 20 Funcion NOTA( t,v ) Definir i,cubo,cuadrado Como Entero; Para i<-1 Hasta t Hacer Escribir "Ingrese la nota"; Leer v[i]; Fin Para Para i<-1 Hasta t Hacer Si v[i]>=9 Entonces Escribir"Su nota mas alta es ",v[i]; Fin Si si v[i]>=4 y v[i]<=6 Entonces Escribir "Su nota media es ",v[i]; FinSi si v[i]>=1 y v[i]<=3 Entonces Escribir "Su nota mas baja es ",v[i]; FinSi FinPara Fin Funcion Algoritmo Notas Caratula; Definir t, i ,v Como Entero; Escribir "Cuantas notas va a ingresar?"; Leer t; Borrar Pantalla; Dimension v[t]; NOTA( t,v ); FinAlgoritmo 21 Funcion may <- retorn ( num ) Para i <- num Hasta 0 Con Paso -1 Escribir Sin Saltar i, ", "; // Imprime el número seguido de una coma FinPara Fin Funcion Algoritmo CUENTRAREGRE CARATULA Definir num Como Entero Escribir "Introduce un número entero positivo:" Leer num Escribir retorn(num) FinAlgoritmo Funcion cad<-cadun(cad1) definir i, tam, n como entero ; definir cad2, aux, sub como caracter; i<-1; aux<-""; tam<-Longitud(cad1); mientras i<=tam hacer sub<-SubCadena(cad1,i,i); aux<-Concatenar(aux,sub); si i=n Entonces aux<-Concatenar(aux,cad2); FinSi i<-i+1; FinMientras escribir aux; FinFuncion Algoritmo cadena_union definir i,n, tam como entero ; definir cad1, cad2, aux, sub como caracter; escribir "ingrese la primera cadena:"; leer cad1; escribir "ingrese la segunda cadena:"; leer cad2; escribir "ingrese un la poscicion en la que se unira la cadena"; leer n; Escribir cadun(cad1); FinAlgoritmo 22 Funcion resp <- formato(cad, num) Definir i Como Entero; Definir resp, aux Como Caracter; aux <- ""; Para i <- 1 Hasta num Hacer aux <- Concatenar(aux, " "); FinPara aux <- Concatenar(aux, cad); resp <- aux; FinFuncion Algoritmo Factura Definir c1,c2,c3,p1,p2,p3,cp1,cp2,cp3, subt, total, iva Como Real; Definir producto1,producto2,producto3,cli,dire,AUX como caracter; Definir resp,resp1,resp2,num como entero; Escribir "Ingrese el numero del producto que desea comprar"; Escribir "1) FIDEO "; Escribir "2) ACEITE"; Escribir "3) POLLO "; Escribir "4) ATUN "; Escribir "5) AZUCAR"; leer resp; leer resp1; leer resp2; Segun resp Hacer 1: producto1<-"FIDEO"; 2: producto1<-"ACEITE"; 3: producto1<-"POLLO"; 4: producto1<-"ATUN"; 5: producto1<-"AZUCAR"; FinSegun 23 Segun resp1 Hacer 1: producto2<-"FIDEO"; 2: producto2<-"ACEITE"; 3: producto2<-"POLLO"; 4: producto2<-"ATUN"; 5: producto2<-"AZUCAR"; FinSegun Segun resp2 Hacer 1: producto3<-"FIDEO"; 2: producto3<-"ACEITE"; 3: producto3<-"POLLO"; 4: producto3<-"ATUN"; 5: producto3<-"AZUCAR"; FinSegun Escribir "Ingrese cantidad 1"; Leer c1; Escribir "Ingrese precio 1"; Leer p1; Escribir "Ingrese cantidad 2"; Leer c2; Escribir "Ingrese precio 2"; Leer p2; Escribir "Ingrese cantidad 3"; Leer c3; Escribir "Ingrese precio 3"; Leer p3; Escribir "Ingrese el nombre del cliente"; leer cli; Escribir "Ingrese el telefono"; leer num; Escribir "Ingrese la dirección"; leer dire; 24 // c[alculos cp1<-c1*p1; cp2<-c2*p2; cp3<-c3*p3; subt<-cp1+cp2+cp3; iva<-(subt*0.15); total<-(subt+iva); AUX<-""; Borrar Pantalla; ESPERAR 1 Segundos; // Estructura de la Factura Escribir "**********************************************************"; Escribir "* BIENVENIDOS AL TUTI *"; ESCRIBIR "**********************************************************"; Escribir "Consumidor :",cli; Escribir "Telefono:",num; Escribir "Direcion:",dire; Escribir "**********************************************************"; Escribir formato("Producto",15), formato("Cantidad",7), formato("Precio",6), formato("Total",5); Escribir formato(producto1,15),formato(aux,3),formato(ConvertirATexto(c1),15) ,formato(ConvertirATexto(p1),9),formato(ConvertirATexto(cp1),10); Escribir formato(producto2,15),formato(aux,3),formato(ConvertirATexto(c2),15), formato(ConvertirATexto(p2),9),formato(ConvertirATexto(cp2),10); Escribir formato(producto3,15),formato(aux,3),formato(ConvertirATexto(c3),15), formato(ConvertirATexto(p3),9),formato(ConvertirATexto(cp3),10); Escribir "**********************************************************";4 Escribir formato("Subtotal",15)," |",formato(ConvertirATexto(subt),28),"$"; Escribir formato("IVA",15)," |",formato(ConvertirATexto(iva),27),"$"; Escribir formato("Total",15)," |",formato(ConvertirATexto(total),26),"$"; FinAlgoritmo 25 Matrices Matriz es una estructura de datos que permite almacenar múltiples valores en una sola variable con varias dimensiones. Se puede visualizar como una tabla de filas y columnas (matriz bidimensional) o con más dimensiones según la necesidad. Matrices Bidimensionales Definición y Estructura Las matrices bidimensionales en PSeInt son estructuras que almacenan datos en filas y columnas, similares a una tabla. Se declaran con Dimension matriz[F,C] y se recorren con bucles anidados. Son útiles en juegos, bases de datos y procesamiento de imágenes. Algoritmo MatricesEjemplo Definir num,i Como Entero Dimension num[5] // Declaramos una matriz de 5 elementos // Leer valores del usuario Escribir "Ingrese 5 números:" Para i <- 0 Hasta 4 Hacer Escribir "Número ", i+1, ": " Leer num[i] FinPara // Mostrar los valores almacenados Escribir "Los números ingresados son:" Para i <- 0 Hasta 4 Hacer Escribir "Número ", i+1, ": ", num[i] FinPara FinAlgoritmo 26 Algoritmo MATRICES Definir M, i, j Como Entero; Dimension M[2,2]; M[1,1]<-1; M[1,2]<-2; M[2,1]<-3; M[2,2]<-4; Para I<-1 Hasta 3 Hacer Para J<-1 Hasta 3 M[i,j]<-Aleatorio( Fin Para Fin Para Para I<-1 Hasta 3 Hacer Para J<-1 Hasta 3 M[i,j]<-Aleatorio( Fin Para Escribir Sin Saltar M[1,1]," "; Escribir Sin Saltar M[1,2]," "; Escribir ""; Escribir Sin Saltar M[2,1]," "; Escribir Sin Saltar M[2,2]," "; Escribir ""; FinAlgoritmo Algoritmo matrices Definir i,j como Entero; Definir M,n,suma Como Real; Dimension M[4,3]; Para i<-1 Hasta 4 Con Paso 1 Hacer Para j<-1 Hasta 3 Con Paso 1 Hacer Escribir Sin Saltar"Ingresa el dato de la posición [", i,",",j,"]"; Leer n; M[i,j]<-n; suma<-suma+M[i,j]; Fin Para Fin Para Escribir "El resultado de la suma de todos los elementos de la matriz es :",suma; FinAlgoritmo 27 //Matriz //30/01/2025 //Función formato Funcion cad2 <- formato2 ( frase, tamf ) Definir cad2 Como Caracter; Definir i, ini Como Entero; cad2<-frase; ini<-Longitud(frase); Para i<-ini Hasta tamf Hacer cad2<-Concatenar(cad2," "); Fin Para cad2<-Concatenar(frase,cad2); Fin Funcion Funcion pZ ( m, f, c ) Definir i, j Como Entero; Para i<-1 Hasta f Hacer Para j<-1 Hasta c Hacer si i=j o i=c o i=1 Entonces M[i,j]<-1; SiNo M[i,j]<-0; FinSi Fin Para Fin Para Para i<-1 Hasta f Hacer Para j<-1 Hasta c Hacer Escribir Sin Saltar formato2(Convertiratexto(M[i,j]),5); Fin Para Escribir ""; Fin Para Fin Funcion Algoritmo MATRIZ Definir m,i,j,f,c Como Entero; Escribir "Ingrese el numero de filas deseadas"; leer f; Escribir "Ingrese el numero de columnas deseadas "; Leer c; Dimension m[f,c]; //Llamada a la función pZ( m, f, c); FinAlgoritmo 28 //01/02/2025 Funcion imprimirm ( va,n ) Definir i,j Como Real; Para i = 1 Hasta n Hacer Para j = 1 Hasta n Hacer Escribir Sin Saltar va[i, j], " "; FinPara Escribir ""; FinPara Fin Funcion Funcion llenarmatiz ( va,n ) Definir i,j Como Real; Para i = 1 Hasta n Hacer Para j =1 Hasta n Hacer Si i = 1 O i = n Entonces va[i, j] = 1; Sino Si j+i=n+1 Entonces va[i, j] = 1 ; Sino va[i, j] = 0; FinSi FinSi FinPara FinPara Fin Funcion Funcion total <- ventasS( D,f,c,s ) Definir i,j Como Entero; Definir total Como Real; total<-0; Para j<-1 Hasta c Hacer total<- total + D[s,j]; FinPara FinFuncion 29 Funcion total <- ventasT ( D,f,c ) Definir i,j Como Entero; Definir total Como Real; total<-0; Para i<-1 Hasta f Hacer Para j<-1 Hasta c Hacer total<- total + D[i,j]; FinPara FinPara FinFuncion Funcion prnMatriz (mat, f, c) DEFINIR i, j, acum Como Entero; para i<-1 hasta f Hacer para j<-1 hasta c hacer Escribir Sin Saltar mat[i, j]," " ; FinPara escribir " "; FinPara FinFuncion funcion LLENAR(M, N, matriz) Para i <- 1 Hasta M Con Paso 1 Hacer Para j <- 1 Hasta N Con Paso 1 Hacer matriz[i, j]<-Aleatorio(1,10) Fin Para Fin Para finfuncion funcion MULT(M, N, M1, x, M2) Para i <- 1 Hasta M Con Paso 1 Hacer Para j <- 1 Hasta N Con Paso 1 Hacer M2[i, j] <- M1[i, j] * x Fin Para Fin Para finfuncion funcion MostrarMatriz(M, N, matriz, titulo) Escribir titulo Para i <- 1 Hasta M Con Paso 1 Hacer Para j <- 1 Hasta N Con Paso 1 Hacer Escribir Sin Saltar matriz[i, j]," "; Fin Para Escribir "" Fin Para finfuncion 30 funcion MDS(F, matriz) ESCRIBIR ""; Escribir "DIAGONAL SECUNDARIA:" ESCRIBIR ""; Para i <- 1 Hasta F Con Paso 1 Hacer Escribir Sin Saltar matriz[i, F - i + 1]," " ; Fin Para Escribir "" finfuncion funcion MostrarMatriz1(F, matriz) ESCRIBIR ""; Escribir "MATRIZ COMPLETA:" ESCRIBIR ""; Para i <- 1 Hasta F Con Paso 1 Hacer Para j <- 1 Hasta F Con Paso 1 Hacer Escribir Sin Saltar matriz[i, j]," "; Fin Para Escribir "" Fin Para finfuncion Funcion Llm( matriz, F) Para i <- 1 Hasta F Hacer Para j <- 1 Hasta F Hacer matriz[i, j]<-Aleatorio(1,10) Fin Para Fin Para finfuncion funcion tsup(matriz, F) Escribir "TRIANGULO SUPERIOR" Para i <- 1 Hasta F Hacer Para j <- i Hasta F Hacer Escribir Sin Saltar matriz[i, j]," "; Fin Para Escribir "" Fin Para Fin funcion 31 funcion tinf(matriz, F) Escribir "TRIANGULO INFERIOR" Para i <- 1 Hasta F Hacer Para j <- 1 Hasta i Hacer Escribir Sin Saltar matriz[i, j]," "; Fin Para Escribir "" Fin Para Fin funcion Funcion t( mat,c,f ) definir i, j como entero; Para i<-1 Hasta f Hacer Para j<-1 Hasta c Hacer Escribir Sin Saltar mat[i, j]," "; FinPara Escribir " "; Fin Para Fin Funcion Funcion pm( mat,c,f ) definir i, j como entero; Para i<-1 Hasta f Hacer Para j<-1 Hasta c Hacer Escribir Sin Saltar mat[i, j]," "; FinPara Escribir " "; Fin Para Fin Funcion Funcion Pnr_matriz ( mat,c,f ) definir i, j como entero; Para i<-1 Hasta f Hacer Para j<-1 Hasta c Hacer Escribir Sin Saltar mat[i, j]," "; FinPara Escribir " "; Fin Para Fin Funcion Funcion prf (mat, f, c) Definir SF,i, j, promedio Como Real; Para i <- 1 Hasta f Hacer sF <- 0; Para j <- 1 Hasta c Hacer sF <- sF + mat[i, j]; FinPara promedio <- sF / c; ESCRIBIR ""; Escribir "PROMEDIO DE LA FILA ", i, ": ", promedio; FinPara finfuncion Funcion prc (mat, f, c) Definir i, j, sC, promedio Como Real; Para j <- 1 Hasta c Hacer sC <- 0; Para i <- 1 Hasta f Hacer sC <- sC + mat[i, j]; FinPara promedio <- sC / f; ESCRIBIR ""; Escribir "PROMEDIO LA COLUMNA DE LA MATRIZ ", j, ": ", promedio; FinPara Fin Funcion 32 Algoritmo tallermatrices Definir w,z ,FILAS, COLU, x, M1, M2,OPC,F, MATRIZ,mu Como Entero i<-0; Escribir ""; Escribir " MENÚ DE OPCIONES "; Escribir ""; Escribir ""; escribir "1) PARA GENERAR UNA MATRIZ Y MULTIPLICAR POR EL NÚMERO INGRESADO POR TECLADO. MOSTRAR LA MATRIZ ORIGINAL Y LA RESULTANTE"; escribir ""; escribir "2) MOSTRAR LOS ELEMENTOS DE LA DIAGONAL PRINCIPAL Y SECUNDARIA"; escribir ""; escribir "3) MOSTRAR LOS ELEMENTOS DE LA MATRIZ TRIANGULAR SUPERIOR E INFERIOR"; escribir ""; escribir "4) GENERAR UNA MATRIZ A DE ORDEN M X N Y OBTENER LA MATRIZ TRANSPUESTA"; ESCRIBIR ""; ESCRIBIR "5) OBTENER PROMEDIO POR FILAS Y POR COLUMNAS"; ESCRIBIR ""; ESCRIBIR "6) GENERAR UNA MATRIZ DE NX12 CON LAS VENTAS DE CADA SUCURSAL DURANTE 12 MESES (1 AÑO)"; ESCRIBIR ""; ESCRIBIR "7) MATRIZ ORDEN X POR X "; LEER OPC; Segun OPC Hacer 1: ESCRIBIR ""; Escribir "----INGRESE NUMERO DE FILAS-----: (M): " ESCRIBIR ""; Leer FILAS ESCRIBIR ""; Escribir "----INGRESE NUMERO DE COLUMNAS---- (N): " ESCRIBIR ""; Leer COLU ESCRIBIR ""; Escribir "INGRESE UN NUMERO PARA MULTIPLICAR (x): " ESCRIBIR ""; Leer x Dimension M1[FILAS, COLU] Dimension M2[FILAS, COLU] LLENAR(FILAS, COLU, M1) MULT(FILAS, COLU, M1, x, M2) MostrarMatriz(FILAS, COLU, M1, "M:ORIGINAL :") MostrarMatriz(FILAS, COLU, M2, "M:CAMBIO:") 2: Escribir "INGRESE EL TAMAÑO DE LA MATRIZ CUADRADA): " Leer TM Dimension matriz[TM, TM] LlenarMatriz(TM, matriz) MostrarMatriz1(TM, matriz) MDP(TM, matriz) MDS(TM, matriz) 3: ESCRIBIR ""; Escribir "INGRESE EL TAMAÑO DE LA MATRIZ CUADRADA): " ESCRIBIR ""; Leer TM Dimension matriz[TM, TM] Llm(matriz, TM) tsup(matriz, TM) tinf(matriz, TM) llenarmatiz( VALOR1,V ); imprimirm(VALOR1,V ); Fin Segun FinAlgoritmo 33 4: Escribir "FILAS DE LA MATRIZ"; Leer filas ; Escribir "COLUMNAS DE LA MATRIZ"; Leer colu; Dimension M1[filas,colu]; Para z<-1 Hasta filas Hacer Para w <-1 Hasta colu Hacer M1[z,w]<-Aleatorio(1,10); FinPara Fin Para pm( M1,colu,filas ); escribir " "; ESCRIBIR "MATRIZ TRASPUESTA"; t(M1,filas,colu); 5: Escribir "INGRESE EL NUMERO DE FILAS"; escribir ""; Leer filas; Escribir "INGRESE EL NUMERO DE COLUMNAS"; escribir ""; Leer colu; Dimension M[filas, colu]; Para i <- 1 Hasta filas Hacer Para j <- 1 Hasta colu Hacer M[i, j] <- Aleatorio(1, 10); FinPara FinPara Escribir "LA MATRIZ ES LA SIGUIENTE...."; prnMatriz(M, fILAS, cOLU); // Calcular el promedio por filas ESCRIBIR " "; Escribir "----PROMEDIOS POR FILAS DE LA MATRIZ----:"; prF(M, fILAS, cOLU); // Calcular el promedio por columnas Escribir " "; Escribir "-----PROMEDIOS POR COLUMNAS DE LA MATRIZ---- :"; prC(M, fILAS, cOLU); 6: escribir "INGRESE EL NUMERO DE SUCURSALES DE ESE PAIS"; Leer n; Dimension E[n,12]; Para i<-1 Hasta n Hacer Para j<-1 Hasta 12 Hacer E[i,j]<- Aleatorio(10000,500000)/100; FinPara FinPara Para i<-1 Hasta n Hacer Para j<-1 Hasta 12 Hacer Escribir Sin Saltar formato(ConvertirATexto(E[i, j])," "); FinPara Escribir ""; FinPara Escribir ""; Escribir "TOTAL DE VENTAS ",ventasT(E,n,12); Escribir "TOTAL DE VENTAS SUCURSALES ",ventasS(E,n,12,2); 7: Repetir Escribir "INGRESE UN NUMERO IMPAR MAYOR A 3 PARA N: "; Leer V; Mientras Que V <= 3 O V MOD 2 = 0 Dimension VALOR1[V, V]; 34 VISUAL BASIC Visual Basic es un lenguaje de programación fácil de aprender, basado en eventos y orientado a objetos. Su estructura se basa en variables, estructuras de control, funciones, POO, manejo de excepciones y módulos. Es ideal para desarrollar aplicaciones Windows y soluciones empresariales con una interfaz gráfica intuitiva. Variables y Tipos de Datos Visual Basic es fuertemente tipado y admite diferentes tipos de datos: Dim entero As Integer = 10 Dim decimal As Double = 3.14 Dim texto As String = "Hola" Dim booleano As Boolean = True Estructuras de Control Dim edad As Integer = 18 If edad >= 18 Then Console.WriteLine("Eres mayor de edad") Else Console.WriteLine("Eres menor de edad") End If For i As Integer = 0 To 4 Console.WriteLine(i) ' Imprime del 0 al 4 Next 35 Public Sub TOTALRELIGION() Dim total As Double total = 0 For i = 2 To 110 If Cells(i, 6) = "católico" Then total = total + 1 End If Next i Cells(5, 21) = total For i = 2 To 110 If Cells(i, 6) = "musulmán" Then total = total + 1 End If Next i Cells(6, 21) = total For i = 2 To 110 If Cells(i, 6) = "hindú" Then total = total + 1 End If Next i Cells(13, 21) = total For i = 2 To 110 If Cells(i, 6) = "judío" Then total = total + 1 End If Next i Cells(14, 21) = total RESULTADO End Sub 36 PYTHON Python es un lenguaje versátil con una sintaxis simple pero poderosa. Su estructura se basa en variables, estructuras de control, funciones, POO, manejo de excepciones y módulos. Es ideal tanto para principiantes como para expertos. nac=input("Ingrese su fecha de nacimiento") año=int(nac[0:4]) mes=int(nac[5:7]) dia=int(nac[8:10]) print(año) print(mes) print(dia) fecact=input("fecha actual") año1=int(fecact[0:4]) mes1=int(fecact[5:7]) dia1=int(fecact[8:10]) print(año1) print(mes1) print(dia1) añon = año1 - año if mes1 < mes : añon -= 1 mesn = 12 - (mes - mes1) else: mesn = mes1 - mes if dia1 < dia : mesn -=1 dian = (dia1 + 30) - dia else: dian = dia1 - dia 37 print(" usted tiene ",añon, "años",mesn," meses",dian,"días") # Operadores //division entera ,**potencia ,%residuo dato1=int(input("Ingrese dato 1")) dato2=int(input("Ingrese dato 2")) suma = dato1+ dato2 print(dato1, "+",dato2, "=", suma) resta = dato1- dato2 print(dato1, "-",dato2, "=", resta) mult = dato1 * dato2 print(dato1, "*",dato2, "=", mult) div = dato1/ dato2 print(dato1, "/",dato2, "=", div) dive = dato1// dato2 print(dato1, "//",dato2, "=", dive) pot = dato1** dato2 print(dato1, "**",dato2, "=", pot) res = dato1% dato2 print(dato1, "%",dato2, "=", res) #cadena frase1=input ("Ingrese una frase") print("f1,",frase1) frase2=input ("Ingrese una frase") print("f1,",frase2) #concatenar + frase3=frase1+" "+frase2 print("f2", frase3) #subcadena [] subcad=frase3[0:1:1] print ("Subcadena",subcad) result = frase2 in frase1 print("resltado",result) #leer input name= input("Cual es tu nombre") print("Holaaaaa",name) #cast de str a int edad= int(input("Cual es tu edad")) edad=edad + 1 print("Edad para el 2026",edad) peso= int(input("Cual es tu peso")) peso=peso + 1 print("Edad para el 2026",peso) 38 #contador con op uniarios +=,-=*=,/=,**= total=0 total=total + 1 total+=1 print (total) #Suma de valoresdeun solo numero dato1=int(input("Ingrese un número de 3 cifras")) cen=dato1%10 print("Centenas", cen) dec=(dato1%100)//10 print("Decenas", dec) uni=dato1//100 print("Unidades",uni) print (uni,dec,cen) # Área de una figura geometrica print("Ingrese el tamaño deL CUADRADO") dato1=int(input("Ingrese el tamaño")) mult = dato1 **2 print(dato1, "**","2", "=", mult) # Área de una figura geometrica print("Ingrese el tamaño de rectangulo") dato1=int(input("Ingrese dato 1")) dato2=int(input("Ingrese dato 2")) mult = dato1 * dato2 print(dato1, "*",dato2, "=", mult) 39
0
Puede agregar este documento a su colección de estudio (s)
Iniciar sesión Disponible sólo para usuarios autorizadosPuede agregar este documento a su lista guardada
Iniciar sesión Disponible sólo para usuarios autorizados(Para quejas, use otra forma )