auot lisp 选择集处理_离散量的计算机处理67_1C#vs

计算机语言运用--数值计算6-离散量的计算机处理67_1C#vs

计算机:电子线路组成的计算机器。人与计算机则是通过计算机语言-符号系统说给计算机听而交流。

计算机语言有低级语言-机器语言、汇编、高级语言-C/C++/C#/VB/PASCAL/LISP/JAVA/PYTHON/……成百上千种之多。

作为一种计算机器—可以协助人类处理各种事情—数值计算问题、文字处理问题、图形图像处理问题、事务问题……。自从有了数字计算的计算机器,几乎所有的可以交给计算机的事情,都交给计算机来处理—是辅助处理—按照人们的要求—事先安排的模式进行处理。 

数值计算- discrete

代数的计算、初等函数的计算、代数方程的求解、解析几何与微分几何的求解、矢量-张量与场论的求解、抽象代数-空间及泛函分析、级数与变换、特殊函数问题、概率统计与随机过程分析计算、误差分析与实验数据处理、最优化方法分析、有限单元法求解、数论分析、集合论及其计算、拓扑学分析与计算、组合数学的计算、图结构处理、数理逻辑分析与处理、……、……

或者说:

自然数的计算、整数的计算、实数的计算、复数的计算、矢量-向量的计算、矩阵的计算、函数的计算、代数方程的计算、函数方程的计算、微分的计算、积分的计算、常微分-一元微分方程的计算、偏微分-多元微分方程的计算、连续数量的计算、离散数量的计算、集合的计算、组合数学的计算、……、……

或者说:科学与工程技术应用中的数值计算、……、……

discrete离散量的计算—离散量这个称呼的流行,真的源于计算机的出现。其实,人们最早认识的都是—就是离散量,自然数、整数、字符(西语系的字母、汉语的笔画等)。

先说自然数,算术中的四则混合运算;在那里,没有量纲、没有分类、没有实际所指的限制等等。只有纯理想化、抽象化的数字游戏。如:1111+1122=2233,3+6=9,12345+98765=111110,2x2=4,25x25=625等等。心算、笔算、算盘算、横式算、竖式算、数豆子、数棍子、……,总而言之,都能有结果。

在实际中,却要物理含义。在科学或工程中,3+6=9一定是有所指的,尤其是量纲问题。通常都是默认的同类量纲才用的。久而久之,成了习惯,不再注意量纲了。3个梨+6个梨=9个梨;3个苹果+6个梨=?,3斤梨+6个梨=?,3元+6角=3元6角,不等于9;等等……。当然,我们的大脑习惯性的知道量纲换算。可没注意这些就是离散数学问题了。集合必须限制同类型。集合的操作—离散数学计算问题,必须注意类型—类属。也就是说,学习离散数学—集合论,必须习惯性的思考类属,才能进行操作-计算。

例如:A={1,3,5,7,8,10,12},B={2,3,4,6,7,9,10,11,12}, A∪B=C的运算结果是C={1,2,3,     4,5,6,7,8,9,10,11,12 },A∩B=C的运算结果是C={3,7,10,12}   A\B=C的运算结果是C={1,5,8};B\A=C的运算结果是C={2,4,6,9,11}

还有属于  3∈A    3∈B   不属于2¢A   11¢B

已知:A={a,c,f,g},B={b,g,c,s,t},

则有计算-处理-操作(为了避免与古老的计算概念混淆—严谨的形式化定义-这是数学的最本质、最基本的规矩)

A∪B=C的运算结果是C={ a,b,f,g,c,s,t } ; A∩B=C的运算结果是C={c,g}

……

慢慢就习惯了。

这些对于处理自然数的排序、插入、删除、……等计算机操作,对于字符或字符串的排序、插入、删除、……等计算机操作,显然是有效的。也就是说,字符运算—计算机计算问题,也可以看做离散量的计算问题。这就扩展了自然数的运算的范围和概念的推广。

用计算机处理自然数的各种计算—你知道-能理解算法吗?

用计算机处理自然数集合的各种计算—你知道-能理解算法吗? 

以下的算法要彻底改变了

实数的连加:算法为i=0,i=n,ans=ans +i

实数的连减:算法为i=0,i=n,ans=ans +i

实数的连乘:算法为i=1,ans= ans *i

实数的连除:算法为i=1,ans= ans /i

实数的加减乘除:算法为ans=?

相同的实数的连加:算法为ans=a*n

相同的实数的连减:算法为ans=?

相同的实数的连乘:算法为i=4,ans=4n 

相同的实数的连除:算法为ans=?

