Ejercicios básicos
La única forma para aprender programación es la practica continua. En esta ocasión se usará Perl para realizar estos ejercicios.
1. Hacer un programa que determine si un número es par o impar. Un número par es un entero que puede ser dividido entre dos y su residuo nos da cero.
#ejecutar: perl par.pl
use strict;
use warnings;
#declaramos la variable numero
my ($numero);
print "Introduce un número:";
$numero=<STDIN>;
chomp($numero);#quitamos los espacios
if($numero%2==0){
print "El número ",$numero," es par\n";
}else{
print "El número ",$numero," es impar\n";
}
2. Hacer un programa que determine si un número (A) es múltiplo de otro número (B).
#ejecutar: perl multiplo.pl
use strict;
use warnings;
#declaramos los dos números
my ($a,$b);
print "Introduce número (A): ";
$a=<STDIN>;
chomp($a);
print "Introduce número (B):";
$b=<STDIN>;
chomp($b);
#determinamos si son o no múltiplos
if($a>$b){
if($a%b==0){
print "(A) ",$a," es multiplo de (B) ",$b,"\n";
}else{
print "(A) ",$b," no es multiplo de (B) ",$b, "\n";
}
}else{
if($b%$a==0){
print "(A) ",$a," es multiplo de (B) ",$b,"\n";
}else{
print "(A) ",$a," no es multiplo de (B) ",$b,"\n";
}
}
3.Hacer un programa que determine el mayor, el mediano y el menor de tres números.
#ejecutar: perl determinar.pl
use warnings;
use strict;
#creamos una constante 'booleana'
use constant VERDADERO => 1;
my($a,$b,$c,$continuar);
do{
print "\n[Número mayor, mediano y menor de tres números]\n";
print "Introduce número (A):";
$a=<STDIN>;
chomp($a);
print "Introduce número (B):";
$b=<STDIN>;
chomp($b);
print "Introduce número (C):";
$c=<STDIN>;
chomp($c);
if($a>$b && $a>$c){
print "el numero A ",$a," es el mayor\n";
if($b>$c){
print "el numero B ",$b," es el mediano\n";
print "el numero C ",$c," es el menor\n";
}else{
print "el numero C ",$c," es el mediano\n";
print "el numero B ",$b," es el menor\n";
}
}else{
if($b>$a && $b>$c){
print "el numero B ",$b," es el mayor\n";
if($a>$c){
print "el numero A ",$a," es el mediano\n";
print "el numero C ",$c," es el menor\n";
}else{
print "el numero C ",$c," es el mediano\n";
print "el numero A ",$a," es el mediano\n";
}
}else{
print "el numero C ",$c," es el mayor\n";
if($a>$b){
print "el numero A ",$a," es el mediano\n";
print "el numero B ",$b," es el menor\n";
}else{
print "el numero B ",$b," es el mediano\n";
print "el numero A ",$a," es el menor\n";
}
}
}#fin else
print "Desea continuar? (Si->s , No->n):";
$continuar=<STDIN>;
chomp($continuar);
if($continuar eq 'n'){
last;#alternativa a 'break'
}
}while(VERDADERO);
4. Hacer un programa que determine el mayor de cinco números. En vez de definir cinco variables, definimos un vector de cinco elementos.
#ejecutar: perl mayor.pl
use strict;
use warnings;
use constant MAX => 5;
#definimos las variables necesarias
my(@numeros,$mayor,$tam);
#introducimos cinco números
for (my $i = 0; $i < MAX; $i++) {
print "Introduce número[ ",($i+1),"]:";
$numeros[$i]=<STDIN>;
chomp($numeros[$i]);
}
$tam = scalar (@numeros);#obtenemos tamaño del vector
$mayor=0;
#determinamos el número mayor
for (my $j = 0; $j < $tam; $j++) {
if($mayor<$numeros[$j]){
$mayor=$numeros[$j];
}
}
print "El número ",$mayor," es el mayor\n";
Eso es todo por hoy.
Mostrando entradas con la etiqueta pseint. Mostrar todas las entradas
Mostrando entradas con la etiqueta pseint. Mostrar todas las entradas
domingo, 3 de agosto de 2014
domingo, 20 de julio de 2014
Programando en Ceylon ... no. 3
Existe una herramienta para aprender a programar llamada PSeInt, en esta ocasión vamos a realizar ejemplos de programación básica y comparando esos códigos en Ceylon.
1. Se requiere obtener la talla de una persona sabiendo que su peso es de 54.5 kg y su índice de masa corporal es de 22.1.
Fórmulas:
imc=peso/(talla*talla)
peso=(talla*talla)*imc
talla=sqrt(peso/imc)
Usando PSeInt escribimos:
Y obtenemos:
Ahora en Ceylon:
obtenerTalla.ceylon
void run(){
variable Float peso=54.5;
variable Float talla=0.0;
variable Float imc=22.1;
function sqrt(Float x) => x^0.5; //para obtener la raíz
talla=sqrt(peso/imc);
print("talla: ``talla`` ");
}
Compilamos y ejecutamos:
2. Obtener un bono de ventas, teniendo en cuenta que el objetivo (de ventas) debe ser igual o mayor a 300.
Obtenemos:
En Ceylon:
obtenerBono.ceylon
void run(){
variable Integer ventas=320;
variable Integer objetivo=300;
variable String mensaje="";
variable Float bono=0.0;
if(ventas>=objetivo){
bono=0.045*(ventas-objetivo);
mensaje="Exito";
}else{
bono=0.0;
mensaje="Fracaso";
}
print(" ``mensaje`` , bono obtenido: ``bono`` ");
}
Compilamos y ejecutamos:
3. Un menú para elegir una película. Si es mayor de edad permitirá mostrar el menú.
Código:
Proceso obtener_opcion
Definir opc Como Entero;
Definir edad Como Entero;
Definir permiso Como Logico;
Definir aviso Como Caracter;
aviso="";
Escribir "¿Cuantos años tienes?";
Leer edad;
Si edad>=18 Entonces
permiso=Verdadero;
Sino
permiso=Falso;
Fin Si
Si permiso Entonces
Escribir "Cartelera Cine de Terror";
Escribir "1. Masacre en Texas";
Escribir "2. La isla de la bruja";
Escribir "3. El misterio del valle de las sombras";
Escribir "Elije una: ";
Leer opc;
Segun opc Hacer
1:
aviso="Debes traer ropa interior de sobra ... no es broma";
2:
aviso="Aceptable, si no quieres dormir varios días";
3:
aviso="Una opción bastante recomendable... para ir al psiquiatra";
De Otro Modo:
aviso="Esa opcion es invalida";
Fin Segun
FinSi
Escribir aviso;
FinProceso
Obtenemos:
En Ceylon:
obtenerOpcion.ceylon
void run(){
variable String aviso="";
variable Boolean permiso=false;
print("Cuantos años tienes?");
String edadStr=process.readLine();
Integer? _edad=parseInteger(edadStr);
if(exists _edad){
Integer edad=_edad;
if(edad>=18){
permiso=true;
}else{
permiso=false;
}
}
if(permiso){
print("Cartelera Cine de Terror");
print("1. Masacre en Texas");
print("2. La isla de la bruja");
print("3. El misterio del valle de las sombras");
print("Elije una: ");
String opcStr=process.readLine();
Integer? _opc=parseInteger(opcStr);
if(exists _opc){
Integer opcion=_opc;
switch(opcion)
case (1){aviso="Debes traer ropa interior de sobra ... no es broma";}
case (2){aviso="Aceptable, si no quieres dormir varios días";}
case (3){aviso="Una opción bastante recomendable... para ir al psiquiatra";}
else{aviso="Esa opcion es invalida";}
}
}
print("``aviso``");
}
Compilamos y ejecutamos:
Espero les sirva.
1. Se requiere obtener la talla de una persona sabiendo que su peso es de 54.5 kg y su índice de masa corporal es de 22.1.
Fórmulas:
imc=peso/(talla*talla)
peso=(talla*talla)*imc
talla=sqrt(peso/imc)
Usando PSeInt escribimos:
Y obtenemos:
Ahora en Ceylon:
obtenerTalla.ceylon
void run(){
variable Float peso=54.5;
variable Float talla=0.0;
variable Float imc=22.1;
function sqrt(Float x) => x^0.5; //para obtener la raíz
talla=sqrt(peso/imc);
print("talla: ``talla`` ");
}
Compilamos y ejecutamos:
2. Obtener un bono de ventas, teniendo en cuenta que el objetivo (de ventas) debe ser igual o mayor a 300.
Obtenemos:
En Ceylon:
obtenerBono.ceylon
void run(){
variable Integer ventas=320;
variable Integer objetivo=300;
variable String mensaje="";
variable Float bono=0.0;
if(ventas>=objetivo){
bono=0.045*(ventas-objetivo);
mensaje="Exito";
}else{
bono=0.0;
mensaje="Fracaso";
}
print(" ``mensaje`` , bono obtenido: ``bono`` ");
}
Compilamos y ejecutamos:
3. Un menú para elegir una película. Si es mayor de edad permitirá mostrar el menú.
Código:
Proceso obtener_opcion
Definir opc Como Entero;
Definir edad Como Entero;
Definir permiso Como Logico;
Definir aviso Como Caracter;
aviso="";
Escribir "¿Cuantos años tienes?";
Leer edad;
Si edad>=18 Entonces
permiso=Verdadero;
Sino
permiso=Falso;
Fin Si
Si permiso Entonces
Escribir "Cartelera Cine de Terror";
Escribir "1. Masacre en Texas";
Escribir "2. La isla de la bruja";
Escribir "3. El misterio del valle de las sombras";
Escribir "Elije una: ";
Leer opc;
Segun opc Hacer
1:
aviso="Debes traer ropa interior de sobra ... no es broma";
2:
aviso="Aceptable, si no quieres dormir varios días";
3:
aviso="Una opción bastante recomendable... para ir al psiquiatra";
De Otro Modo:
aviso="Esa opcion es invalida";
Fin Segun
FinSi
Escribir aviso;
FinProceso
Obtenemos:
En Ceylon:
obtenerOpcion.ceylon
void run(){
variable String aviso="";
variable Boolean permiso=false;
print("Cuantos años tienes?");
String edadStr=process.readLine();
Integer? _edad=parseInteger(edadStr);
if(exists _edad){
Integer edad=_edad;
if(edad>=18){
permiso=true;
}else{
permiso=false;
}
}
if(permiso){
print("Cartelera Cine de Terror");
print("1. Masacre en Texas");
print("2. La isla de la bruja");
print("3. El misterio del valle de las sombras");
print("Elije una: ");
String opcStr=process.readLine();
Integer? _opc=parseInteger(opcStr);
if(exists _opc){
Integer opcion=_opc;
switch(opcion)
case (1){aviso="Debes traer ropa interior de sobra ... no es broma";}
case (2){aviso="Aceptable, si no quieres dormir varios días";}
case (3){aviso="Una opción bastante recomendable... para ir al psiquiatra";}
else{aviso="Esa opcion es invalida";}
}
}
print("``aviso``");
}
Compilamos y ejecutamos:
Espero les sirva.
viernes, 4 de julio de 2014
Una herramienta para aprender a programar: PSeInt
PSeInt
Se trata de una herramienta enfocada a la enseñanza y aprendizaje de programación, se emplea un lenguaje algorítmico muy sencillo de utilizar. Lo puedes instalar en Linux, Windows, y Mac.
Al inicio te pedirá que lenguaje algorítmico usarás (te muestra una lista). A mi parecer es bastante sencillo e intuitivo. Ideal para quienes están o quieren aprender a programar.
Link
http://pseint.sourceforge.net/slide/pseint.html
http://pseint.sourceforge.net/
Se trata de una herramienta enfocada a la enseñanza y aprendizaje de programación, se emplea un lenguaje algorítmico muy sencillo de utilizar. Lo puedes instalar en Linux, Windows, y Mac.
Al inicio te pedirá que lenguaje algorítmico usarás (te muestra una lista). A mi parecer es bastante sencillo e intuitivo. Ideal para quienes están o quieren aprender a programar.
Link
http://pseint.sourceforge.net/slide/pseint.html
http://pseint.sourceforge.net/
Suscribirse a:
Entradas (Atom)
Jai un lenguaje de programación inspirado en C++
Hoy hablaremos de un nuevo lenguaje de programación llamado Jai . Se trata de un lenguaje de programación que está desarrolland...
-
Progress ABL es un lenguaje de programación vinculado al entorno Progress OpenEdge , su base de datos y las utilidades que lo rodean. Es s...
-
Claude Code es una herramienta de inteligencia artificial creada por Anthropic que funciona directamente en la terminal. Sirve para acele...
-
Ionic es un framework que permite crear aplicaciones móviles híbridas. Éstas aplicaciones son las que emplean tecnologías como HTML, CSS ...
Etiquetas
- .NET
- 100
- 2026
- abl
- abstract
- abstractas
- activemq
- ada
- agente
- agile
- akka
- algoritmos
- almacenados
- alternativa
- android
- angular
- angularjs
- apache
- apache-camel
- apache-mesos
- apache-poi
- apex
- api
- appserv
- aprender
- aprender java
- aprender jsf
- aprender python
- aprendizaje
- area
- args
- aserciones
- asm
- asp
- assembly
- assert
- automatización
- awk
- aws
- ayuda
- azure
- backend
- ballerina
- base de datos
- bases de datos
- bash
- bat
- bd
- beam
- beef
- bigquery
- biotipo
- bitacora
- bitcoin
- bleam
- blockchain
- blog
- bq
- bucket
- bundle
- c
- c#
- c++
- c3
- calculadora
- calculo
- camel
- case
- cassandra
- celsius
- ceylon
- cgi
- charp
- charts
- chatgpt
- cherrypy
- chino
- cibersecurity
- clang
- clases
- claude code
- cli
- cliente
- clojure
- closures
- cloud
- cmd
- cmd.bat
- coalesce
- cobol
- codeblocks
- codeigniter
- codes
- código
- códigos
- comando
- comandos
- commit
- comparativa
- compartir
- compilador
- compile
- composer
- comprobación
- computación
- computing
- conceptos
- concurnas
- concurrente
- condicionales
- conectividad
- configuration
- consejos
- const
- constantes
- consultas
- contenedores
- contenedores web
- control de versiones
- conversion
- conversor
- convertidor
- copilot
- core
- corsera
- couchdb
- cpan
- cplus
- cpp
- cpp-httplib
- crear
- cripto
- criptomoneda
- crow
- CrowdStrike
- crystal
- csharp
- cshtml
- css
- css3
- csv
- cte
- curso
- d
- dancer2
- dapper
- datastage
- datos
- deepseek
- delphi
- deploy
- desarrollo
- determinar
- dev c++
- developer
- devops
- días
- directivas
- disparejo
- distribuido
- django
- dlang
- doc
- docker
- docker-swarm
- dockerfile
- document
- documentación
- documental
- dotnet
- driver
- dsl
- dylan
- easyphp
- eclipse
- eclipse foundation
- eclipse y scala
- economica
- editor
- eip
- ejb
- ejecutar
- ejemplos
- ejemplos cpp
- ejemplos de csharp
- ejemplos de scala
- ejemplos java
- ejemplos python
- ejmeplo
- elixir
- elixir.
- en línea
- encapsulación
- ensamblador
- entityframework
- enum
- erlang
- error
- errores
- es6
- escribir
- esproc
- esprocsqpl
- estructuras
- ethereum
- euler
- excel
- excepciones
- expando
- export
- express
- externa
- f#
- faces
- fahrenheit
- feliz año
- fetch
- filosofía
- firebase
- flask
- foreach
- framework
- fsharp
- funcional
- funciones
- functions
- futuro
- gcc
- gcp
- geany
- gem
- gemfile
- generador de proyectos
- genie
- gestor de proyectos
- github
- glassfish
- gleam
- gnu
- go
- golang
- google web toolkit
- gosu
- graalvm
- gradle
- grain
- grapes
- graphql
- graven
- grok
- grooscript
- groovy
- groovyeConsole
- grpc
- gson
- gui
- gwt
- gwtext
- hashicorp
- hashmap
- haskell
- haxe
- headers
- helidon
- helm
- herencia
- hibernate
- hola
- hola en ceylon
- horoscopo
- HTA
- html
- html5
- http
- http-server
- http/2
- ia
- iaas
- iac
- ibm
- IDE
- ide scala
- if
- ifnull
- imagen
- imc
- import
- importar
- ingeniería
- iniciar glassfish
- iniciar tomcat
- inicio
- inicio en ceylon
- IntelliJ IDEA pycharm
- interface
- interfaces
- interfaz
- interna
- interoperabilidad
- interprete
- interview
- inversión de control
- inyección de dependencias
- ionic
- ios
- jabaco
- jai
- jakartaee
- java
- java swing
- java y ceylon
- JAVA_HOME
- javadoc
- javaee
- javascript
- javaserver
- jax-rs
- jaxb
- jdbc
- jdbi
- jdk
- jdk8
- jee
- jpa
- jpql
- jquery
- jre
- jruby
- jscript
- jsf
- jsni
- json
- juego
- julia
- jvm
- jvm y ceylon
- jython
- k8s
- kafka
- kanban
- katas
- kate
- koltin
- kotlin
- ktor
- kubectl
- kubernetes
- la path
- langchain
- langchain4j
- laravel
- learn
- lectura
- lenguaje
- lenguaje scala
- lenguajes
- let
- leyes
- librería
- libro
- linq
- linux
- list
- lista
- listas
- livescript
- llm
- llvm
- logger
- lua
- macro
- major
- mapas
- mariadb
- maven
- maven y eclipse
- mensajería
- mensajes
- menú
- mercurial
- messagebox
- metaClass
- micronaut
- microsoft
- minilux
- minimal api
- mix
- mobile
- modularidad
- módulo
- mojo
- mojolicious
- mongo
- mongodb
- mono
- monodevelop
- moonbit
- ms-dos
- mu
- mulesoft
- mvc
- mybatis
- mysql
- n8n
- native images
- neo4j
- netbeans
- nexus
- ng
- nicon notify
- nimrod
- nlog
- node
- nodejs
- nomad
- nosql
- notificaciones
- npm
- nube
- nuevo
- nuget
- nullable
- nullif
- numericas
- ocaml
- okhttp3
- ollama
- online
- openai
- openclaw
- opencode
- opendylan
- openedge
- operaciones
- oracel
- oracle
- orientación a objetos
- orm
- otp
- owasp
- paas
- paas iaas
- package
- packages
- padrino
- paradigma
- pascal
- path groovy
- path java
- patrones de coincidencia
- patrones de diseño
- pattern matching
- pdf-parser
- perl
- phoenix
- php
- pl/1
- plot
- plsql
- pom.xml.build.gradle
- poo
- powershell
- pregunta
- problema
- problemas al ejecutar programa en ceylon
- procedimientos
- procedures
- programa
- programacion
- programación
- programador
- programadores
- programar
- programas
- programas java
- programming
- progress
- prompt engineering
- proto
- protobuff
- protocolos
- proyectos maven
- prueba
- pseint
- pubsub
- pulsaciones
- pyramid
- python
- pyzenity
- quarkus
- questions
- r
- rabbitmq
- reactiva
- rebar3
- record
- recursos
- regex
- regiones
- remix
- repl
- replace
- repositorios
- REST
- RESTEasy
- reverse
- romanos
- ruby
- run
- rust
- ruta
- saas
- sanic
- sap
- sas
- sbt
- scala
- scottplot
- scripting
- scripts
- scrum
- sdkman
- security
- seguridad
- semántica
- sentencias
- serilog
- servidor
- shell
- show
- simplej
- sinatra
- singleton
- sintaxis
- sitios
- slim
- sms
- smslib
- soap
- socket.io
- solidity
- solución
- spark
- spl
- spring
- spring framework
- spring-boot
- spyder
- sql
- standard
- storage
- stored
- strawberry
- struts
- style
- svn
- swagger
- swift
- symfony
- system
- tapestry
- tarot
- tdd
- técnicas
- terminal
- terraform
- the maven integration requires that eclipse be running in a jdk
- tiempo
- tips
- tomcat
- top-down
- tornadoweb
- trailer
- tratamiento xml
- triggers
- turbogears
- tutoriales
- type
- typescript
- udemy
- udf
- unitarias
- unsupported
- usar jdk
- uso
- uwamp
- variables
- vba
- vbscript
- ventanas
- verificar
- version
- version_52.0
- versiones
- vertx
- vibecoding
- videojuegos
- vistazo
- visual code
- visual csharp
- visual studio
- vite
- vscode
- vulnerabilidades
- wampserver
- wasm
- web
- web2pybottle
- webapi
- webassembly
- webhooks
- websharper
- websocket
- wildfly
- window
- windows
- windows-services
- wisp
- work-services
- wsl
- WSO2
- xampp
- xml
- xunit
- yaml
- youtube
- zenity
Archivo del blog
-
►
2025
(83)
- ► septiembre (7)
-
►
2024
(58)
- ► septiembre (1)
-
►
2023
(12)
- ► septiembre (1)
-
►
2022
(10)
- ► septiembre (1)
-
►
2021
(26)
- ► septiembre (1)
-
►
2020
(9)
- ► septiembre (2)
-
►
2019
(26)
- ► septiembre (3)
-
►
2015
(24)
- ► septiembre (4)
-
►
2014
(36)
- ► septiembre (1)
-
►
2013
(40)
- ► septiembre (5)
-
►
2012
(46)
- ► septiembre (3)














