如何判断有机物命名是不是正确?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断有机物命名是不是正确?相关的知识,希望对你有一定的参考价值。
如何判断有机物命名是否正确?还有,主要的官能团有哪些?
化学学得好差,哪位高手能帮帮我啊?可以的话留下Q,那我问问题就更方便了!!!
因为我是刚申请的,没有积分!!所以....
二、有机物命名法:IUPAC有机物命名法。IUPAC有机物命名法是一种有系统命名有机化合物的方法。该命名法是由国际纯粹与应用化学联合会(IUPAC)规定的,最近一次修订是在1993年。其前身是1892年日内瓦国际化学会的“系统命名法”。最理想的情况是,每一种有清楚的结构式的有机化合物都可以用一个确定的名称来描述它。它其实并不是严格的系统命名法,因为它同时接受一些物质和基团的惯用普通命名。
中文的系统命名法是中国化学会在英文IUPAC命名法的基础上,再结合汉字的特点制定的。1960年制定,1980年根据1979年英文版进行了修定。
1、.一般规则
取代基的顺序规则
当主链上有多种取代基时,由顺序规则决定名称中基团的先后顺序。一般的规则是:
1.取代基的第一个原子质量越大,顺序越高;
2.如果第一个原子相同,那么比较它们第一个原子上连接的原子的顺序;如有双键或三键,则视为连接了2或3个相同的原子。
以次序最高的官能团作为主要官能团,命名时放在最后。其他官能团,命名时顺序越低名称越靠前。
主链或主环系的选取
以含有主要官能团的最长碳链作为主链,靠近该官能团的一端标为1号碳。
如果化合物的核心是一个环(系),那么该环系看作母体;除苯环以外,各个环系按照自己的规则确定1号碳,但同时要保证取代基的位置号最小。
支链中与主链相连的一个碳原子标为1号碳。
数词
位置号用阿拉伯数字表示。
官能团的数目用汉字数字表示。
碳链上碳原子的数目,10以内用天干表示,10以外用汉字数字表示。
2、各类化合物的具体规则
烷烃
找出最长的碳链当主链,依碳数命名主链,前十个以天干(甲、乙、丙...)代表碳数,碳数多於十个时,以中文数字命名,如:十一烷。
从最近的取代基位置编号:1、2、3...(使取代基的位置数字越小越好)。以数字代表取代基的位置。数字与中文数字之间以 - 隔开。
有多个取代基时,以取代基数字最小且最长的碳链当主链,并依甲基、乙基、丙基的顺序列出所有取代基。
有两个以上的取代基相同时,在取代基前面加入中文数字:一、二、三...,如:二甲基,其位置以 , 隔开,一起列於取代基前面。
烯烃
命名方式与烷类类似,但以含有双键的最长键当作主链。
以最靠近双键的碳开始编号,分别标示取代基和双键的位置。
若分子中出现二次以上的双键,则以“二烯”或“三烯”命名。
烯类的异构体中常出现顺反异构体,故须注明“顺”或”反”。
炔烃
命名方式与烯类类似,但以含有叁键的最长键当作主链。
以最靠近叁键的碳开始编号,分别标示取代基和叁键的位置。
炔类没有环炔类和顺反异构物。
分子中既有双键又有三键时,名字以烯先炔后,分别标注位置号,碳数写在“烯”前面。
卤代烃·醚
卤代烃命名以相应烃作为母体,卤原子作为取代基。
如有碳链取代基,根据顺序规则碳链要写在卤原子的前面;如有多种卤原子,列出次序为氟、氯、溴、碘。
醚的命名以碳链较长的一端为母体,另一端和氧原子合起来作为取代基,称烃氧基。
醇
醇的命名,以含有醇羟基的最长碳链为主链;
由这条链上的碳数决定叫某醇,编号时让醇羟基的位置号尽量小;
其他基团按取代基处理。
主链上有多个醇羟基时,可以按羟基的数目分别称为二醇、三醇等。
醛
醛的命名,以含有醛基的最长的碳链为主链,其他部分作为取代基;
决定名称的碳数包括醛基的一个碳。
如果有多个醛基,则以含有2个醛基的最长碳链为主链,称二醛。
醛基作取代基时称甲酰基(或氧代)。
酮
以含有酮羰基最长的碳链为主链,按此链上的碳数(包括该羰基)称为“某酮”;并把羰基的位置号标在前面,尽量使位置号最小。
如果主链上有多个羰基,可称为二酮、三酮等。
羰基作取代基时称“氧代”。
羧酸
以含有羧基的最长碳链为主链,依照碳数(包括羧基)称为某酸。
主链上有2个羧基时,称为二酸。
羧酸酐
以形成酸酐的酸的名称称呼酸酐,再加“酐”字。
(如:CH3CO-O-CO-C2H5——乙酸丙酸酐)
若形成酸酐的两分子酸相同,直接称为“某酸酐”。
酯
以形成酯的酸和醇的名称命名,称为某酸某(醇)酯或某醇某酸酯。
若有多个醇或酸分子参与成酯,那么要在相应的醇或酸前面加上数目。
胺类
以与氮原子相连的最长碳链为主链,按照该链上的碳原子数称为“某胺”;
若是亚胺,氮原子上的较短烃基视作取代基,命名时称“N-某基”(N表示取代基连在氮上)
脂环烃类
单脂环烃
环烷烃的命名与烷烃类似,直接在烷类前面加“环”字即可。
环烯烃的命名与烯烃类似,编号由双键先设定为 1 , 2 号碳。
桥环烷烃
桥环烷烃中,多个环公用的碳原子称为桥头碳;
给碳原子编号,从一个桥头碳原子开始,依照环由大到小顺序编完所有的碳原子;
命名时,先称环的个数,然后在中括号里标明各个环上桥头碳之间的碳原子的个数,数字之间用点分隔,数字的个数总比环数多一个;
最后,按照环系上碳原子的个数,称为“某烷”。
如:
称为二环[3.2.0]庚烷。
螺环烷烃
螺环烷烃中,两个环公用的一个四级碳原子称为螺原子;
编号从小环开始,1号碳是紧挨螺原子的一个碳原子;
命名时,先称“螺”字,然后在中括号里标明各个环上非螺原子的个数,数字之间用点分隔;
最后,按照环系上碳原子的个数,称为“某烷”。
如:
称为螺[3.5]壬烷。
多环烯、炔烃
按照多环烷烃的规则命名,编号时尽量使重键的位置号最小,再把“烷”字换成“烯”或“炔”即可。
芳香族化合物
苯环系
苯的卤代物、烷基代物等,先称呼取代基的位置号和名称,再加“苯”字。甲基、乙基等简单烷基的“基”字可以省去。(如:1,2-二甲苯)
苯的烯、炔、醇、醛、酮、羧酸、磺酸、胺基代物等,以取代基的原形作为母体,先称“苯”(表示苯基),再称取代基的原形,编号时以取代基为主链,苯环为支链,与取代基相连的碳为1号碳。(如:苯乙烯)
芳烃的羟基代物称为酚,对于苯来说是苯酚。苯环上直接连有两个羟基时叫苯二酚。
其他环系
各种芳环系都有不同的名字,其取代物的命名方法和苯环类似。但这些环系一般都固定了编号的顺序(而不是像苯环一样只由取代基决定):
萘环系
蒽环系
等等。
杂环化合物
把杂环看作碳环中碳原子被杂原子替换而形成的环,称为“某杂(环的名称)”;(如:氧杂环戊烷)
给杂原子编号,使杂原子的位置号尽量小。
其他官能团视为取代基。
有机物中,决定有机物化学性质的分子团称为官能团,又称基,如羟基等。有机物按分子大小可分为有机高分子,有机小分子(单体),有机小分子可通过一系列的反应生成有机高分子,如缩聚反应等。 参考技术A 1、正确。结构为:
2、错误。2‘碳上有5个价键
3、错误。主碳链编号应从距离主体官能团最近的一端开始编号。
所以该物质应该命名为“4-甲基-2-戊烯”
4、错误。应选择包含官能团的最长碳链作为主碳链
所以该物质应命名为2-甲基-1-丁烯
如何在 PHP Laravel 8 中使用模型绑定重命名路由键(不正确的复数)?
【中文标题】如何在 PHP Laravel 8 中使用模型绑定重命名路由键(不正确的复数)?【英文标题】:How to rename route key with model binding in PHP Laravel 8 (incorrect plurals)? 【发布时间】:2021-10-16 19:39:09 【问题描述】:我有一个 Laravel 8 项目,其中有一个名为 FieldOfStudy
的模型,但问题是这个类名称的复数应该是 fields of study 而不是 field of studies 。这在使用以下路由创建 API 端点时会导致问题:
Route::apiResource('fields-of-study', FieldOfStudyController::class);
问题是,我有一个资源控制器的方法FieldOfStudyController::show()
,如下所示:
public function show(FieldOfStudy $fieldOfStudy)
dd($fieldOfStudy);
这将告诉我,$fieldOfStudy
包含一个“空白”模型,而不是数据库中所需的实例。当我检查路由参数时,我发现模型的id存储为fields_of_study
而不是field_of_study
。
我尝试重命名参数(无效 - 绑定失败):
Route::apiResource('fields-of-study', FieldOfStudyController::class)->parameter('fields_of_study','field_of_study');
当我重命名 show()
方法的参数时,它可以工作,但它不是很漂亮:
public function show(FieldOfStudy $fieldsOfStudy)
如何正确调整我的代码:
-
保持 URI 的复数形式正确(即
/fields-of-study
),
保持show()
参数名称为正确的单数形式(即$fieldOfStudy
)和
不要弄乱show(FieldOfStudy $fieldOfStudy)
等类型参数的模型绑定机制?
谢谢你:)
【问题讨论】:
您可以选择选项 4,将您的数据库表和模型重命名为study_fields
和 StudyField
吗?这是一个我之前没见过也没处理过的有趣的命名案例,有趣的发现????
【参考方案1】:
你可以操纵 Laravel explicit binding:
RouteServiceProvider.php
public function boot()
Route::model('fields-of-study', FieldOfStudy::class);
【讨论】:
以上是关于如何判断有机物命名是不是正确?的主要内容,如果未能解决你的问题,请参考以下文章
c# 如何判断textBox.Text内容是不是符合文件或者文件夹命名规则?