……、……

离散量的计算--排序、插入、删除、编辑、交并差、……等计算机操作

可以和字符处理、文本处理相联系

可以和音频/视频处理相联系

可以和自动控制问题相联系

……

MATLAB语言及其平台   Fortran语言及其平台   C语言及其平台V6   C语言及其平台VS  C++语言及其平台V6    C++语言及其平台VS

C#语言及其平台VS

对于语言文字及其文章的人工智能处理系统,也是最基础的知识。

C#语言及其平台VS上,C#语言离散量处理—实质上是一个N元数组问题

int[] Mid_A = new int[50],Mid_B = new int[50];

 数组、可变数组—动态数组、数组大小的函数等等都可以使用。

一个实例

using System;

usingSystem.Collections.Generic;

usingSystem.Linq;

usingSystem.Text;

usingSystem.IO;

namespaceCsharpVS_discrete_computer

{

    class Program

    {

        static void Main(string[] args)

        {

//变量声明

  int i,j,k,m,n;

  int x=1,y=1,z=1;

  int Mark;

  int[] Key_A= new int[50],Key_B= newint[50],Key_C= new int[50];

 int[] Mid_A = new int[50], Mid_B = newint[50];

  //标准IO_数据输入

    Console.Write("输入集合A的元素数目_一个整数:\n");

    m = int.Parse(Console.ReadLine());

    Console.Write("输入集合A的元素_输入一个回车一次:\n");

  for(i=1;i<=m;i++)

  {

        Key_A[i] =int.Parse(Console.ReadLine()); ;

  }

  Console.Write("输入集合B的元素数目_一个整数:\n");

  n= int.Parse(Console.ReadLine());

  Console.Write("输入集合B的元素_输入一个回车一次:\n");

  for(i=1;i<=n;i++)

  {

         Key_B[i]=int.Parse(Console.ReadLine());

  }

//数据处理过程

  for(i=1;i<=m;i++)

  {

            Mark=0;

                for(j=1;j<=n;j++)

                {                         

                       if(Key_A[i]==Key_B[j])

                       {

                       Key_C[x]=Key_A[i];

                       x++;

                       Mark=1;

                       continue;

                       }

                }

                       if(Mark==0)

                       {

                       Mid_A[y]=Key_A[i];

                       y++;

                       }

  }

  for(i=1;i<=n;i++)

         {

            Mark=0;

                for(j=1;j<=m;j++)

                {

                       if(Key_A[j]==Key_B[i])

                       {

                              Mark=1;

                              continue;

                       }

                }

                if(Mark==0)

                {

                       Mid_B[z]=Key_B[i];

                       z++;

                }

  }

//处理结果输出

  Console.Write("A与B的差集_不同,共:");

    Console.Write(y - 1 + "个,输出如下:\n");

  for(k=1;k

         {

                Console.Write(Mid_A[k]+",");

         }

         Console.Write("  \n");

        Console.Write("   \n");

  Console.Write("B与A的差集_不同共:");

    Console.Write(z - 1 + "个,输出如下:\n");

  for(k=1;k

  {

         Console.Write(Mid_B[k]+", ");

  }

  Console.Write("  \n");

    Console.Write("   \n");

  Console.Write("A与B的交集_共有:");

    Console.Write(x - 1 + "个,输出如下:\n");

  for(k=1;k

  {

         Console.Write(Key_C[k]+", ");

  }

  Console.Write("   \n");

    Console.Write("   \n");

  Console.Write("A与B的并集_不同,全部共:");

    Console.Write(x+y+z-3+"个,输出如下:\n");

  for(i=1;i

  {

         Console.Write(Mid_A[i]+", ");

  }

  for(i=1;i

  {

         Console.Write(Mid_B[i]+", ");

  }

  for(i=1;i

  {

         Console.Write(Key_C[i]+", ");

  }

    Console.Write("   \n");

    Console.Write("   \n");

Console.Write("回车结束计算!\n");

Console.ReadKey();

        }

    }

}

f9b2889ef7c2ca9c81524e8e7d357550.png

N元数组问题的计算机处理过程,实质上是数据在存储器中的存储方式决定的—在内存储中,由变量声明确定的存储地址及其起始与终止标记决定的。高级语言中指针的概念、汇编语言的寻址方式最能说明这一点。计算机的操作都须在内存中进行,加减乘除-解方程-逻辑处理-离散量处理-图形图像处理问题等都一样。这就有了离散量处理—文字符号处理尤其看重存储位的设置-声明-查询等。也就有了用不和规则的软件强行打开某个文件出现乱码的事实。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值