Fortran 程序设计 实习01

2024-02-03 00:50
文章标签 实习 01 程序设计 fortran

本文主要是介绍Fortran 程序设计 实习01,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

题目要求

​ 人体对气候条件感觉的舒适与否,首先取决于气温,其次湿度和风速等因素也起着重要作用。请根据人体舒适度计算公式,完成以下编程内容:

  1. 计算2020年2月23日武汉,深圳,温州,北京,哈尔滨5个城市的人体舒适度指数;

  2. 根据人体舒适度指数数值,判断人体舒适度指数等级。

  3. 要求每个城市的结果单独一行输出,每一行中输出顺序为 城市名指数等级体感

    注:体感只输出“寒冷”,“冷”……即可。

参考资料
  1. 人体舒适度计算公式:
    I C H B = ( 1.8 × T + 32 ) − 0.55 × ( 1 − R H 100 ) × ( 1.8 × T − 26 ) − 3.2 × V I_{CHB}=(1.8\times T+32)-0.55\times (1-\frac{RH}{100})\times (1.8\times T-26)-3.2\times \sqrt{V} ICHB=(1.8×T+32)0.55×(1100RH)×(1.8×T26)3.2×V 其中:温度 T T T 为日平均气温, R H RH RH 为相对湿度, V V V 为日平均风速。

  2. 人体舒适度指数等级

在这里插入图片描述

输入样例
武汉深圳温州北京哈尔滨
日均温(℃)14.521.512.05.5-7.0
相对湿度(%)47.045.042.029.058.0
日平均风速(m/s)2.452.450.92.454.4
题目分析

这个题目又涉及到相同类型数据多次输入,且相同步骤的处理。于是考虑循环结构。同时查看表格,发现涉及到判断类的相关信息,于是考虑选择结构。

首先 定义一些变量或者数组,用以存放用户输入的数据,或者需要输出的各类数据。

这里我们使用一些数组来存放样例内需要被输入的数据:① 使用类型为CHARACTER的数组来存放城市名称;② 使用类型为real的若干数组来存放日均温、相对湿度、以及日均风速这三类数据。

然后观察题目,发现我们需要输出的大部分并非输入到内存中的内容,因此需要定义另外一些变量存储需要输出的数据。发现舒适度与体感等级是我们输入的时候不存在的,因此也需要定义变量来存储它们以进行后续输出的工作。

因此,变量定义部分可以进行如下的书写:

    integer j,g                 !定义循环控制变量,以及体感等级gradereal t(5),v(5),rh(5)		!定义实型数组存放T、V、RHcharacter(8) gr(5)			!定义字符串型数组存放体感与城市名character(8) city(5)		real i(5)					!定义实型数组存放每次计算得到的I_CHB

之后是让用户对数据进行读入,这里我们使用read语句进行该项功能。

read *, city(1:5)

这里使用了Fortran对数组写入的简便写法:隐含do循环,这样的书写方式可以让代码具有更短的长度。

按照这样的方式对数据进行全部读入之后,我们可以开始对数据进行相关的处理了。

首先我们按照公式计算人体舒适度,这个时候我们需要将数学公式转化为计算机内的表达式:

i=(1.8*t+32)-0.55*(1-rh/100)*(1.8*t-26)-3.2*sqrt(v)

得到 I C H B I_{CHB} ICHB的具体数值之后,我们可以通过表格来进行指数等级和体感的判断了

这里的判断我们可以使用if-elseif-endif语句进行相关的判断

if (i(j).le.25.0) thengr(j)="寒冷"g=1
else if (i(j).le.38) thengr(j)="冷"g=2
else if (i(j).le.50) thengr(j)="凉"g=3
else gr(j)="凉爽"g=4
endif

具体判断体系在此不再列举。

由于在程序运行过程中,我们需要对该过程进行五次,所以可以选择循环结构来重复上述的过程。所以我们使用do循环来解决这个问题。相关代码如下

do (j=1,5)
...
end do

最后对所得结果进行输出就可以完成此次的实习问题了。

程序运行结果:

在这里插入图片描述

程序设计代码:

