Skip to content

VNSGU BCA Sem 2: Programming Skills (204) Practical Solutions - April 2024 Set D

Paper Details

  • Subject: Programming Skills Using C
  • Subject Code: 204
  • Set: D
  • Semester: 2
  • Month/Year: April 2024
  • Max Marks: 25
  • Time Recommendation: 2 Hours
  • Paper: View Paper | Download PDF

Questions & Solutions

All questions are compulsory

Q1: Print N Numbers using UDF

Max Marks: 20

Write a python to print N number using UDF (User Defined Function).

Hint

Create a function that accepts N as parameter and prints numbers from 1 to N. Call this function from main part of program.

Solution Approach

flowchart TD
    start[Start] --> input[Input N from user]
    input --> call[Call print_numbers]
    call --> loop[Loop from 1 to N]
    loop --> print[Print current number]
    print --> next{More numbers?}
    next -->|Yes| loop
    next -->|No| endfunc[Return to main]
    endfunc --> end[End]
Solution - Python
def print_numbers(n):
    """
    User Defined Function to print numbers from 1 to n.

    Parameters:
        n (int): The upper limit number to print
    """
    print(f"\nNumbers from 1 to {n}:")
    print("-" * 30)

    for i in range(1, n + 1):
        print(i, end=" ")

        # Print newline every 10 numbers for readability
        if i % 10 == 0:
            print()

    print("\n" + "-" * 30)

def print_numbers_with_format(n, format_type="line"):
    """
    Alternative UDF with formatting options.

    Parameters:
        n (int): The upper limit number to print
        format_type (str): 'line' for horizontal, 'column' for vertical
    """
    print(f"\nPrinting numbers 1 to {n} in {format_type} format:")
    print("=" * 40)

    if format_type == "line":
        for i in range(1, n + 1):
            print(i, end=" ")
        print()
    elif format_type == "column":
        for i in range(1, n + 1):
            print(f"Number: {i}")
    else:
        print("Invalid format type. Use 'line' or 'column'.")

    print("=" * 40)

# Main program
if __name__ == "__main__":
    try:
        # Get input from user
        n = int(input("Enter the value of N: "))

        if n <= 0:
            print("Please enter a positive number greater than 0.")
        else:
            # Call the UDF
            print_numbers(n)

            # Demonstrate alternative formatting
            print("\nAlternative formatting:")
            print_numbers_with_format(n, "column")

    except ValueError:
        print("Invalid input! Please enter a valid integer.")
    except Exception as e:
        print(f"An error occurred: {e}")

Sample Output:

Enter the value of N: 15

Numbers from 1 to 15:
------------------------------
1 2 3 4 5 6 7 8 9 10 
11 12 13 14 15 
------------------------------

Alternative formatting:
Printing numbers 1 to 15 in column format:
========================================
Number: 1
Number: 2
Number: 3
...
Number: 15
========================================

Alternative: Using Lambda Function
# Using lambda (anonymous function) with map
print_numbers_lambda = lambda n: print(*range(1, n + 1))

# Main
n = int(input("Enter N: "))
print("Numbers:")
print_numbers_lambda(n)
Alternative: Recursive Approach
def print_recursive(n, current=1):
    """Recursive function to print numbers 1 to n."""
    if current > n:
        return
    print(current, end=" ")
    print_recursive(n, current + 1)

# Main
n = int(input("Enter N: "))
print(f"Numbers from 1 to {n}:")
print_recursive(n)
print()
Alternative: Using List Comprehension
def print_list_comprehension(n):
    """Print numbers using list comprehension."""
    numbers = [str(i) for i in range(1, n + 1)]
    print(" ".join(numbers))

# Main
n = int(input("Enter N: "))
print_list_comprehension(n)

Q2: Viva Preparation

Max Marks: 5

Potential Viva Questions
  1. Q: What is a User Defined Function (UDF)?
  2. A: A function created by the programmer to perform specific tasks, defined using def keyword.
  3. Q: What is the purpose of the def keyword?
  4. A: It is used to define/declare a function in Python.
  5. Q: What is the difference between argument and parameter?
  6. A: Parameter is in function definition, argument is the actual value passed when calling.
  7. Q: Can a function call itself?
  8. A: Yes, this is called recursion.
  9. Q: What is if __name__ == "__main__": used for?
  10. A: It ensures the code inside only runs when the script is executed directly, not when imported.

Common Pitfalls

  • Range Upper Bound: range(1, n+1) includes n, range(1, n) excludes n.
  • Input Validation: Always check if input is positive before calling function.
  • Function Definition: Must define function before calling it.

Quick Navigation

Set Link
Set A Solutions
Set B Solutions
Set C Solutions
Set D Current Page
Set E Solutions
Set F Solutions

Last Updated: April 2026