十个程序源码
- 格式:pdf
- 大小:156.36 KB
- 文档页数:27


#!/usr/bin/env python
#coding: utf-8
'''
【程序1】
题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少?
1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去
掉不满足条件的排列。
2.程序源代码:
'''
for i in range(1,5):
for j in range(1,5):
for k in range(1,5):
if( i != k ) and (i != j) and (j != k):
print i,j,k
'''
【程序2】
题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高
于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提
成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于
40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于
100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?
1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。
2.程序源代码:
'''
bonus1 = 100000 * 0.1
bonus2 = bonus1 + 100000 * 0.500075
bonus4 = bonus2 + 200000 * 0.5
bonus6 = bonus4 + 200000 * 0.3
bonus10 = bonus6 + 400000 * 0.15
i = int(raw_input('input gain:\n'))
if i <= 100000:
1
实验一 基础实验(数码管显示)
一、 实验内容
使用MCS-51汇编语言编写程序,完成如下功能:
1. 使用三个数码管显示十进制数值(001~999,可任意设置);
2. 每隔1秒,该数值自动减一,直到归零;
3. 归零后的下一秒,显示一个新的十进制数值(001~999,可任意设置);
4. 每隔1秒,新数值继续自动减一,直到再次归零;
5. 重新执行步骤1,循环往复。
6. 当开关S1按下时,暂停计数;S1松开时,恢复计数。
二、 数码管显示原理
如图所示,三段式数码管由三片74HC164级联控制三个数码管的显示,其中使用单片机P4.5作为模拟串口数据,使用P4.4模拟串口时钟,CLR端接高电平。使用上一个74HC164的Q7作为下一个74HC164的输入端。
要想输出一个字形码,就需要从高位到低位依次向移位寄存器输出8个比特。移位寄存器的数据线和时钟线分别接到单片机的P4.5和P4.4管脚,可以使用MCS-51里面的位操作指令进行输出。连续输出3个字形,24个bit之后,欲显示的字形将稳定地显示在数码管上,程序可以转而执行其他工作。
三、 实验流程图
1.主程序流程图 2 开始初始化定义计数器R6,R5,R4定义码表TAB 0-9根据R6偏移从TAB取数送到算术寄存器A中调用SHOW子程序根据R5偏移从TAB取数送入算术寄存器A中调用SHOW子程序根据R4偏移从TAB取数送入算术寄存器A中调用SHOW子程序调用延时子程序S1按下?是循环延时否R6减一即个位减一R6为-1?是R5减一即十位减一重新初始化R6否R5为-1?否是R4减一即百位减一重新初始化R5R4为-1?重新初始化R4否
3
2.显示子程序SHOW流程图 3.延时子程序DELAY流程图
子程序SHOW开始R0初始化计数时钟置0右移AC标志位送入DATA时钟置1,上跳R0=0?是RET否
子程序DELAY开始RI初始化为80R3减一R3为0?是R2减一R2为0?是R1减一是R1为0?否R2初始化为200R3初始化为250否否是RET4
Java导出源程序_JAVA导出项⽬的所有源代码到⼀个⽂件
最近要将⼀个⼯程的所有源代码导⼊到⼀个⽂件中,要如下图效果。
于是写了如下代码:最后⽤Notepad上⾊,paste到word中即可。
import java.io.*;
public class ExportCode {
static FileWriter fw;
static BufferedWriter writer;
static String headTitle = "=======================================";
static String endline="\n";
public ExportCode() {}
public ExportCode(String outputPath)
{
String os=System.getProperties().getProperty("");
if(os.startsWith("win")||os.startsWith("Win"))endline="\r\n";
try {
// 设置成尾部追加⽅式
fw = new FileWriter(outputPath, true);
writer = new BufferedWriter(fw);
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* @param path 绝对路径
* @param filename 要读的⽂件名
*/
public void WriteToMyFile(String path, String filename) {
if (!filename.endsWith(".java") )
return;
try {
writer.write(endline+headTitle+endline);
writer.write("『"+filename+"』");
院系:计算机学院
实验课程:编译原理实验
实验项目:C++源代码单词扫描程序(词法分析)
指导老师:黄煜廉
一.实验项目C++源代码单词扫描程序(词法分析)
二.实验要求1.C++源代码扫描程序识别C++记号。C++语言包含了几种类型的记号:标识符,
关键字,数(包括整数、浮点数),字符串、注释、特殊符号(分界符)和运算
符号等。2.打开一个C++源文件,打印出所有以上的记号。
3.要求应用程序应为Windows界面。
4.选作部分:为了提高C++源程序的可读性,C++程序在书写过程中加入了空行、
空格、缩进、注释等。假设你想牺牲可读性,以节省磁盘空间,那么你可以存贮一个删除了所有不必要空格和注释的C++源程序的压缩文本。因此,程序中还应
该有这样的压缩功能。5.选作部分:进一步思考或实现——如何进一步实现减小源文件大小的压缩功
能。6.应该书写完善的软件文档。
三.需求分析1.根据所需的功能程序应分为分析关键字、分析标识符、分析数字、分析串、分
析注释、分析特殊字符和过滤多余字符几部分。2.关键字有iostream.h.main.while.gotoincludeforbreakcaseifstructclass等。
3.过滤字符要考虑到空格和换行。
四.实验代码
五.#include
六.#include
七.#include
八.#include
九.#include
十.FILE*fp;
十一.charstring(charc[]);//字符串处理
十二.charch;
十三.char*operate[6]={"+","-","*","/","++","--"};
十四.char*note[4]={"//","/*","*/","\""};
十五.char*symbol[31]={"%","$","^","&","_","#","<","<=","=",">",">=","<>","<<","==","!=","
&&","||","!",
十六.",",";",":=",".","(",")","{","}","&&","||","!","()",">>"};