Axure|产品设计与原型

Axure:Axure RP 能帮助网站需求设计者,快捷而简便的创建基于网站构架图的带注释页面示意图、操作流程图、以及交互设计,并可自动生成用于演示的网页文件和规格文件,以提供演示与开发。

分成几个部分:
元件
变量
动态面板
交互
中继器

元件:

        表单元件
菜单与表格元件
基本元件. 

变量:

全局变量:如果要在B页面获取A页面的数据,必须通过全局变量进行传递。

动态面板:

二级菜单
    遮罩效果
    固定.

小结:
PS与html的结合体
作图功能比不上PS,html效果也还行
交互设计这块却是很好,可在web完成前就看到效果
良好的用户体验

command+ (改变角度)

算法03|搜索

深度搜索模型;

1
2
3
4
5
6
7
8
void bfs (int step)
{
for(i=1;i<=n;i++)
{
dfs(step+1);
}
return;
}

迷宫问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#include <stdio.h>
//迷宫问题
int n,m,p,q,min=99999999;
int a[51][51],book[51][51];
void dfs(int x,int y,int step)
{
int next[4][2] = {
{0,1},{1,0},{0,-1},{-1,0}
};
int tx,ty,k;
if (x==p && y==q) {
if (step<min)
min = step;
return ;
}
for(k=0;k<=3;k++)
{
tx=x+next[k][0];
ty=y+next[k][1];
if (tx<1 || tx>n || ty<1 || ty>m)
continue;
//判断该点是否成为障碍物或者已经在路径中
if(a[tx][ty]==0 && book[tx][ty]==0)
{
book[tx][ty]=1;
dfs(tx, ty, step+1);
book[tx][ty]=0;
}
}return;
}
int main()
{
int i,j,startx,starty;
scanf("%d %d",&n,&m);
for(i=1;i<n;i++)
for(j=1;j<=m;j++)
scanf("%d",&a[i][j]);
scanf("%d %d %d",&startx,&starty,&p,&q);
book[startx][startx]=1;
dfs(startx, starty, 0);
printf("%d",min);
getchar();getchar();
return 0;
}

蓝桥杯|

矩阵面积交:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include <stdio.h>
#include<stdio.h>
#define max(x,y) ((x)>(y)?(x):(y))
#define min(x,y) ((x)<(y)?(x):(y))
int main(){
double x1,y1,x2,y2; //矩形1
double x3,y3,x4,y4; //矩形2
double m1,n1; //交集左上角坐标.
double m2,n2; //交集右下角坐标.
scanf("%lf%lf%lf%lf",&x1,&y1,&x2,&y2);
scanf("%lf%lf%lf%lf",&x3,&y3,&x4,&y4);
m1 = max(min(x1,x2),min(x3,x4));
n1 = max(min(y1,y2),min(y3,y4));
m2 = min(max(x1,x2),max(x3,x4));
n2 = min(max(y1,y2),max(y3,y4));
if(m2>m1 && n2>n1)
printf("%.2f\n",(m2 - m1)*(n2 - n1));
else
printf("0.00\n");
return 0;
}

(贪心算法)

设有n个活动的集合E={1,2,…,n},其中每个活动都要求使用同一资源,如演讲会场等,而在同一时间内只有一个活动能使用这一资源。每个活动i都有一个要求使用该资源的起始时间Si和一个结束时间Fi,且Si=Fj或Sj>=Fi时,活动i与活动j相容。活动安排问题就是要在所给的活动集合中选择出最大的相容活动子集合。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
/贪心算法-活动安排的实现
#include "stdafx.h"
#include "stdio.h"
template<class Type>
void GreedySelector(int n,Type s[],Type f[],bool A[])
{
A[0]=1; //第一个直接选取
int j=0;
for(int i=1;i<n;i++)
{
if(s[i]>=f[j]){A[i]=true;j=i;} //如果第i+1的活动的开始时间大于或等于第i个活动的结束时间,则标记该活动
else A[i]=false;
}
}
int _tmain(int argc, _TCHAR* argv[])
{
//初始化数据
int n=3;
int s[3]={1,2,4}; //开始时间
int f[3]={3,3,5}; //结束时间
bool A[3]={0,0,0}; //数组A用于标记是否选择活动,1表示选择,0表示不选择
GreedySelector<int>(n,s,f,A);
for(int i=0;i<n;i++)
{
printf("%d\n",A[i]);
}
}

完美的代价(贪心)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#include<stdio.h>
#include<stdlib.h>
int main()
{
int n,i,j,k,l,count=0,flag=1,c=-1;
char*a;
scanf("%d",&n);
a=(char*)malloc(n*sizeof(char));
scanf("%s",a);
j=n-1;
for(i=0;i<j;i++)
{
for(k=j;k>=i;k--)
{
if(k==i)
{
if(n%2==0||c!=-1)
{
flag=0;
break;
}
c=1;
count+=n/2-i;
}
else if(a[k]==a[i])
{
for(l=k;l<j;l++)
{
a[l]=a[l+1];
}
a[j]=a[i];
count+=j-k;
j--;
break;
}
}
if(flag==0)
break;
}
if(flag==0)
printf("Impossible");
else
printf("%d\n",count);
return 0;
}

JS来判断浏览器类型或内核的三种方法

(一)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
<script type="text/javascript">
window.onload=function()
{
var oDiv = document.getElementById('div1');
var oImg1 = document.getElementById('img1');
var oImg2 = document.getElementById('img2');
function getOs()
{
var OsObject = "";
if(navigator.userAgent.indexOf("MSIE")>0) {
return "MSIE";
}
if(isFirefox=navigator.userAgent.indexOf("Firefox")>0){
return "Firefox";
}
if(isChrome=navigator.userAgent.indexOf("Chrome")>0){
return "Chrome";
}
if(isSafari=navigator.userAgent.indexOf("Safari")>0) {
return "Safari";
}
if(isCamino=navigator.userAgent.indexOf("Camino")>0){
return "Camino";
}
if(isMozilla=navigator.userAgent.indexOf("Gecko/")>0){
return "Gecko";
}
}
if (getVendorPrefix()=="webkit") {
document.getElementById("img1").src = "1.webP";
} else
{
document.getElementById("img1").src = "web.jpg";
}
}
</script>

(二)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var browser=
{
versions:function()
{
var u = navigator.userAgent, app = navigator.appVersion;
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
webKit: u.indexOf('AppleWebKit') > -1, //苹果、谷歌内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐内核
mobile: !!u.match(/AppleWebKit.*Mobile.*/)||!!u.match(/AppleWebKit/), //是否为移动终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}
document.writeln("语言版本: "+browser.language);
document.writeln(" 是否为移动终端: "+browser.versions.mobile);
document.writeln(" ios终端: "+browser.versions.ios);
document.writeln(" android终端: "+browser.versions.android);
document.writeln(" 是否为iPhone: "+browser.versions.iPhone);
document.writeln(" 是否iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);
alert("您的浏览器类型为:"+getOs());

(三)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
function getVendorPrefix() {
// 使用body是为了避免在还需要传入元素
var body = document.body || document.documentElement,
style = body.style,
vendor = ['webkit', 'khtml', 'moz', 'ms', 'o'],
i = 0;
while (i < vendor.length) {
// 此处进行判断是否有对应的内核前缀
if (typeof style[vendor[i] + 'Transition'] === 'string') {
return vendor[i];
}
i++;
}
}
alert(getVendorPrefix());
|