Σοφοκλής

«Ένα κράτος, όπου η αυθάδεια και η ελευθερία τού να κάνει κανείς ό,τι θέλει μένουν ατιμώρητα, μπορεί να είναι κανένας σίγουρος γι' αυτό, ότι μετά από ένα ευτυχισμένο ταξίδι τελειώνει βυθισμένο μέσα στην άβυσσο.»

«Καθετί στον κόσμο, με τη δουλειά αποχτιέται.»

 

Σοφοκλής Χριστοφορίδης

Θέματα και λύσεις για το εργαστήριο

Δεύτερη εξέταση εργαστηρίου

Εκφωνήσεις λύσεις C# λύσεις Java
Θέμα 2 (5 μονάδες)2024-04
Η εταιρεία Α company απασχολεί, σε ένα μικρό εργοστάσιο, εργάτες οι οποίοι χωρίζονται σε τρεις μισθολογικές κλίμακες, 
ανάλογα με τις δεξιότητες τους :
Επίπεδο δεξιότητας	Ωρομίσθιο (Ευρώ)
1					10
2					15
3					25
 
Κάθε εργάτης μπορεί να δουλέψει οποιονδήποτε αριθμό ωρών ανά εβδομάδα, και για κάθε ώρα επιπλέον των 40 λαμβάνει 
αμοιβή 50 % επιπλέον του ωρομισθίου.
Επίσης, οι εργάτες με επίπεδο δεξιότητας 2 και 3 μπορούν να επιλέξουν μεταξύ των παρακάτω ασφαλιστικών εισφορών. 
Ενώ οι εργάτες με επίπεδο δεξιότητας 1 δεν μπορούν αν επιλέξουν και πάνε υποχρεωτικά στη επιλογή 3
Επιλογή	Επεξήγηση	Εβδομαδιαίο κόστος για τον υπάλληλο
1		Πλήρης κάλυψη	35
2		Μερική κάλυψη	25
3		Βασική κάλυψη	15
 
Δημιουργήστε πρόγραμμα μισθοδοσίας σε Java το οποίο θα υπολογίζει την αμοιβή ενός εργάτη. 
Το πρόγραμμα ζητάει από τον χρήστη το επίπεδο δεξιοτήτων και τις ώρες εργασίας, όπως και την επιλογή ασφάλισης. 
Το πρόγραμμα θα εμφανίζει: 
	(1) Τις ώρες εργασίας , 
	(2) το ωρομίσθιο (
	(3) την αμοιβή για 40 ώρες, 
	(4) την υπερωριακή αμοιβή, 
	(5) την συνολική αμοιβή και 
	(6) και τις συνολικές κρατήσεις.
Τα δεδομένα που θα εμφανίζονται πρέπει να είναι ανάλογα με αυτά που είχε πληκτρολογήσει ο χρήστης στα προηγούμενα παράθυρα.
Αποθηκεύστε το αρχείο ως PayRoll.java

	
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace PayRoll
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string userInputHoursWork;
            int hoursWork; // hours of work no check.
            string userInputSkillLevel;
            int skillLevel; // skill Level must be 1, 2, or 3.
            double workerSalary;
            double basicPay;
            double overtimePay;
            double insuranceCoverage;
            double finalSalary;

            Console.Write("Enter hours of work [integer value]: ");
            userInputHoursWork = Console.ReadLine();
            // Converts to integer type /
            hoursWork = Convert.ToInt32(userInputHoursWork);
            Console.WriteLine("You entered the hours of work {0}", hoursWork);

            Console.Write("Enter skill level 1, 2, or 3 [integer value]: ");
            userInputSkillLevel = Console.ReadLine();
            // Converts to integer type /
            skillLevel = Convert.ToInt32(userInputSkillLevel);
            Console.WriteLine("You entered the skill level {0}", skillLevel);
            while (skillLevel < 1 || skillLevel > 3)
            {
                Console.Write("Error data skill Level must be 1, 2, or 3. ");
                Console.Write("Enter skill level [integer value]: ");
                userInputSkillLevel = Console.ReadLine();
                // Converts to integer type /
                skillLevel = Convert.ToInt32(userInputSkillLevel);
                Console.WriteLine("You entered the skill level {0}", skillLevel);
            }
            workerSalary = SalaryScales(skillLevel);
            if (hoursWork> 40)
            {
                basicPay = 40 * workerSalary;
                overtimePay = (hoursWork - 40) * workerSalary * 1.5;

            }
            else
            {
                basicPay = hoursWork * workerSalary;
                overtimePay = 0;
            }
            insuranceCoverage = InsuranceContributionsScales(skillLevel);
            finalSalary = basicPay + overtimePay - insuranceCoverage;
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("| The Hours Work are:            .......{0,8}    |", hoursWork);
            Console.WriteLine("| The worker Salary per Hour is: .......{0,10:C}  |", workerSalary);
            Console.WriteLine("| The worker Basic Pay is: .............{0,10:C}  |",basicPay);
            Console.WriteLine("| The worker Overtime Pay is: ..........{0,10:C}  |", overtimePay);
            Console.WriteLine("| The worker Insurance overage is: .....{0,10:C}  |", insuranceCoverage);
            Console.WriteLine("| The worker Final Salary is: ..........{0,10:C}  |", finalSalary);
            Console.WriteLine("-----------------------------------------------------");
            Console.WriteLine("Press any key to continue...");
            Console.ReadKey();

        }
        public static double SalaryScales(int workerSkillLevel)
        {
            double workerHourlyWage = 0;
            switch (workerSkillLevel)
            {
                case 1:
                    workerHourlyWage = 10.0;
                    break;
                case 2:
                    workerHourlyWage = 15.0;
                    break;
                case 3:
                    workerHourlyWage = 25.0;
                    break;
                default:
                    Console.WriteLine("error in Skill Level");
                    break;
            }
            return workerHourlyWage;
        }
        public static double InsuranceContributionsScales(int workerSkillLevel)
        {
            string userInputInsuranceContributionsLevel = "";
            int insuranceContributionsLevel = 0;
            double workerInsuranceContributions=0;
            if (workerSkillLevel == 1) 
            {
                workerInsuranceContributions = 15.0;
            }
            else
            {
                
                Console.Write("Enter insurance contributions level 1, 2, or 3 [integer value]: ");
                userInputInsuranceContributionsLevel = Console.ReadLine();
                // Converts to integer type /
                insuranceContributionsLevel = Convert.ToInt32(userInputInsuranceContributionsLevel);
                Console.WriteLine("You entered the insurance contributions level {0}", insuranceContributionsLevel);
                while (insuranceContributionsLevel < 1 || insuranceContributionsLevel > 3)
                {
                    Console.Write("Error data insurance contributions Level must be 1, 2, or 3. ");
                    Console.Write("Enter insurance contributions level [integer value]: ");
                    userInputInsuranceContributionsLevel = Console.ReadLine();
                    // Converts to integer type /
                    insuranceContributionsLevel = Convert.ToInt32(userInputInsuranceContributionsLevel);
                    Console.WriteLine("You entered the insurance contributions level {0}", insuranceContributionsLevel);
                }

            }
            switch (insuranceContributionsLevel)
            {
                case 1:
                    workerInsuranceContributions = 35.0;
                    break;
                case 2:
                    workerInsuranceContributions = 25.0;
                    break;
                case 3:
                    workerInsuranceContributions = 15.0;
                    break;
                default:
                    Console.WriteLine("error in Insurance Contributions Level");
                    break;
            }
            return workerInsuranceContributions;
        }
    }
}

	
	import java.util.Scanner;
