A visita monitorada à EACH-USP será no dia 08 de maio de 2020, com inscrição prévia – consultar site (https://prceu.usp.br/uspprofissoes/visitas-monitoradas-inscricoes/?mes=05&ano=2020). Informações gerais em https://prceu.usp.br/uspprofissoes/visitas-monitoradas/. Em 2018 recebemos nesse dia 150 estudantes (http://www5.each.usp.br/noticias/visita-monitorada-traz-150-estudantes-do-ensino-medio-ate-a-each/).
Este é o blog de relacionamento com alunos de Fábio Nakano.
Desejo testar se esta mídia facilita a comunicação e aprendizado de conteúdo.
Gostaria que vocès dessem notas mais altas para posts que ajudaram mais a entender o assunto (e não por outro critério, por exemplo o melhor escrito ou o mais "bonito")
fabionakano at usp dot br
Prédio A1, segundo andar - Sala 204E
Caso precise do mapa do Campus:http://each.uspnet.usp.br/site/mapa.php
Siga-me por email preenchendo a caixa abaixo.
quarta-feira, 11 de março de 2020
Visitas à EACH, Carreiras e Ingresso USP.
A visita monitorada à EACH-USP será no dia 08 de maio de 2020, com inscrição prévia – consultar site (https://prceu.usp.br/uspprofissoes/visitas-monitoradas-inscricoes/?mes=05&ano=2020). Informações gerais em https://prceu.usp.br/uspprofissoes/visitas-monitoradas/. Em 2018 recebemos nesse dia 150 estudantes (http://www5.each.usp.br/noticias/visita-monitorada-traz-150-estudantes-do-ensino-medio-ate-a-each/).
quinta-feira, 22 de agosto de 2019
links aula 22 de agosto
aula de 23.08: http://www.each.usp.br/digiampietri/SIN5013/02-complexidadeAssintotica.pdf
vocabulário para argumentação matemática: http://www.comp.uems.br/~fhna/ca/180613/Alguns%20termos.pdf
sábado, 3 de agosto de 2019
Exemplo 3 de algoritmo recursivo - "quebrando" o problema em dois, fazendo duas chamadas recursivas.
import java.lang.Exception;
|
| Java2html |
O aspecto mais relevante, neste momento da disciplina, é a sequência de invocações e retornos dos métodos. Neste exemplo particular é uma árvore binária.
Nesta solução, fazer duas invocações (chamadas) recursivas é uma possibilidade, idéia que pode ser notada como: prod(a,b)= prod (a,b/2) + prod (a,b/2) + ((b%2)==1)?a:0. Como notado em aula, esta solução é menos eficiente que a do exemplo 2. Através do cálculo da complexidade assintótica (assunto das próximas aulas) é possível mostrar que a função de complexidade de tempo desta solução pertence à mesma classe da função de complexidade da solução 1.
Exemplo 2 de algoritmo recursivo - "quebrando" o problema em dois.
import java.lang.Exception;
|
| Java2html |
O cálculo do produto pode ser feito "diminuindo o tamanho do problema de uma unidade" ié: prod(a,b) = a + prod (a, b-1), ou "diminuindo o tamanho do problema pela metade (e dobrando o valor)" ié: prod(a,b) = 2*prod(a,b/2) + ((b%2)==1)?a:0. O tempo de execução da primeira solução é proporcional ao valor de b, o da segunda é proporcional ao log de b na base 2.
Exemplo de recursão com impressão da pilha de execução
import java.lang.Exception;
|
| Java2html |
O objeto Exception e armazena uma representação da pilha de execução no momento em que é instanciado. Aproveito isso para imprimir a pilha de execução antes e depois de cada invocação (chamada) recursiva. Isto traz informação que permite "ver" a pilha de execução crescendo à medida em que as invocações são feitas e diminuindo à medida que as invocações retornam.
Exemplo de algoritmo recursivo: Cálculo de produto usando somas.
import java.lang.Exception;
|
| Java2html |
quinta-feira, 1 de agosto de 2019
quinta-feira, 11 de abril de 2019
11.04
public static void main(String args[]) {
int x=10;
int y=25;
int z=x+y;
System.out.println("Sum of x+y = " + z);
int[] v={98, 356, 67, -99, 67, 1, 3, 150, 8, 75};
imprime (v);
troca(v,10);
imprime (v);
menor(v);
imprime (v);
}
public static void imprime (int[] v) {
for(int i=0;i<v.length;i++) {
System.out.print (v[i] + " ");
}
System.out.println ();
}
public static void troca (int[] v, int t) {
int temp;
if (t<=v.length-2) {
temp=v[t];
v[t]=v[t+1];
v[t+1]=temp;
} else {
System.out.println ("t maior que o máximo.");
}
}
public static void menor (int[] v) {
for(int i=v.length-2;i>=0;i--) {
if (v[i+1]<v[i]) {
troca(v,i);
}
}
}
}
sexta-feira, 22 de março de 2019
aula 21.03.2019 3
public class MyClass { public static void main(String args[]) { int x=3; switch(x) { case 3: System.out.println ("mais que excelente"); for (int i=0; i<=10;i+=2) { System.out.println (i); } break; case 0: System.out.println("média"); break; case 1: System.out.println ("aprovado"); break; case 2: System.out.println ("excelente!"); break; case 4: System.out.println ("terminou"); break; default: System.out.println ("qq outra coisa"); } System.out.println ("aqui!!!"); } }
aula 21.03.2019 2
public class MyClass { public static void main(String args[]) { int x=10; int y=4; int z=x+y; if (z<10) { System.out.println("média"); } else if (z<15) { System.out.println ("aprovado"); } else if (z<18) { System.out.println ("excelente!"); } else { System.out.println ("mais que excelente"); } System.out.println ("terminou"); } }
aula 21.03.2019 1
public class MyClass { public static void main(String args[]) { int x=10; int y=4; int z=x+y; if (z<10) { System.out.println("média"); } else { if (z<15) { System.out.println ("aprovado"); } else { if (z<18) { System.out.println ("excelente!"); } else { System.out.println ("mais que excelente"); } } } System.out.println ("terminou"); } }
domingo, 24 de fevereiro de 2019
quinta-feira, 26 de abril de 2018
código aula 26.04
class MinhaClasse {
int valor;
MinhaClasse () {
}
MinhaClasse (int v) {
valor=v;
}
public static void main (String[] args) {
System.out.println ("Ola");
MinhaClasse m=null;
m = new MinhaClasse();
MinhaClasse n = m;
m = new MinhaClasse (55);
m.valor=31;
System.out.println (m.valor);
}
}
--------------------
OutraClasse.java
class OutraClasse extends MinhaClasse {
int valor;
int getValor () {
return super.valor;
}
public static void main (String[] args) {
System.out.println ("OutraClasse");
OutraClasse o = new OutraClasse();
o.valor=43;
System.out.println (o.valor);
System.out.println (o.getValor());
}
}
/*
* public
* package private
* protected
* private
* */
sexta-feira, 20 de abril de 2018
pènalti 3 - turma 3
public static void main(String args[]) {
// Gol golg = new Gol();
// Gol golc = new Gol();
// golg.inicializa();
// golc.inicializa();
Goleiro Cassio = new Goleiro (5,7);
Cassio.pula();
//Marcus.golg.imprime();
Batedor Neymar = new Batedor (5,7);
Neymar.chuta();
if (comparaGols(Neymar.golc, Cassio.golg)) {
System.out.println("UHHH");
} else {
System.out.println("GOLLL");
}
Cassio.golg.imprime();
System.out.println ();
Neymar.golc.imprime();
}
static boolean comparaGols(Gol a, Gol b) {
for (int linha = 0; linha < a.gol.length; linha++) {
for (int coluna = 0; coluna < a.gol[0].length; coluna++) {
if (a.gol[linha][coluna] != b.gol[linha][coluna])
return false;
}
}
return true;
}
}
class Batedor {
Gol golc;
Batedor (int l, int c) {
golc = new Gol (l,c);
}
void chuta () {
int linhac = (int) (Math.random() * golc.gol.length);
int colunac = (int) (Math.random() * golc.gol[0].length);
golc.gol[linhac][colunac] = 1;
}
}
class Goleiro {
Gol golg;
Goleiro (int l, int c) {
golg = new Gol (l,c);
}
void pula () {
int linhag = (int) (Math.random() * golg.gol.length);
int colunag = (int) (Math.random() * golg.gol[0].length);
golg.gol[linhag][colunag] = 1;
}
}
class Gol {
int[][] gol;
Gol (int l, int c) {
gol = new int[l][c];
}
void inicializa () {
for (int linha = 0; linha < gol.length; linha++) {
for (int coluna = 0; coluna < gol[linha].length; coluna++) {
gol[linha][coluna] = 0;
}
}
}
void imprime () {
for (int linha = 0; linha < gol.length; linha++) {
for (int coluna = 0; coluna < gol[linha].length; coluna++) {
System.out.printf(gol[linha][coluna] + "\t");
}
System.out.println();
}
}
}
sexta-feira, 13 de abril de 2018
penalti2 - Turma 3
Gol golg = new Gol();
Gol golc = new Gol();
golg.inicializa();
golc.inicializa();
Goleiro Cassio = new Goleiro ();
Cassio.pula();
//Marcus.golg.imprime();
Batedor Neymar = new Batedor ();
Neymar.chuta();
if (comparaGols(Neymar.golc, Cassio.golg)) {
System.out.println("UHHH");
} else {
System.out.println("GOLLL");
}
Cassio.golg.imprime();
System.out.println ();
Neymar.golc.imprime();
}
static boolean comparaGols(Gol a, Gol b) {
for (int linha = 0; linha < 2; linha++) {
for (int coluna = 0; coluna < 3; coluna++) {
if (a.gol[linha][coluna] != b.gol[linha][coluna])
return false;
}
}
return true;
}
}
class Batedor {
Gol golc = new Gol ();
void chuta () {
int linhac = (int) (Math.random() * 2);
int colunac = (int) (Math.random() * 3);
golc.gol[linhac][colunac] = 1;
}
}
class Goleiro {
Gol golg = new Gol();
void pula () {
int linhag = (int) (Math.random() * 2);
int colunag = (int) (Math.random() * 3);
golg.gol[linhag][colunag] = 1;
}
}
class Gol {
int[][] gol = new int[2][3];
void inicializa () {
for (int linha = 0; linha < 2; linha++) {
for (int coluna = 0; coluna < 3; coluna++) {
gol[linha][coluna] = 0;
}
}
}
void imprime () {
for (int linha = 0; linha < 2; linha++) {
for (int coluna = 0; coluna < 3; coluna++) {
System.out.printf(gol[linha][coluna] + "\t");
}
System.out.println();
}
}
}
penalti1-turma 3
public static void main(String args[]) {
int[][]
golg = new int[2][3];
int[][] golc = new int[2][3];
for (int linha = 0;
linha < 2; linha++) {
for (int coluna = 0; coluna < 3; coluna++) {
golg[linha][coluna] = 0;
golc[linha][coluna] = 0;
}
}
int linhag = (int) (Math.random() * 2);
int colunag = (int) (Math.random() * 3);
golg[linhag][colunag] = 1;
int linhac = (int) (Math.random() * 2);
int colunac =
(int) (Math.random() * 3);
golc[linhac][colunac] = 1;
if (linhag == linhac &&
linhag == colunag) {
System.out.println("UHHH");
} else {
System.out.println
("GOLLL");
}
for (int linha = 0; linha < 2; linha++) {
for (int coluna = 0;
coluna < 3; coluna++) {
System.out.printf(golg[linha][coluna] + "\t");
}
System.out.println();
}
for (int linha = 0; linha < 2; linha++) {
for (int
coluna = 0; coluna < 3; coluna++) {
System.out.printf(golc[linha][coluna] + "\t");
}
System.out.println();
}
}
}
sexta-feira, 6 de abril de 2018
Questionario 6 - Turma 03
public class MyClass {
public static void main(String args[]) {
int a = 0;
Scanner sc = new Scanner(System.in);
System.out.println("Você é um Iceberg?");
System.out.println("");
System.out.println("A seguir serão exibidas, separadamente, 10 afirmações, responda 1 se você concordar ou 0 se você discordar.");
System.out.println("");
System.out.println("As pessoas podem e devem resolver os seus próprios problemas.");
int q1 = sc.nextInt();
if (q1 == 1) {
a ++;
}
System.out.println("Em geral, eu filtro os telefonemas e só ligo de volta se for importante.");
int q2 = sc.nextInt();
if (q2 == 1) {
a ++;
}
System.out.println("Os outros dizem que eu não sou dos mais afetuosos.");
int q3 = sc.nextInt();
if (q3 == 1) {
a ++;
}
System.out.println("Eu não elogio as pessoas tanto quanto os demais.");
int q4 = sc.nextInt();
if (q4 == 1) {
a ++;
}
System.out.println("Eu me fecho mais quando estou perto de pessoas com as quais não me sinto muito à vontade.");
int q5 = sc.nextInt();
if (q5 == 1) {
a ++;
}
System.out.println("Demostrar comportamentos afáveis me deixa constrangido, mesmo entre pessoas mais próximas.");
int q6 = sc.nextInt();
if (q6 == 1) {
a ++;
}
System.out.println("Eu raramente penso no que poderia fazer por outra pessoa.");
int q7 = sc.nextInt();
if (q7 == 1) {
a ++;
}
System.out.println("Em geral, não faço questão de cumprimentar as pessoas, sobretudo as estranhas.");
int q8 = sc.nextInt();
if (q8 == 1) {
a ++;
}
System.out.println("Não é raro me perguntarem o que estou pensando, pois sou fechado.");
int q9 = sc.nextInt();
if (q9 == 1) {
a ++;
}
System.out.println("Não é responsabilidade minha ajudar os outros a terem orgulho de si próprios.");
int q10 = sc.nextInt();
if (q10 == 1) {
a ++;
}
System.out.println("Em uma escala de 0 a 10, onde 0 é a tendência menos provável de ser um iceberg e 10 a tendência mais provável de ser um iceberg, o seu resultado foi : " + a + "." );
}
}
Questionario 4 - Turma 03
import java.util.Scanner;
public class Ip {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
int vt = 0;
String r ="";
Scanner sc = new Scanner(System.in);
System.out.println("Responda sim ou não:");
System.out.println("As pessoas podem e devem resolver os seus problemas.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("As pessoas podem e devem resolver os seus problemas.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;}
System.out.println("Em geral, eu filtro os telefonemas e so ligo de volta se for importante.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Em geral, eu filtro os telefonemas e so ligo de volta se for importante.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Os outros dizem que eu nao sou dos mais afetuosos.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Os outros dizem que eu nao sou dos mais afetuosos.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Eu nao elogio as pessoas tanto quanto os demais.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Eu nao elogio as pessoas tanto quanto os demais.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Eu me fecho mais quando estou perto de pessoas com as quais nao me sinto muito a vontade.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Eu me fecho mais quando estou perto de pessoas com as quais nao me sinto muito a vontade.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Demonstrar comportamentos afaveis me deixa constrangido, mesmo entre pessoas mais proximas.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Demonstrar comportamentos afaveis me deixa constrangido, mesmo entre pessoas mais proximas.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Eu raramente penso no que eu poderia fazer por outra pessoa.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Eu raramente penso no que eu poderia fazer por outra pessoa.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Em geral, nao faco questao de cumprimentar as pessoas, sobretudo as estranhas.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Em geral, nao faco questao de cumprimentar as pessoas, sobretudo as estranhas.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Nao e raro me perguntarem o que estou pensando, pois sou fechado.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Nao e raro me perguntarem o que estou pensando, pois sou fechado.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("Nao e responsabilidade minha ajudar os outros a terem orgulho de si proprios.");
r = sc.nextLine();
r.toLowerCase();
if(r.equals("sim"))vt++;
while(!r.equals("sim") && !r.equals("nao")){
System.out.println("Resposta invalida, por favor responda sim ou nao");
System.out.println("Nao e responsabilidade minha ajudar os outros a terem orgulho de si proprios.");
r = sc.nextLine();
if(r.equals("sim"))vt++;
if(r.equals("x")) return;
}
System.out.println("De 0 a 10, sua tendencia a ser Iceberg é: " + vt);
}
}






