[java] Sequencia de escape,[ras.] A experiência da ALMG com o uso

Transcrição

[java] Sequencia de escape,[ras.] A experiência da ALMG com o uso
[java] Soma de dois numeros
import javax.swing.JOptionPane;public class Adicao {
/**
* @param args
*/
public static void main(String[] args) {
String primeiroNome, segundoNome; // Primeiro e
segundo nome inseridos pelo usuario
int n1; //primeiro numero a somar
int n2; //segundo numero a somar
int sum; //retorna a soma dos dois numeros
// le o primeiro numero como uma String
primeiroNome = JOptionPane.showInputDialog("Entre com
o primeiro numero");
//le o segundo numero como String
segundoNome = JOptionPane.showInputDialog("Entre com o
segundo nome");
// converte os numeros do tipo String para o tipo int
n1= Integer.parseInt(primeiroNome);
n2= Integer.parseInt(segundoNome);
// soma os numeros
sum = n1 + n2;
//Exibe os resultados
JOptionPane.showMessageDialog(null, "A soma é " + sum,
"Resultados", JOptionPane.PLAIN_MESSAGE);
System.exit(0); //termina o aplicativo
}
}
[java]
importando
JOptionPane
classe
import javax.swing.JOptionPane;
public class Welcome4 {
public static void main (String args[]) {
JOptionPane.showMessageDialog (null,
programacao n JAVA”);
System.exit(0);
}
}
“Bemvindos
n
a
[java] Welcome1
// Fig 2.1: Welcome1.java
// Um primeiro programa em Java
public class Welcome1 {
//o metodo main inicia a execucao do aplicativo Java
public static void main (String args[])
{
System.out.println(“Bem vindos a Programacao Java!”);
} //fim do metodo main
} //fim da classe welcome
[java] Sequencia de escape
n – Nova linha
t –
Tabulação horizontal
r – Retorno de carro
\ – Barra invertida
” – aspas duplas
[ras.] A experiência da ALMG
com o uso de software livre
25/out/2007(rascunho)
Participei da palestra cujo o tema era “Software Livre – A
Experiência da Assembléia Legislativa do Estado de Minas
Gerais”, ministrada pelo Dr. Marcelo Migueletto, diretor de
informática da ALMG, na Escola do Legislativo Fluminense. A
Escola do Lesgislativo funciona na Rua da Alfândega, nº 8, 2º
andar, no Centro, cidade do Rio de Janeiro.
A Palestra esclareceu dúvidas mais comuns dos mais diversos
públicos sobre a mudança de software aplicativos proprietário
para seu similares livre. Especificamente, da troca da
ferramenta de produtividade para escritório Microsoft Office
(versão 97) pelo OpenOffice.org 2.
Chegando com a Palestra já iniciada, apresento em seguida um
breve resumo das estratégias adotadas pela direção de
informática da ALMG, que reduziu em 35% os gastos com
atualização de softwares.
A motivação principal para adoção do OpenOffice, segundo seu
diretor é redução de gastos.
É fato que a estratégia da Microsoft é abandonar o suporte
sério para versões antigas de programas, ficou evidente que a
troca para seu equivalente livre, que sempre esta disponível e
atualizado, sem exigir nenhum pagamento é até mais prático.
Foi adotada uma estratégia de gradativa substituição, quando
passaram a palavra para perguntas, perguntei se há intenção de
substituição mais radical para softwares livres como o sistema
operacional para Desktops por exemplo. A resposta foi uma
repetição de trecho da explicação – A intenção é “substituir
os pratos” para posteriormente “arrumar a mesa.
A adaptação foi muito mais fácil em relação as
espectativas.Muitas barreiras que poderiam colocar dificuldade
nessa implantação foram superadas antes das mesmas aparecerem,
em seu planejamento.
as estratégias:
1. Produção de guias para uso dos aplicativos, levando em
consideração tarefas que os usuários utilizavam até
aquele momento usando aplicativos proprietários.
2. Treinamento de todo o setor de informática;
3. Treinamento de pessoal de outros setores;
4. Substituição total nas máquinas dos setores – [Devido a
observações concluiram que na primeira dificuldade no
uso de uma nova ferramenta (Editor de textos, por
exemplo), o usuário se deslocava para a máquina na qual
estava instalado o software antigo (proprietário), por
já possuir uma experiência no mesmo, tornando a
descoberta de outros recursos no novo indefinidamente
adiada].
5. Utilização de pesquisa: considerando a experiência de
grupos iniciantes, intermediários e experientes no uso
do computador.
Conclu.
Achei muito interessante, apesar do discurso inicial da que a
conversão de alguns aplicativos para o software livre foi
estritamente Administrativo, visando custo/benefício,
Migueletto ressaltou uma importância para adoção de programas
de códigos abertos, citou diversos exemplos de incidentes como
caso de espionagem geradas por produtos Microsoft, cujo seu
principal produto é o sistema operacional, ou seja, a mesa e a
toalha da mesa, e não somente seu produto “prato”.
Se a Alerj pretende fazer o mesmo, acredito que precisa
amadurecer mais a ideia, a palestra pode render mais frutos se
a plateia for ampliada em funcionamento mais interativo,
inclusive com publico da internet. Não só a Alerj deve adotar
o Software Livre assim como toda entidade pública. E se
realmente for mudar, por que não ser mais ousado, mudar
inclusive a mesa. Ultimamente, se o problema maior é realmente
o cultural, acredito que para a maioria dos aplicativos usados
pela Assembléia Legislativa, há um similar livre eficiênte. O
problema é que para um projeto desse dar certo, depende da
vontade e apoio dos que realmente irão sofrer maior impacto no
ponto de vista de implantação operacional, que são os
funcionários do suporte de informática.
Para a adoção do BrOffice.org, não há grandes dificuldades já
que o unico trabalho é instalar e treinar o pessoal, a maioria
do material pode ser reaproveitado, da própria experiência de
Minas. Boa vontade e economia.
[pascal] programa numero I
Feng Shui da personalidade
Fiz esse programinha usando o método 2 do livro “Feng Shui e a
Astrologia” de cálculo para obter o numero do I ching da
personalidade do individuo. Funcionamento bem simples, o
usuario digita o ano do seu nascimento e o programa retorna o
numero.
program anoIChing;
Uses
CRT;
var
cAno: Array [1..4] of char; {ano em
caracter, pois readkey só funciona com este}
iAno: Array [1..4] of integer; {vou
converter o caracter para inteiro para fazer conta}
iChing, iSoma, c: integer; {simples
contador}
{Esse trecho somente PEGA e CONVERTE o que o
ano que o usuario digita}
Procedure entraAno;
begin
For c:=1 to 4 Do Begin
cAno[c]:=readkey;
Case cAno[c] of
'0':
iAno[c]:=0;
'1':
iAno[c]:=1;
'2':
iAno[c]:=2;
'3':
iAno[c]:=3;
'4':
iAno[c]:=4;
'5':
iAno[c]:=5;
'6':
iAno[c]:=6;
'7':
iAno[c]:=7;
'8':
iAno[c]:=8;
'9':
iAno[c]:=9;
end;
write(cAno[c]);
end;
end;
{Esse trecho somente IMPRIME o que o ano que o
usuario digita}
Procedure imprimeAno;
Begin
For c:=1 to 4 Do Begin
write(iAno[c]);
end;
end;
{Esse trecho somente SOMA todos os digitos de
ano}
Procedure SomaAno;
Begin
iSoma:=0;
For c:=1 to 4 Do Begin
iSoma:=iAno[c]+iSoma;
end;
end;
{Esse trecho somente SOMA a SOMA de todos os
digitos de ano}
Procedure obtemIChing;
var
d, u, s: integer;
Begin
d:=ISoma div 10;
u:=ISoma mod 10;
s:=d+u;
iChing:=11-s;
write('I Ching
', iChing, '
end;
Procedure descreveIChing;
Begin
Case iChing of
1:
');
Begin{agua}
write('Agua
(yin)');
2:
End;
Begin{Terra}
write('Terra
3:
End;
Begin{Arvore}
write('Arvore
4:
End;
Begin{Arvore}
write('Terra
5:
End;
Begin{Terra}
write('Terra
(yin)');
(yin)');
(yin');
(yine yang)');
End;
6:
Begin{Metal}
write('Metal
(yiang)');
7:
End;
Begin{Metal}
write('Metal
8:
End;
Begin{Terra}
write('Terra
9:
End;
Begin{Fogo}
write('Fogo
(yiang)');
(yaing)');
(yiang)');
End;
end;
end;
{ P R I N C I P A L
}
Begin
writeln; writeln; writeln;
Write('Digite o ano de seu nascimento
:
');entraAno;
writeln;
write('o numero que vc digitou foi :
' );
imprimeAno;
writeln;
writeln;
somaAno;
writeln;
obtemIChing;
descreveIChing;
writeln;
writeln;
writeln;
writeln;
writeln;
End.
[pascal] Procedures - Exemplo
de subrotina - Calculadora
Esse
exemplo
faz
uma
calculadora
simples
usando
um
procedimento para cada operação. Também faz uso do Case, uma
alternativas a if (s) aninhados.
program CALCULADORA;
uses
CRT;
var
opcao: char;
{ Sub-rotinas de calculos - Adição }
Procedure rot_adicao;
var
x, a, b: real;
Begin
clrscr;
gotoxy(32, 1); write('Rotina de
adição');
gotoxy(5, 6); write('Entre um valor
para
A: '); readln(a);
gotoxy(5, 7); write('Entre um valor
para
b: '); readln(b);
x:=a+b;
gotoxy(5,10); write('O resultado
equivale a: ', x:6:2);
gotoxy(25,24); writeln('Pressione
para voltar para o menu ');
readln;
end;
{-----------------------------------------------------
----------------------------------------------------------------------------------------}
{ Sub-rotinas de calculos - Subtração }
Procedure rot_subtracao;
var
x, a, b: real;
Begin
clrscr;
gotoxy(32, 1); write('Rotina de
adição');
gotoxy(5, 6); write('Entre um valor
para A: '); readln(a);
gotoxy(5, 7); write('Entre um valor
para
b: '); readln(b);
x:=a-b;
gotoxy(5,10); write('O resultado
equivale a:
', x:6:2);
gotoxy(25,24); writeln('Pressione
para voltar para o menu ');
readln;
end;
{--------------------------------------------------------------------------------------------------------------------------------------------}
{ Sub-rotinas de calculos - Multiplicação}
Procedure rot_multiplicacao;
var
x, a, b: real;
Begin
clrscr;
gotoxy(32, 1); write('Rotina de
adição');
gotoxy(5, 6); write('Entre um valor
para A:
'); readln(a);
gotoxy(5, 7); write('Entre um valor
para
b:
'); readln(b);
x:=a*b;
gotoxy(5,10); write('O resultado
equivale a: ', x:6:2);
gotoxy(25,24); writeln('Pressione
para voltar para o menu ');
readln;
end;
{--------------------------------------------------------------------------------------------------------------------------------------------}
{ Sub-rotinas dee calculos - Divisão }
Procedure rot_divisao;
var
x, a, b: real;
Begin
clrscr;
gotoxy(32, 1); write('Rotina de
adição');
gotoxy(5, 6); write('Entre um valor
para A:
'); readln(a);
gotoxy(5, 7); write('Entre um valor
para b:
'); readln(b);
x:=a/b;
gotoxy(5,10); write('O resultado
equivale a:
', x:6:2);
gotoxy(25,24); writeln('Pressione
para voltar para o menu ');
readln;
end;
{--------------------------------------------------------------------------------------------------------------------------------------------}
BEGIN { PROGRAMA PRINCIPAL}
textColor(yellow + blink); { altero a cor da fonte }
textBackground(BLUE); { altero a cor do plano de fundo
}
clrscr;
opcao:='0';
while (opcao < '5') do Begin
clrscr;
gotoxy(33,1);
write('Menu
principal');
gotoxy(22, 6);
write('1
gotoxy(22, 8);
Soma');
write('2
Subtracao');
gotoxy(22, 10); write('3
Multiplicacao');
gotoxy(22, 12); write('4 Divisao');
gotoxy(22, 14); write('5 Fim de
programa');
gotoxy(22, 18); write(' Escolha uma
opcao ......: ');
readln(opcao);
Case opcao of
'1': rot_subtracao;
'2': rot_subtracao;
'3': rot_multiplicacao;
'4': rot_divisao
Else
Writeln('Byeee');
end;
end;
END.
[pascal] Units
São rotinas prontas para seremusadas pelo programador.
Unidades foram incorporadas com o intuirto deagrupar diversas
rotinas básicas.
Uma unit é uma biblioteca de funções, procedimentose
constantes. Em seguida estão relacionadas as unidades
compilador Free Pascal
CRT – variáveis de geração de som, controle de video e
teclado
DOS – permitem controles de baixo nivel, utilizando
recursos do sistema operacional DOS.
GRAPH – manipulaçõa de capacidade gráfica de um PC
OVERLAY – Gerencia atividades de um programa. (memória)
PRINTER – usa a impressora como saída de informação
SYSTEM – Rotinas padrão do Pascal. Não precisa ser
declarada.
Como utilizar: Uses <unidade>
Procedimentos e Funções muito utilizadas em CRT
clrscr – (procedimento) – limpa a tela
gotoxy(coluna, lina) – (procedimento) – posiciona o cursosr em
um ponto da tela. Coluna de 1 a 80, linha de 1 a 25.
readkey – (função) – retorna o valor da tecla pressionada. Faz
leiturade apenas um caractere (e não é necessário pressionar
<ENTER>)
[pascal] Tipo Registro / type
record
Um exemplo de aplicações prática do tipo registro.
Esse exemplo lê o nome e as 4 notas de 8 alunos. Ordena em
crescente pelo o nome e exibe um a um.
program LEITURA_ORDENACaO_ESCRITA;
type
bimestre = array[1..4] of real;
cad_aluno= record
nome: string;
nota: bimestre;
end;
var
aluno: array[1..8] of cad_aluno;
i, j, atual, proximo: byte;
x: cad_aluno;
BEGIN
{Rotima de entrada de dados}
writeln('CADASTRO DE ALUNOS');
writeln;
for j:= 1 to 8 do Begin
write('Informe o nome do ', j:2, 'o.
aluno
:'); readln(aluno[j].nome);
writeln;
for i:=1 to 4 do Begin
write(' Informe a ', i:2, 'a. nota
:'); readln(aluno[j].nota[i]);
end;
writeln;
end;
writeln;
{Rotina de ordenação}
for atual:=1 to 7 do Begin
for proximo:= atual+1 to 8 do Begin
if (aluno[atual].nome >
aluno[proximo].nome) then Begin
x:= aluno[atual];
aluno[atual] :=
aluno[proximo];
aluno[proximo] := x;
end;
end;
end;
{Rotina de saída }
writeln;
for j:= 1 to 8 do Begin
writeln('Nome aluno: ', j:2, '
aluno[j].nome);
writeln;
:
',
for i:= 1 to 4 do Begin
writeln('Nota ', i, ' : ',
aluno[j].nota[i]:5:2);
end;
Writeln;
writeln('Tecle para ver o proximo:
'); readln;
end;
writeln;
writeln('Tecle para encerrar: ');
readln;
END.
[asp.net] postbacke viewstate
/
retendo
dados
de
um
formulário
Gerenciamento de viewstate (posição de visão)
<%@ Page Description=”validation example” %>
<html>
<body>
<h2>Input Validation Example</h2>
<hr />
<form runat=”server”>
entre com a string
<asp:TextBox ID=”textoDeEntrada” runat=”server” />
<asp:RequiredFieldValidator
ID=”inputBoxVal”
ControlToValidate=”textoDeEntrada” runat=”server”>
Error: Esse é um campo requerido
</asp:RequiredFieldValidator>
<br />
<asp:Button ID=”submit” Text=”Enviar” runat=”server” />
</form>
</body>
</html>
exemplo compilado

Documentos relacionados

Texto retirado e adaptado da apostila “A Linguagem Pascal

Texto retirado e adaptado da apostila “A Linguagem Pascal Perceba que na estrutura acima, existe um campo denominado FLAG com a capacidade de guardar apenas um caractere. Este campo será utilizado especialmente na operação de remoção lógica de um determin...

Leia mais

1 conceitos básicos da linguagem pascal

1 conceitos básicos da linguagem pascal For, While, Repeat, Until, Integer, Label, Procedure, Function, String, Array, Then, Else, Case dentre outras, não podem ser utilizadas, por exemplo, para a criação do nome de variáveis de um progr...

Leia mais