public class PayRoll{

       public static void main (String[] args){
	        Scanner in = new Scanner(System.in);
		    int hoursWork;  // hours of work no check.
			int skillLevel; // skill Level must be 1, 2, or 3 no check.
            double workerSalary;
            double basicPay;
            double overtimePay;
            double insuranceCoverage;
            double finalSalary;

		   
		   System.out.println("Enter hours of work [integer value]: ");
		   hoursWork = in.nextInt();
		   
		   System.out.println("Enter skill level 1, 2, or 3 [integer value]:");
		   skillLevel = in.nextInt();
		   
		   workerSalary = SalaryScales(skillLevel);
		   
		   if (hoursWork> 40)
            {
                basicPay = 40 * workerSalary;
                overtimePay = (hoursWork - 40) * workerSalary * 1.5;

            }
            else
            {
                basicPay = hoursWork * workerSalary;
                overtimePay = 0;
            }
            insuranceCoverage = InsuranceContributionsScales(skillLevel);
            finalSalary = basicPay + overtimePay - insuranceCoverage;
		    System.out.println("The Hours Work are:            ....." + hoursWork);
            System.out.println("The worker Salary per Hour is: ....." + workerSalary);
            System.out.println("The worker Basic Pay is: ..........." + basicPay);
            System.out.println("The worker Overtime Pay is: ........" + overtimePay);
            System.out.println("The worker Insurance overage is: ..." + insuranceCoverage);
            System.out.println("The worker Final Salary is: ........" + finalSalary);
            
		   
	   }
	   
	    public static double SalaryScales(int workerSkillLevel)
        {
            double workerHourlyWage = 0;
            switch (workerSkillLevel)
            {
                case 1:
                    workerHourlyWage = 10.0;
                    break;
                case 2:
                    workerHourlyWage = 15.0;
                    break;
                case 3:
                    workerHourlyWage = 25.0;
                    break;
                default:
                    System.out.println("error in Skill Level");
                    break;
            }
            return workerHourlyWage;
        }
		public static double InsuranceContributionsScales(int workerSkillLevel)
        {
		    Scanner in = new Scanner(System.in);
            int insuranceContributionsLevel = 0;
            double workerInsuranceContributions=0;
            if (workerSkillLevel == 1) 
            {
                workerInsuranceContributions = 15.0;
            }
            else
            {              
                System.out.println("Enter insurance contributions level 1, 2, or 3 [integer value]: ");
                insuranceContributionsLevel = in.nextInt();
            }
            switch (insuranceContributionsLevel)
            {
                case 1:
                    workerInsuranceContributions = 35.0;
                    break;
                case 2:
                    workerInsuranceContributions = 25.0;
                    break;
                case 3:
                    workerInsuranceContributions = 15.0;
                    break;
                default:
                    System.out.println("error in Insurance Contributions Level");
                    break;
            }
            return workerInsuranceContributions;
        }
}
	

Backgrounds

Προγραμματισμός

Μαθηματικά

Διακριτά Μαθηματικά - Γραμμική Άλγεβρα

 

Θεωρώ ότι τα παραπάνω μαθήματα είναι πολύ βασικά (και μ' αρέσουν).