Tarifa según edad y carnet de estudiante

Leer la edad y si tiene carnet de estudiante (S/N). Determinar tarifa:
- Niños (< 12): gratuito,
- Adulto (12-64) con carnet: tarifa reducida,
- Adulto (12-64) sin carnet: tarifa normal,
- Adulto mayor (>= 65): tarifa con descuento especial.
(Usar condiciones combinadas; no usar Select Case.)

← Volver a Artículos

¿Cómo funcionan las tarifas?

Según la edad y si posee carnet de estudiante determinamos si el visitante paga, tiene tarifa reducida o es gratuito. Usamos condiciones combinadas y comparaciones con AND/OR.



Solución en PSeInt

Proceso TarifaEdadCarnet
    Definir edad Como Entero;
    Definir carnet Como Caracter;

    Escribir "Ingrese edad: ";
    Leer edad;
    Escribir "Tiene carnet de estudiante (S/N): ";
    Leer carnet;

    Si edad < 12 Entonces
        Escribir "Tarifa: Gratuito";
    SiNo
        Si edad >= 65 Entonces
            Escribir "Tarifa: Descuento especial";
        SiNo
            Si edad >= 12 Y edad <= 64 Entonces
                Si carnet = "S" O carnet = "s" Entonces
                    Escribir "Tarifa: Reducida";
                SiNo
                    Escribir "Tarifa: Normal";
                FinSi
            FinSi
        FinSi
    FinSi
FinProceso


Solución en Python

edad = int(input("Ingrese edad: "))
carnet = input("Tiene carnet de estudiante (S/N): ").strip().upper()

if edad < 12:
    print("Tarifa: Gratuito")
elif edad >= 65:
    print("Tarifa: Descuento especial")
elif 12 <= edad <= 64:
    if carnet == "S":
        print("Tarifa: Reducida")
    else:
        print("Tarifa: Normal")


Solución en JavaScript

let edad = parseInt(prompt("Ingrese edad:"));
let carnet = prompt("Tiene carnet de estudiante (S/N):").trim().toUpperCase();

if (edad < 12) {
  alert("Tarifa: Gratuito");
} else if (edad >= 65) {
  alert("Tarifa: Descuento especial");
} else if (edad >= 12 && edad <= 64) {
  if (carnet === "S") {
    alert("Tarifa: Reducida");
  } else {
    alert("Tarifa: Normal");
  }
}


Solución en C++ (Dev C++)

#include <iostream>
#include <string>
using namespace std;
int main() {
    int edad;
    string carnet;
    cout << "Ingrese edad: ";
    cin >> edad;
    cout << "Tiene carnet de estudiante (S/N): ";
    cin >> carnet;

    if (edad < 12)
        cout << "Tarifa: Gratuito\n";
    else if (edad >= 65)
        cout << "Tarifa: Descuento especial\n";
    else if (edad >= 12 && edad <= 64) {
        if (carnet == "S" || carnet == "s")
            cout << "Tarifa: Reducida\n";
        else
            cout << "Tarifa: Normal\n";
    }
    return 0;
}


Solución en C#

using System;
class Program {
  static void Main() {
    Console.Write("Ingrese edad: ");
    int edad = int.Parse(Console.ReadLine());
    Console.Write("Tiene carnet de estudiante (S/N): ");
    string carnet = Console.ReadLine().Trim().ToUpper();

    if (edad < 12)
      Console.WriteLine("Tarifa: Gratuito");
    else if (edad >= 65)
      Console.WriteLine("Tarifa: Descuento especial");
    else if (edad >= 12 && edad <= 64) {
      if (carnet == "S")
        Console.WriteLine("Tarifa: Reducida");
      else
        Console.WriteLine("Tarifa: Normal");
    }
  }
}


Solución en Java

import java.util.Scanner;
public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);
    System.out.print("Ingrese edad: ");
    int edad = sc.nextInt();
    System.out.print("Tiene carnet de estudiante (S/N): ");
    String carnet = sc.next().trim().toUpperCase();

    if (edad < 12)
      System.out.println("Tarifa: Gratuito");
    else if (edad >= 65)
      System.out.println("Tarifa: Descuento especial");
    else if (edad >= 12 && edad <= 64) {
      if (carnet.equals("S"))
        System.out.println("Tarifa: Reducida");
      else
        System.out.println("Tarifa: Normal");
    }
  }
}


Publicado por: ObiWan
Fecha: 13/09/2025