program In01implicit noneinteger j,greal t(5),v(5),rh(5)character(20) gr(5)character(8) city(5)real i(5)print *,'请输入城市名称(以空格间隔)'read *,city(1:5:1)print *,'请输入各城市日均温(单位:℃)'read *,t(1:5:1)print *,'请输入各城市相对湿度(单位:%)'read *,rh(1:5:1)print *,'请输入各城市相对日平均风速(单位:m/s)'read *,v(1:5:1)print *,''print *,''print *,'城市名               指数等级     体感'do j=1,5i(j)=(1.8*t(j)+32)-0.55*(1-rh(j)/100)*(1.8*t(j)-26)-3.2*sqrt(v(j))if (i(j).le.25.0) thengr(j)="寒冷"g=1else if (i(j).le.38) thengr(j)="冷"g=2else if (i(j).le.50) thengr(j)="凉"g=3else if (i(j).le.55) thengr(j)="凉爽"g=4else if (i(j).le.70) then gr(j)="舒服"g=5else if (i(j).le.75) thengr(j)="暖和"g=6else if (i(j).le.80) thengr(j)="热"g=7else if (i(j).le.85) thengr(j)="炎热"g=8elsegr(j)="酷热"g=9end ifprint *,city(j),'       ',g,'      ',gr(j)end doend program In01

这篇关于Fortran 程序设计 实习01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/672525

相关文章

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

SWAP作物生长模型安装教程、数据制备、敏感性分析、气候变化影响、R模型敏感性分析与贝叶斯优化、Fortran源代码分析、气候数据降尺度与变化影响分析

查看原文>>>全流程SWAP农业模型数据制备、敏感性分析及气候变化影响实践技术应用 SWAP模型是由荷兰瓦赫宁根大学开发的先进农作物模型,它综合考虑了土壤-水分-大气以及植被间的相互作用;是一种描述作物生长过程的一种机理性作物生长模型。它不但运用Richard方程,使其能够精确的模拟土壤中水分的运动,而且耦合了WOFOST作物模型使作物的生长描述更为科学。 本文让更多的科研人员和农业工作者

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

C语言程序设计(数据类型、运算符与表达式)

一、C的数据类型 C语言提供的数据类型: 二、常量和变量 2.1常量和符号常量 在程序运行过程中,其值不能被改变的量称为常量。 常量区分为不同的类型: 程序中用#define(预处理器指令)命令行定义变量将代表常量,用一个标识符代表一个常量,称为符合常量。 2.2变量 变量代表内存中具有特定属性的一个存储单元,用来存放数据,在程序运行期间,这些值是可以 改变的。 变

C语言程序设计(选择结构程序设计)

一、关系运算符和关系表达式 1.1关系运算符及其优先次序 ①<(小于) ②<=(小于或等于) ③>(大于) ④>=(大于或等于 ) ⑤==(等于) ⑥!=(不等于) 说明: 前4个优先级相同,后2个优先级相同,关系运算符的优先级低于算术运算符,关系运算符的优先级高于赋值运算符 1.2关系表达式 用关系运算符将两个表达式(可以是算术表达式或关系表达式,逻辑表达式,赋值表达式,字符

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

智能工厂程序设计 之1 智能工厂都本俱的方面(Facet,Aspect和Respect)即智能依赖的基底Substrate 之1

Q1、昨天分别给出了三个智能工厂的 “面face”(里面inter-face,外面outer-face和表面surface) 以及每个“面face” 各自使用的“方”(StringProcessor,CaseFilter和ModeAdapter)  。今天我们将继续说说三个智能工厂的“方面” 。在展开之前先看一下三个单词:面向facing,取向oriented,朝向toword。理解这三个词 和

实习项目|苍穹外卖|day7

缓存菜品 1.根据原型进行需求分析与设计(接口文档) 2.根据接口设计DTO(redis数据类型选取) 3.编码controller-》service-》mapper @GetMapping("/list")@ApiOperation("根据分类id查询菜品")public Result<List<DishVO>> list(Long categoryId) {//判断缓存

C语言程序设计 笔记代码梳理 重制版

前言 本篇以笔记为主的C语言详解,全篇一共十章内容,会持续更新基础内容,争取做到更详细。多一句没有,少一句不行!  形而上学者谓之道,形而下学者谓之器 形而上学者谓之道,形而下学者谓之器 第1章 C语言的流程 1.C程序经历的六个阶段 编辑(Edit)预处理(Preprocess)编译(Compile)汇编(Assemble)链接(Link)执行(Execute)  2.

【Unity面经】实习篇:面试官常问的一百个面试题

👨‍💻个人主页:@元宇宙-秩沅 👨‍💻 hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅! 👨‍💻 本文由 秩沅 原创 👨‍💻 专栏交流🧧🟥Unity100个实战基础✨🎁🟦 Unity100个精华一记✨🎁🟩 Unity50个demo案例教程✨🎁🟨 Unity100个精华细节BUG✨🎁🟨 Unity100个面试题✨🎁 文章