4.某公司员工的工资计算方法如下。 (1)工作时数超过120h者,超过部分加发15%。 (2)工作时数低于60h者,扣掉700元。 (3)其余按每小时84元计发。 试编程按输入的工号和员工的工时数,计算应发工资。
时间: 2023-12-14 17:38:17 浏览: 313
下面是使用Python编写的程序,可以实现该功能:
```python
def calculate_salary(hour):
if hour > 120:
salary = (hour - 120) * 84 * 1.15 + 120 * 84
elif hour < 60:
salary = hour * 84 - 700
else:
salary = hour * 84
return salary
# 测试代码
print(calculate_salary(80)) # 应发工资为 6720 元
print(calculate_salary(130)) # 应发工资为 11340 元
print(calculate_salary(40)) # 应发工资为 2360 元
```
程序中定义了一个`calculate_salary`函数,接受一个参数`hour`表示员工的工作时数。根据题目要求,通过一系列条件判断,计算出应发工资,并将其返回。
最后,我们通过三个测试用例验证了程序的正确性。
相关问题
1. 硅谷公司员工的工资计算方法如下。 (1)工作时数超过120h者,超过部分加发15%。 (2)工作时数低于60h者,扣掉700元。 (3)其余按每小时84元计发。 试编程按输入的工号和员工的工时数,计算应发工资。用matlab解答
在MATLAB中,你可以编写一个函数来实现这个工资计算逻辑。这里是一个简单的示例函数:
```matlab
function salary = calculate_salary(employee_id, hours_worked)
if hours_worked < 60
base_salary = 84 * 60; % 先计算60小时的基本工资
overtime_penalty = -700; % 按规则扣除700元
else
base_salary = 84 * 60; % 基本工资部分
overtime_hours = hours_worked - 60; % 超出的部分
overtime_bonus = 0.15 * 84 * overtime_hours; % 加班部分,15%额外奖金
overtime_penalty = max(0, overtime_hours - 120) * 84 * 0.15; % 处理超过120小时的情况
overtime_penalty = max(-700, overtime_penalty); % 如果超过120小时但不足180小时,取最小值
end
salary = base_salary + overtime_bonus + overtime_penalty;
end
```
你可以通过调用此函数并传入员工ID和工时数来得到工资:
```matlab
employee_id = input('请输入员工工号:');
hours_worked = input('请输入员工工作时数:');
salary = calculate_salary(employee_id, hours_worked);
disp(['员工', num2str(employee_id), '的应发工资为:', num2str(salary)]);
```
运行程序后,按照提示输入工号和工时数,即可看到计算结果。
工资计算方法如下,编程,按输入的工号和该号员工的工时数,计算应发工资。 (1) 工时数超过120h者,超过部分加发15%; (2)工时数低于60h者,扣发2000元; (3)其余每小时按100元计发。 用MATLAB编程
当然,我们可以使用MATLAB编写一个简单的函数来实现这个工资计算逻辑。首先,我们需要创建一个函数,接受两个输入参数:工号(假设为`employeeID`)和工时数(`hoursWorked`)。然后根据给定的规则进行计算。
以下是一个可能的函数实现:
```matlab
function salary = calculateSalary(employeeID, hoursWorked)
% 检查工时数是否在合理范围内
if hoursWorked < 0 || isnan(hoursWorked)
error('Invalid hours worked');
end
% 基本工资
baseSalary = hoursWorked * 100;
% 计算加班工资(如果有的话)
overtimeHours = max(0, hoursWorked - 120);
overtimePay = overtimeHours * 1.15 * 100; % 加发15%
% 根据工时数调整工资
if hoursWorked <= 60
salary = baseSalary - 2000;
else
salary = baseSalary + overtimePay;
end
end
```
要使用这个函数,你可以像这样调用:
```matlab
% 输入示例
employeeID = input('Enter employee ID: ');
hoursWorked = input('Enter hours worked: ');
% 计算并输出工资
salary = calculateSalary(employeeID, hoursWorked);
disp(['Employee ', num2str(employeeID), ' salary is: $', num2str(salary)]);
```
现在,你可以运行这段代码,并按照提示输入工号和工时数,程序会返回相应的应发工资。
阅读全文