爱盲论坛

标题: 大家来用自己擅长的编程语言来写一个解一元二次方程的程序吧。 [打印本页]

作者: 一路向南    时间: 2022-12-23 11:13
标题: 大家来用自己擅长的编程语言来写一个解一元二次方程的程序吧。
如题,我先来一个,不足之处请指教。
易语言版:
.版本 2

.程序集 窗口程序集_启动窗口
.程序集变量 a, 小数型
.程序集变量 b, 小数型
.程序集变量 c, 小数型
.程序集变量 判别式, 小数型
.程序集变量 判别式结果, 小数型
.程序集变量 x1, 小数型
.程序集变量 x2, 小数型

.子程序 __启动窗口_创建完毕

编辑框1.获取焦点 ()

.子程序 _按钮1_被单击

a = 到数值 (编辑框1.内容)
b = 到数值 (编辑框2.内容)
c = 到数值 (编辑框3.内容)
.如果真 (a = 0)
    信息框 (“这不是一元二次方程”, #信息图标, “提示”, )
    返回 ()
.如果真结束
判别式 = 求次方 (b, 2) - 4 × a × c
.判断开始 (判别式 < 0)
    信息框 (“此方程无解”, #信息图标, “提示”, )
.判断 (判别式 = 0)
    判别式结果 = 求次方 (判别式, 1 ÷ 2)
    x1 = -b + 判别式结果
    x2 = x1
    信息框 (“您需要解的方程为:” + 到文本 (a) + “x^2 +” + 到文本 (b) + “x +” + 到文本 (c) + “,此方程有一个实数根,为:” + 到文本 (x1 ÷ 2 × a), #信息图标, “提示”, )
.默认
    判别式结果 = 求次方 (判别式, 1 ÷ 2)
    x1 = -b + 判别式结果
    x2 = -b - 判别式结果
    .如果 (到整数 (判别式结果) ≠ 判别式结果)
        信息框 (“您需要解的方程为:” + 到文本 (a) + “x^2 +” + 到文本 (b) + “x +” + 到文本 (c) + “,此方程有两个实数根,为:x1=” + 到文本 (-b) + “ +根号下” + 到文本 (判别式) + “/” + 到文本 (2 × a) + “x2=” + 到文本 (-b) + “ -根号下” + 到文本 (判别式) + “/” + 到文本 (2 × a), #信息图标, “提示”, )
    .否则
        信息框 (“您需要解的方程为:” + 到文本 (a) + “x^2 +” + 到文本 (b) + “x +” + 到文本 (c) + “,此方程有两个实数根,为:x1=” + 到文本 (x1 ÷ 2 × a) + “x2=” + 到文本 (x2 ÷ 2 × a), #信息图标, “提示”, )
    .如果结束

.判断结束

本帖来自微秘
作者: 牧童@    时间: 2022-12-23 11:27
我来用Java实现一个吧!
import java.util.Scanner;
public class demo {
    public static void main(String[] args) {
        //一元二次方程的两个解
        double x1;
        double x2;

        //一元二次方程的三个系数
        //ax^2+bx+c=0
        int a,b,c;

        //输入a,b,c的值
        System.out.println("请依次输入一元二次方程a,b,c的值");
        Scanner sc=new Scanner(System.in);
        a=sc.nextInt();
        b=sc.nextInt();
        c=sc.nextInt();

        //delta是根

        double delta=b*b-4*a*c;

        //x1=(-b+sqrt(b*b-4*a*c))/2a
        //x2=(-b-sqrt(b*b-4*a*c))/2a
        x1=(-b+Math.sqrt(delta))/2*a;
        x2=(-b-Math.sqrt(delta))/2*a;

        //判断delta的值
        if(delta==0){
            System.out.println("此方程有两个相同的解");
            System.out.println("x1=x2="+x1);
        }

        else if(delta>0){
            System.out.println("此方程有两个解");
            System.out.println("x1="+x1);
            System.out.println("x2="+x2);
        }

        else
            System.out.println("此方程无解");

    }
}

本楼来自 掌阅圈
作者: 科技爱好者    时间: 2022-12-23 17:08
感觉E语言很好学的样子,但是用不了啊。
本帖来自安卓秘书
作者: 牧童@    时间: 2022-12-23 17:38
回复 3楼 科技爱好者
Java更简单
本楼来自 掌阅圈
作者: 牧童@    时间: 2022-12-23 17:41
等下我用kotlin写一个,让你们看看什么叫简洁
本楼来自 掌阅圈
作者: 彪彪    时间: 2022-12-23 18:44
谁能打包个安卓的啊
本楼来自 天坦百宝箱
作者: 海阔天空    时间: 2022-12-23 20:07
回复 地板牧童@

目前我的这个小程序就是用这玩意写的。

来源:万能通
作者: 牧童@    时间: 2022-12-23 21:34
回复 7楼 海阔天空
嗯嗯,可以,我现在拿Java写安卓感觉太麻烦。用kotlin了
本楼来自 掌阅圈
作者: 云迪    时间: 2022-12-24 00:55
不知道编程好不好学呀,需具备哪些基础条件呢?其实我很想学,但就是感觉可能知识有限学不了。
本帖来自安卓秘书
作者: 牧童@    时间: 2022-12-24 01:03
回复 9楼 云迪
我是小学生,现在在搞android开发,你觉得呢?只要你动起来会发现很简单
本楼来自 掌阅圈




欢迎光临 爱盲论坛 (http://amhl.vip/) Powered by Discuz! X3.2