0% encontró este documento útil (0 votos)
14 vistas7 páginas

23

progra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
14 vistas7 páginas

23

progra
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 7

23

function calcular-letra{

param([int]$DNI)

$letra = "TRWAGMYFPDXBNJZSQVHLCKE"

$indice = $DNI % 23

return $letra[$indice]

function comparacion{

if ($DNIL -ne $final){

Write-Host "La inforamcion no es correcta tu DNI deberia tenre la letra $final"

else {Write-Host "tu DNI es correcto $DNI$final"}

$DNI = Read-Host "Introduce los 8 numeros de tu DNI"

$DNIL = Read-Host "Introduce la letra de tu DNI"

$final = calcular-letra -DNI $DNI

comparacion
24.

Write-Host "Número de parámetros recibidos: $($args.Count)"

foreach ($param in $args) {

Write-Host "Parámetro recibido: $param"

25
function Primo($numero) {

if ($numero -le 1) {

return $false

for ($i = 2; $i -le [math]::Sqrt($numero); $i++) { if ($numero % $i -eq 0) {

return $false

return $true

$num1 = [int](Read-Host "Introduce el primer número")

$num2 = [int](Read-Host "Introduce el segundo número")

$min = [math]::Min($num1, $num2)

$max = [math]::Max($num1, $num2)

Write-Host "Los números primos entre $min y $max son:"

foreach ($numero in $min..$max) {

if (Primo($numero)) { Write-Host $numero

}}

26
$tipo = Read-Host "Ingrese 'DNI' para calcular la letra del DNI o 'CC' para validar la
cuenta corriente"

$numero = Read-Host "Ingrese el número de DNI o cuenta corriente (según lo que


eligió)"

# Función para calcular la letra del DNI

function Calcular-LetraDNI($dniNumero) {

$letras = "TRWAGMYFPDXBNJZSQVHLCKE"

$indice = $dniNumero % 23

return $letras[$indice]

# Función para validar los dígitos de control de la cuenta corriente

function Validar-CC($ccNumero) {

if ($ccNumero.Length -ne 20) {

return $false, "", "", "",""

$entidad = $ccNumero.Substring(0, 4)

$oficina = $ccNumero.Substring(4, 4)

$dc = $ccNumero.Substring(8, 2)

$cuenta = $ccNumero.Substring(10, 10)

function Obtener-DigitoControl ($numero) {

$pesos = @(1, 2, 4, 8, 5, 10, 9, 7, 3, 6)

$suma = 0

for ($i = 0; $i -lt $numero.Length; $i++) {

$suma += [int]$numero[$i] * $pesos[$i]

$resto = $suma % 11

return (11 - $resto) % 10

}
$dc1Esperado = Obtener-DigitoControl "00$entidad$oficina"

$dc2Esperado = Obtener-DigitoControl $cuenta

if ($dc -eq "$dc1Esperado$dc2Esperado") {

return $true, "", "", "", ""

} else {

return $false, $entidad, $oficina, "$dc1Esperado$dc2Esperado", $cuenta

# Ejecución principal

if ($tipo -eq "DNI") {

if ($numero.Length -eq 9) {

$dniNumero = $numero.Substring(0, 8)

$dniLetra = $numero.Substring(8, 1).ToUpper()

$letraCalculada = Calcular-LetraDNI $dniNumero

if ($dniLetra -eq $letraCalculada) {

Write-Host "La letra del DNI es correcta $dniNumero$letraCalculada"

} else {

Write-Host "La letra del DNI es incorrecta. Debería ser: $letraCalculada"

} else {

Write-Host "Formato de DNI incorrecto."

} elseif ($tipo -eq "CC") {

if (Validar-CC $numero) {

Write-Host "El número de cuenta corriente es correcto."

} else {

Write-Host "El número de cuenta corriente es incorrecto deberia ser: $


($validacion[1]) $($validacion[2]) $($validacion[3]) $($validacion[4])"

}
} else {

Write-Host "Parámetro de tipo no válido. Use 'DNI' o 'CC'."

27

$ruta = Read-Host("Introduce una ruta")


if (Test-Path $ruta) {

$archivos = Get-ChildItem $ruta

echo $archivos > ruta.txt

Write-Host "El contenido de la ruta ${ruta} se ha introducido en el archivo ruta.txt"

} else {

Write-Host "La ruta introducida no es correcta"

También podría gustarte