Καλησπέρα βλέπω πως επικρατεί ένας πανικός απόψεων και αύτό γιατί το θέμα ξεκίνησε γενικά για τον προγραμματισμό (Λογικό)
Απευθύνομαι στο παλικαράκι που φέτος τελειώνει το Λύκειο.
Τα μαθηματικά είναι το εργαλείο για να προγραμματίσεις.
Σου παραθέτω κάποια παραδείγματα για να καταλάβεις:
Γλώσσα προγραμματισμού C++:
Διάλεξα ένα προγραμματάκι απλό το οποίο θα βρίσκαι όλους τους πιθανούς συνδιασμούς δηλαδή
Αν θέλεις να βρείς απο το 0 εώς το 1 για τρείς θέσεις το πρόγραμμα θα σου απαντήσει..
000
001
010
011
100
101
110
111
Με αυτό το πρόγραμμα και με κάποιες άλλες παραλλαγές που θα μου επιτρέψεις να μην τις γράψω..
Μπορείς να σπάσεις έναν σειριακό αριθμό προκειμένου να ενεργοποιήσεις μια υπηρεσία όπως για παράδειγμα
να ανανεώσεις την κάρτα του κινητού σου.
#include <cstdlib>
#include <iostream>
using namespace std;
main()
{
int x,z,j,s,i,n,a,k,q,p,m,t[]={0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
n=0; s=0; a=0; x=1;
printf(" You are in a safe area \n give me the password:");
scanf("%d",&z);
while (z!=30181)
{
printf("\n error try again \n");
scanf("%d",&z);
}
printf("Auto to programa tha sou bri olous tous dinatous sindiasmous\n\n");
printf ("Mexri pion arithmo thelis na kaneis sindiasmous ");
scanf("%d",&m);
printf ("\n Poses thesis thelis na exis ");
scanf("%d",&p);
printf("\n");
for (i=1; i<=p; i++)
x*=(m+1);
while (s!=x)
{
for(i=a; i<=m; i++)
{
t[n]=i;
if (n<p)
{
n=n+1;
i=-1;
}
else if (n>=p)
{
for (k=1; k<=p; k++)
printf("%d",t[k]);
printf("\n");
s+=1;
}
}
for (j=1; j<=p; j++)
{
if (t[j]==m)
{
n=n-1;
a=t[n]+1;
j=p+1;
}
}
}
printf("\n%d",x);
system("pause");
printf("\n Programmer ****** IOANNIS KOMMAS ********\n");
printf("The program terminated\n");
system("pause");
}
Γλώσσα προγραμματισμού Java:
Σε αυτό το παράδειγμα παρθέτω μια παραγγελία σε ένα εστιτόριο, ένα απλό προγραμματάκι (μέρος προγράμματος)
Restaurant.java
public class Restaurant {
public static void main(String[] args) {
VisualClass vc = new VisualClass();
vc.setVisible(true);
}//end of main
}//end of class
Waiter.java
public class Waiter {
//idiotites
private String food;
private String drink;
private Cook cook = new Cook(food, drink);
//kataskeuatis
public Waiter (String food, String drink){
this.food= food;
this.drink=drink;
}//end of kataskeuastis
//me8odous
public void placeorder(String food, String drink){
this.food=food;
this.drink=drink;
cook.prepare(food, drink);
}//end of placeorder
public void doneorder (String food, String drink, int price){
System.out.println(" The client was served the "+food+" together with "+drink+" and paid "+price+" Euros");
}//end of doneorder
} //end of class
Cook.java
public class Cook {
//idiotites
private String food;
private String drink;
private Barman barman= new Barman(drink);
//kataskeuatis
public Cook (String food, String drink ){
this.food= food;
this.drink=drink;
}//end of kataskeyastis
//me8odous
public void prepare(String food, String drink){
System.out.println("The "+food+" is Cooked");
barman.prepare(drink);
}//end of prepare
}//end of class
Barman.java
public class Barman {
//idiotites
private String drink;
//kataskeuatis
public Barman (String drink ){
this.drink=drink;
}//end of kataskeyastis
//me8odous
public void prepare( String drink){
System.out.println("The "+drink+" is Served");
}//end of prepare
}//end of class
Cashier.java
public class Cashier {
//idiotites
private String food;
private String drink;
private int price;
private Waiter waiter = new Waiter(food,drink);
// kataskeuatis
public Cashier (String food, String drink){
this.food= food;
this.drink=drink;
}//end of kataskeyastis
// me8othous
public int charge(String food, String drink){
price=57;
System.out.println("Charghing 50 Euros for "+food+" and 7 Euros for "+drink+" a total of 57 Euros");
waiter.doneorder(food, drink, price);
return price;
}//end of charge
}//end of class
VisualClass.java
import java.awt.BorderLayout;
import javax.swing.JPanel;
import javax.swing.JFrame;
import javax.swing.JButton;
import java.awt.Rectangle;
import java.awt.Dimension;
import javax.swing.JTextField;
import javax.swing.JTextArea;
public class VisualClass extends JFrame {
private static final long serialVersionUID = 1L;
private JPanel jContentPane = null;
private JButton jButton = null;
private JTextField jTextField = null;
private JTextField jTextField1 = null;
private JTextArea jTextArea = null;
private JTextArea jTextArea1 = null;
/**
* This is the default constructor
*/
public VisualClass() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(670, 200);
this.setContentPane(getJContentPane());
this.setTitle("JFrame");
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(null);
jContentPane.add(getJButton(), null);
jContentPane.add(getJTextField(), null);
jContentPane.add(getJTextField1(), null);
jContentPane.add(getJTextArea(), null);
jContentPane.add(getJTextArea1(), null);
}
return jContentPane;
}
/**
* This method initializes jButton
*
* @return javax.swing.JButton
*/
private JButton getJButton() {
if (jButton == null) {
jButton = new JButton();
jButton.setBounds(new Rectangle(220, 121, 200, 33));
jButton.setText("ΟΚ");
jButton.addActionListener(new java.awt.event.ActionListener() {
public void actionPerformed(java.awt.event.ActionEvent e) {
String food = jTextField.getText();
String drink = jTextField1.getText();
int price=0;
Waiter c =new Waiter(food,drink);
c.placeorder(food, drink);
Cashier cash = new Cashier(food,drink);
cash.charge(food, drink);
}
});
}
return jButton;
}
/**
* This method initializes jTextField
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField() {
if (jTextField == null) {
jTextField = new JTextField();
jTextField.setBounds(new Rectangle(128, 6, 100, 27));
jTextField.setText("");
}
return jTextField;
}
/**
* This method initializes jTextField1
*
* @return javax.swing.JTextField
*/
private JTextField getJTextField1() {
if (jTextField1 == null) {
jTextField1 = new JTextField();
jTextField1.setBounds(new Rectangle(129, 40, 97, 25));
jTextField1.setText("");
}
return jTextField1;
}
/**
* This method initializes jTextArea
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea() {
if (jTextArea == null) {
jTextArea = new JTextArea();
jTextArea.setBounds(new Rectangle(3, 37, 109, 26));
jTextArea.setText("Όνομα ποτού");
}
return jTextArea;
}
/**
* This method initializes jTextArea1
*
* @return javax.swing.JTextArea
*/
private JTextArea getJTextArea1() {
if (jTextArea1 == null) {
jTextArea1 = new JTextArea();
jTextArea1.setBounds(new Rectangle(2, 6, 109, 25));
jTextArea1.setText("Όνομα Φαγητού");
}
return jTextArea1;
}
} // @jve:decl-index=0:visual-constraint="10,10"
Προγραμματισμό σε Matlab:
Εδώ σου παραθέτω ένα Gui ...
function aliasgui(mode,ele_loc)
% ALIASGUI Concepts in aliasing.
% Author: Craig Borghesani <cborg@terasoft.com>
% Date: 2/2/96 11:32AM
% Copyright (c) 1997 by Prentice-Hall, Inc.
% Modified AA, Sep 20,96
if nargin == 0, mode = 0; end
if mode ~= 0,
f = gcf;
ui = get(f,'userdata');
stat_bar = ui(61);
ele_axs = get(ui(12),'userdata');
ele_mat = get(ui(1),'userdata');
last_mode = get(stat_bar,'userdata');
last_mode2 = get(ui(17),'userdata');
strs = ui(14:3:20);
edts = ui(15:3:21);
slds = ui(16:3:22);
top_axs = ui(29);
end
if mode == 0,
spabout('aliasgui');
grey = [0.5,0.5,0.5];
ltgrey = grey*1.5;
dkgrey = grey*0.5;
scrn_size = get(0,'screensize');
fig_w = 620; fig_h = 450;
flft = (scrn_size(3) - fig_w)/2;
fbtm = (scrn_size(4) - fig_h)/2;
ver_str = version;
ver4 = length(findstr('4.',ver_str));
if ver4,
int_str = 'yes';
f = figure('pos',[flft,fbtm,fig_w,fig_h],'menubar','none',...
'name','Aliasing','numbertitle','off',...
'resize','off','vis','off','interruptible',int_str,...
'color',dkgrey,'defaultaxesfontsize',10,...
'defaulttextfontsize',10);
edt_ht = 17;
else
int_str = 'on';
eval('f = colordef(''new'',''none'');');
set(f,'pos',[flft,fbtm,fig_w,fig_h],'menubar','none',...
'name','Aliasing','numbertitle','off',...
'resize','off','vis','off','interruptible',int_str,...
'color',dkgrey,'defaultaxesfontsize',10,...
'defaultuicontrolback',[0.5,0.5,0.5],...
'defaulttextfontsize',10);
edt_ht = 20;
end
lft = 10; btm = fig_h - 15 - 102;
ui(1) = uicontrol('style','text','pos',[lft,btm+83,156,17],'back',grey,...
'fore','c','string','CT Signal','horiz',...
'left','callback','aliasgui(6)','value',1);
ui(2) = axes('units','pixel','pos',[6,btm,175,102],'box','on',...
'xtick',[],'ytick',[],'color',grey,'xcolor',ltgrey,...
'ycolor',ltgrey');
uit = uicontrol('style','slider','pos',[166,btm-2,15,103],'min',-1,...
'max',0,'callback','aliasedt(4)','vis','off');
set(ui(2),'userdata',uit);
ui(3) = uicontrol('style','frame','pos',[5,btm-131,175,126],...
'back',grey,'fore',ltgrey);
btm = btm - 30;
ui(11) = uicontrol('style','text','pos',[lft,btm,160,17],...
'horiz','center','fore','g','string','m * cos(2*pi*f*t + phi)');
btm = btm - 22;
ui(6) = uicontrol('style','push','pos',[lft+17,btm,60,20],...
'string','Add','callback','aliasgui(2)');
ui(7) = uicontrol('style','push','pos',[lft+87,btm,60,20],...
'string','Del','callback','aliasedt(7)','enable','off');
btm = btm - 25;
ui(14) = uicontrol('style','text','pos',[lft,btm,100,17],...
'horiz','left','string','Magnitude (m)');
ui(15) = uicontrol('style','edit','pos',[lft+105,btm,50,edt_ht],...
'back','w','userdata',0,'string','1','horiz','right');
ui(16) = uicontrol('style','slider','pos',[lft+155,btm,10,edt_ht],...
'userdata',ui(15));
set(ui(15),'userdata',ui(16));
btm = btm - 25;
ui(17) = uicontrol('style','text','pos',[lft,btm,100,17],...
'horiz','left','string','Freq f (Hz)');
ui(18) = uicontrol('style','edit','pos',[lft+105,btm,50,edt_ht],...
'back','w','string','1','horiz','right');
ui(19) = uicontrol('style','slider','pos',[lft+155,btm,10,edt_ht],...
'userdata',ui(18));
set(ui(18),'userdata',ui(19));
btm = btm - 25;
ui(20) = uicontrol('style','text','pos',[lft,btm,100,17],...
'horiz','left','string','Phi (degrees)');
ui(21) = uicontrol('style','edit','pos',[lft+105,btm,50,edt_ht],...
'back','w','string','0','horiz','right');
ui(22) = uicontrol('style','slider','pos',[lft+155,btm,10,edt_ht],...
'userdata',ui(21));
set(ui(21),'userdata',ui(22));
btm = btm - 5;
uicontrol('style','frame','pos',[5,btm-59,175,54],...
'back',grey,'fore',ltgrey);
btm = btm - 30;
ui(23) = uicontrol('style','text','pos',[lft,btm,100,17],...
'string','Samp Rate (Hz)','horiz','left','userdata',ui(2));
ui(24) = uicontrol('style','edit','pos',[lft+105,btm,50,edt_ht],...
'back','w','string','10','callback','aliasgui(3)',...
'horiz','right');
ui(25) = uicontrol('style','slider','pos',[lft+155,btm,10,edt_ht],...
'userdata',ui(24),'callback','aliasgui(4)',...
'max',20,'min',5,'value',10);
set(ui(24),'userdata',ui(25));
btm = btm - 25;
ui(26) = uicontrol('style','text','pos',[lft,btm,100,17],...
'string','Duration (sec)','horiz','left');
ui(27) = uicontrol('style','edit','pos',[lft+105,btm,50,edt_ht],...
'back','w','string','1','callback','aliasgui(3)',...
'horiz','right');
ui(28) = uicontrol('style','slider','pos',[lft+155,btm,10,edt_ht],...
'userdata',ui(27),'callback','aliasgui(4)',...
'max',10,'min',0.01,'value',1);
set(ui(27),'userdata',ui(28));
ui(29) = axes('units','pixel','pos',[210,260,390,150],'box','on',...
'xlim',[-inf,inf],'ylim',[-inf,inf],'color','k',...
'xcolor','w','ycolor','w');
title('CT Signal (-), Samples (o), and Aliased Signal (--)');
xlabel('Time [sec]');
ui(30) = line('xdata',0,'ydata',0,'color','y');
ui(31) = line('xdata',0,'ydata',0,'color','g');
if ver4,
ui(32) = line('xdata',0,'ydata',0,'color','g','linestyle','o');
else
ui(32) = line('xdata',0,'ydata',0,'color','g','linestyle','none',...
'marker','o');
end
ui(33) = line('xdata',0,'ydata',0,'color','m','linestyle','--');
ui(34) = axes('units','pixel','pos',[210,60,175,130],'box','on',...
'xlim',[-inf,inf],'ylim',[-inf,inf],'color','k',...
'xcolor','w','ycolor','w');
title('Magnitude');
xlabel('Analog frequency [Hz]')
ui(35) = line('xdata',0,'ydata',0,'color','c');
if ver4,
ui(36) = line('xdata',0,'ydata',0,'color','c','linestyle','o');
else
ui(36) = line('xdata',0,'ydata',0,'color','c','linestyle','none',...
'marker','none');
end
ui(37) = axes('units','pixel','pos',[425,60,175,130],'box','on',...
'xlim',[-inf,inf],'ylim',[-inf,inf],'color','k',...
'xcolor','w','ycolor','w');
title('Phase (Degrees)');
xlabel('Analog frequency [Hz]')
ui(38) = line('xdata',0,'ydata',0,'color','c');
if ver4,
ui(39) = line('xdata',0,'ydata',0,'color','c','linestyle','o');
else
ui(39) = line('xdata',0,'ydata',0,'color','c','linestyle','none',...
'marker','none');
end
ui(61) = uicontrol('style','text','pos',[0,0,620,15],'horiz','left',...
'userdata',0,'fore','y');
set(f,'userdata',ui);
set(ui(61),'string','Mode: ADD. Change values and press Add.');
drawnow;
aliasplt;
set(f,'vis','on');
elseif mode == 2, % adding
val1 = str2num(get(edts(1),'string'));
val2 = str2num(get(edts(2),'string'));
val3 = str2num(get(edts(3),'string'));
if ~length(val2), val2 = 0; end
if ~length(val3), val3 = 0; end
val_vec = [val1, val2, val3];
ele_mat = [ele_mat;val_vec];
set(ui(1),'userdata',ele_mat);
set(stat_bar,'string','Adding new signal...');
aliasplt;
aliasedt(1);
%FOR ADD MODE
%%%%%%%%%%%%%%%%%%%%%% NEW ADDITION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
set(stat_bar,'string','Add new signal or click on a signal to edit/delete');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% set(stat_bar,'string','Now use edit boxes or sliders to change values.');
% set(edts,'callback','aliasedt(6)');
% set(slds,'callback','aliasedt(10)');
% set(ui(7),'enable','on');
for k = 1:3,
set(slds(k),'value',val_vec(k),'min',val_vec(k)-5,'max',val_vec(k)+5);
end
elseif mode == 3, % edit for sample freq and duration
edt = gco;
sld = get(edt,'userdata');
edt_val = str2num(get(edt,'string'));
sld_val = get(sld,'value');
if ~length(edt_val),
errordlg('You must enter a VALID number.','Input Error');
set(edt,'string',int2str(get(sld,'value')));
return;
elseif edt_val <= 0,
edt_val = 0.01;
end
set(edt,'string',num2str(edt_val,3));
set(sld,'value',edt_val,'min',edt_val-5,'max',edt_val+5);
aliasplt;
elseif mode == 4, % sliders for sample freq and duration
sld = gco;
edt = get(sld,'userdata');
edt_val = str2num(get(edt,'string'));
sld_val = get(sld,'value');
sld_min = get(sld,'min');
sld_max = get(sld,'max');
if sld_val <= 0,
sld_val = 0.01;
end
set(sld,'value',sld_val);
set(edt,'string',num2str(sld_val,3));
drawnow;
if sld_val >= sld_max,
set(sld,'min',sld_min+5,'max',sld_max+5);
elseif sld_val <= sld_min,
set(sld,'min',sld_min-5,'max',sld_max-5);
end
aliasplt;
end
Γενικότερα ανάλογα με το τι θέλεις να κάνεις αφιερώνεις χρόνο και το πραγματοποιείς
Να έχιες δυύο πράγματα στο μυαλό σου ΧΡΟΝΟ & Καλά Δομημένη Σκέψη.
TRY AND FAIL υπομονή ....Σκέψη ......Χρόνος.....Γνώση.....SUCCESS!!