Professional Documents
Culture Documents
Aula 3
Introduo a I/O
Escrita
Os programas normalmente precisam interagir de alguma forma com o usurio Essa interao pode ser do usurio para o computador (entrada de dados) ou vice-versa (sada de informaes) parte do computador responsvel por tais tarefas d-se o nome de Entrada/Sada, tambm conhecida como E/S ou I/O (do ingls In/Out)
08/08/2010
Introduo a I/O
Escrita
As linguagens C e Java, por exemplo, no definem nenhuma palavra-chave para realizar operaes de E/S
Toda tarefa desse tipo deve ser efetuada atravs de funes externas includas em conjuntos de rotinas chamados bibliotecas
Em C, para utilizar rotinas de bibliotecas temos que incluir chamadas a essas bibliotecas no programa
Introduo a I/O
Escrita
08/08/2010
Introduo a I/O
Escrita Caracteres Especiais
Caractere %d %<largura>d %<flag>d %X %f %.<preciso>f %e %s %b %tc %tT Valor Passado Inteiro Inteiro Inteiro Inteiro Ponto-flutuante Ponto-flutuante Ponto-flutuante String Booleano Data Data Exemplo printf(%d, 2) printf(%6d, 2) printf(%06d, 2) printf(%X, 10) printf(%f, 2.5) printf(%.2f, 2.5) printf(%6.2f, 2.5) printf(%e, 2534.9) printf(%s, Unifor) printf(%b, true) printf("%tc", Calendar.getInstance()) printf("%tT", ...) 2 2 000002 A 2,500000 2,50 2,50 2.534900e+03 Unifor true 2008-02-13 14:51:56 Resultado
Introduo a I/O
Escrita - Exemplo
13/02/2008 13/02/2008
08/08/2010
Introduo a I/O
Leitura
1 Unifor 1Unifor
Introduo a I/O
Escrita
Em C++, a forma bsica de exibio de informaes para o usurio atravs do comando cout:
#include <iostream> //para o cout #include <stdio.h> //para o printf cout << "Ol "; cout << "Boa\n"; cout << "Noite"; Ol Boa Noite
08/08/2010
Introduo a I/O
Leitura
Operadores
Lgicos
Operadores booleanos
Operao NOT OR* AND* XOR
* Em java
Operador ! | & ^
08/08/2010
Operadores
Relacionais e de Igualdade
Operadores
Aritmticos
Operador + * / %
08/08/2010
Operadores
Incremento e Decremento
Operadores
De Atribuio Compostos
Operador += = *= /= %=
Exemplo x += 1 x = 1 x *= 2 x /= 2 x %= 2
08/08/2010
Operadores
A Nvel de Bit
Lgicos
Operao Complemento OR AND XOR Operador ~ | & ^
Deslocamento
Operao Right Shift (com sinal) Right Shift (sem sinal)* Left Shift
* Em java
Exerccios
1, 1, 2, 3, 5, 8, 13,
5! = 5x4x3x2x1 = 120 Implemente um algoritmo para exibir a representao binria de um inteiro digitado pelo usurio (pelo menos 8 bits) Implemente um algoritmo para imprimir a data atual do sistema no seguinte formato:
Desafios:
08/08/2010
Estruturas de Controle
Comandos de Controle de Fluxo
17
Iterao
while,
Transferncia
break,
Estruturas de Controle
Comandos de Seleo IF
18
if ( expresso booleana ) faaAlgumaCoisa(); if ( expresso booleana ) faaAlgumaCoisa(); else facaOutraCoisa(); if ( expresso booleana ) { faaAlgumaCoisa(); } else { facaOutraCoisa(); }
Bom Dia
08/08/2010
Estruturas de Controle
Comandos de Seleo SWITCH
19
char c = t; switch ( c ) { case d: System.out.println( Bom Dia ); case t: System.out.println( Boa Tarde ); }
switch ( expresso ) { case <valor1>: faaAlgumaCoisa(); break; case <valor2>: faaOutraCoisa(); break; default: faaQualquerCoisa(); break; }
Boa tarde
Estruturas de Controle
Comandos de Iterao WHILE
20
0,1,2,3,4,5,6,7,8,9,
10
08/08/2010
Estruturas de Controle
Comandos de Iterao DOWHILE
21
0,1,2,3,4,5,6,7,8,9,
Estruturas de Controle
Comandos de Iterao FOR
22
0,1,2,3,4,5,6,7,8,9,
11
08/08/2010
Estruturas de Controle
Comandos de Transferncia BREAK
23
for ( inicializao; teste; incremento ) { faaAlgumaCoisa(); break; } <rtulo>: for ( inicializao; teste; incremento ) { faaAlgumaCoisa(); break <rotulo>; }
laco: for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.print("A "); if (j == 2) break laco; System.out.print("B "); } }
ABABA
Estruturas de Controle
Comandos de Transferncia CONTINUE
24
for ( inicializao; teste; incremento ) { faaAlgumaCoisa(); continue; } <rtulo>: for ( inicializao; teste; incremento ) { faaAlgumaCoisa(); continue <rotulo>; }
laco: for (int i = 0; i < 3; i++) { for (int j = 0; j < 3; j++) { System.out.print("A "); if (j == 2) continue laco; System.out.print("B "); } }
12
08/08/2010
Exerccios
25
Escreva um algoritmo para imprimir os nmeros pares de 1 a 50 Escreva um algoritmo para imprimir os nmeros primos de 2 at um valor digitado pelo usurio Desafio:
Escreva um algoritmo para imprimir em outro formato uma data digitada pelo usurio (utilize o comando switch)
13