5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
Fundamentos da Programação 5:
• Atribuições especiais
• Arrays em Java
• Tipos de ciclos (while e do-while, for e foreach)
• Classes-pacote
Apresentação 5 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Nessa aula apresentamos um breve histórico sobre a linguagem, comparando com a linguagem C. O foco deste curso é oferecer novas ferramentas para quem já sabe um pouco de C e POO ( Java .. ).
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
Minicurso de Django 1.10 com a criação de um projeto completo em Django e conteúdos sobre:
Introdução a Python, Autenticação de usuários Django, Relacionamentos de classes do Django. Templates, etc.
5. Atribuições especiais; Arrays; Tipos de ciclos; Classes-pacote – Fundament...Manuel Menezes de Sequeira
Fundamentos da Programação 5:
• Atribuições especiais
• Arrays em Java
• Tipos de ciclos (while e do-while, for e foreach)
• Classes-pacote
Apresentação 5 da unidade curricular de Fundamentos de Programação da Universidade Europeia. Alterações de Manuel Menezes de Sequeira sobre versão original por vários autores do DCTI do ISCTE-IUL, incluindo Luís Nunes, Ricardo Ribeiro, André Santos e o próprio Manuel Menezes de Sequeira.
Nessa aula apresentamos um breve histórico sobre a linguagem, comparando com a linguagem C. O foco deste curso é oferecer novas ferramentas para quem já sabe um pouco de C e POO ( Java .. ).
Minicurso de Django - Desenvolvimento ágil web com Django e PythonGuilherme Garcia
Minicurso de Django 1.10 com a criação de um projeto completo em Django e conteúdos sobre:
Introdução a Python, Autenticação de usuários Django, Relacionamentos de classes do Django. Templates, etc.
Cap02 - Respostas dos Exercícios Propostos Cap01 - Respostas dos Exercícios P...Os Fantasmas !
Cap02 - Respostas dos Exercícios Propostos Cap01 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
Atividade - Letra da música "Tem Que Sorrir" - Jorge e MateusMary Alvarenga
A música 'Tem Que Sorrir', da dupla sertaneja Jorge & Mateus, é um apelo à reflexão sobre a simplicidade e a importância dos sentimentos positivos na vida. A letra transmite uma mensagem de superação, esperança e otimismo. Ela destaca a importância de enfrentar as adversidades da vida com um sorriso no rosto, mesmo quando a jornada é difícil.
Egito antigo resumo - aula de história.pdfsthefanydesr
O Egito Antigo foi formado a partir da mistura de diversos povos, a população era dividida em vários clãs, que se organizavam em comunidades chamadas nomos. Estes funcionavam como se fossem pequenos Estados independentes.
Por volta de 3500 a.C., os nomos se uniram formando dois reinos: o Baixo Egito, ao Norte e o Alto Egito, ao Sul. Posteriormente, em 3200 a.C., os dois reinos foram unificados por Menés, rei do alto Egito, que tornou-se o primeiro faraó, criando a primeira dinastia que deu origem ao Estado egípcio.
Começava um longo período de esplendor da civilização egípcia, também conhecida como a era dos grandes faraós.
LIVRO MPARADIDATICO SOBRE BULLYING PARA TRABALHAR COM ALUNOS EM SALA DE AULA OU LEITURA EXTRA CLASSE, COM FOCO NUM PROBLEMA CRUCIAL E QUE ESTÁ TÃO PRESENTE NAS ESCOLAS BRASILEIRAS. OS ALUNOS PODEM LER EM SALA DE AULA. MATERIAL EXCELENTE PARA SER ADOTADO NAS ESCOLAS
livro para professor da educação de jovens e adultos analisarem- do 4º ao 5º ano.
Livro integrado para professores da eja analisarem, como sugestão para ser adotado nas escolas que oferecem a educação de jovens e adultos.
Cap14 - Respostas dos Exercícios Propostos Livro Algoritmos e Programação de Computadores Autores JR., Dilermando
1. página: 1
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
C A P Í T U L O 1 4 - P o n t e i r o s
Exercício 1
A. VisuaAlg
A linguagem VisuAlg não permite o uso de ponteiros, exceto na passagem de parâmetros.
B. Pascal
var
px,py,pz:^integer;
begin
new(px);
2. página: 2
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
new(py);
new(pz);
px^=2;
py^=3;
pz^=px^+py^;
writeln(px^+py^);
writeln(px+py);
writeln(px^+py^);
writeln(pz^+pz);
writeln(pz^+pz^);
writeln(2*((px^)+(py^)));
end.
C. C
int x,y,z*px,*py,*pz;
x=2;
y=3;
z=x+y;
px=&x;
py=&y;
pz=&z;
printf(“x+y=%dn”, x+y);
printf("px+py=%dn",px+py);
printf(“*px+*py=%d”, *px+*py;
printf("z+pz=%dn", z+pz);
printf("z+*pz=%dn", z+(*pz));
printf(“2*(*px+*py)=%dn”, 2*(*px+*py));
printf(“*x=%dn”,*x);
D. Java
A linguagem Java só permite o uso de referências para objetos, sendo impossível acessar o valor
do endereço de memória e uso de ponteiros em tipos primitivos.
E. PHP
A linguagem PHP não permite o uso de ponteiros, exceto na passagem de parâmetros. Eu tenho
QUASE certeza que não é possível obter o valor da memória em php nakamiti, você consegue
passar por referencia só... Eu pesquisei pra caramba isso pois oq estou falando vai para dentro de
um livro e não quero fazer você passar vergonha kkkk
Exercício 2
3. página: 3
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
A. VisuaAlg
A linguagem VisuAlg não permite o uso de ponteiros, exceto na passagem de parâmetros.
B. Pascal
function incrementa (var valor:integer): integer;
{Poderíamos implementar também como procedimento?}
begin
valor:=valor+1;
incrementa:=valor;
end;
function dobra (var valor:integer): integer;
{Poderíamos implementar também como procedimento?}
begin
valor:=2*valor;
incrementa:=valor;
end;
C.
int incrementa (int *valor)
// Observe que o valor poderia ser passado por referência OU ser
retornado pela função.
{
return (++(*valor));
}
int dobra (int *valor)
// Poderíamos implementar a função dobra com tipo void?
{
*valor=2*(*valor);
return (*valor);
}
D. Java
Para que se faça a passagem por referência em Java é necessário encapsular o inteiro em uma
classe, ou utilizar a classe Integer em Java que já faz isso .
public void incrementa (Integer valor)
{
//Recria o objeto valor com o seu valor antigo + 1
valor = new Integer( ++valor.intValue());
}
4. página: 4
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
public void dobra(Integer valor)
{
//Recria o objeto valor com 2 x o seu valor antigo
valor = new Integer( 2 * valor.intValue());
}
E. PHP
function incrementa (&$valor)
{
return ($valor++);
}
function dobra (&$valor)
{
return $valor*=2;
}
Exercício 3 - Verifique que outros atributos você poderia incluir!
A. VisuaAlg
A linguagem VisuAlg não possui implementação de registros.
B. Pascal
type
livros = record
titulo: string;
autores: string;
editora: string;
ano: integer;
isbn: string;
preco:real;
quantidade: integer;
end;
type
produtos = record
codigo: integer;
nome: string;
descricao: string;
5. página: 5
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
tipo: integer;
cod_fabricante: integer;
preco:real;
quantidade: integer;
end;
C. C
struct livros {
char titulo[30];
char autores[50];
char editora[20];
int ano;
char isbn [20];
float preco;
int quantidade;
};
struct produtos {
int código;
char nome[30];
char descricao[40];
int tipo;
int cod_fabricante;
float preco;
int quantidade;
};
D. Java
public class Livros
{
public String titulo;
public String autores;
public String editora;
public int ano;
public String isbn;
public float preco;
public int quantidade;
//O construtor a seguir não é necessário mas facilita
//a inicialização do objeto
Livros(String titulo, String autores, String editora,
int ano, String isbn, float preco,
6. página: 6
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
int quantidade)
{
this.titulo = titulo;
this.autores = autores;
this.editora = editora;
this.ano = ano;
this.isbn = isbn;
this.preco = preco;
this.quantidade = quantidade;
}
}
public class Produtos
{
public int codigo;
public String nome;
public String descricao;
public int tipo;
public int cod_fabricante;
public float preco;
public int quantidade;
//O construtor a seguir não é necessário, mas
//facilita a inicialização do objeto
Produtos(int codigo, String nome, String descricao,
int tipo, int cod_fabricante, float preco,
int quantidade)
{
this.codigo = codigo;
this.nome = nome;
this.descricao = descricao;
this.tipo = tipo;
this.cod_fabricante = cod_fabricante;
this.preco = preco;
this.quantidade = quantidade;
}
}
E. PHP
7. página: 7
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
A linguagem PHP é fracamente tipada, ou seja, o tipo da variável é definido em tempo de execução de
acordo com que lhe é atribuído.
Strings em php não precisam de definição de tamanho.
class livros {
public $titulo;
public $autores;
public $editora;
public $ano;
public $isbn;
public $preco;
public $quantidade;
};
class produtos {
public $código;
public $nome;
public $descricao;
public $tipo;
public $cod_fabricante;
public $preco;
public $quantidade;
};
Exercício 4
A. VisuaAlg
A linguagem VisuAlg não possui implementação de registros.
B. Pascal
function idade(nasc:data, hoje:data);
var
id:integer;
begin
id:=hoje.ano-nasc.ano;
if (id<=0) then idade:=0;
else if (hoje.mes>nasc.mes) then idade:=id;
else if (hoje.mes=nasc.mes) then
if (hoje.dia>=nasc.dia) then idade:=id;
else idade:=id-1;
end;
procedure aniversario(M:integer,ncli:integer);
{Considero ncli sendo o numero de clientes,
8. página: 8
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
M o mês desejado e
cli o vetor global com os clientes. }
var
i:integer;
begin
for i:=1 to ncli do
if (cli[i].nascimento.mes=M) then
writeln(cli[i].nome);
end;
C. C
int idade (strict data nasc, struct data hoje)
{
int id;
id=hoje.ano–nasc.ano;
if (id<=0) return(0);
if (hoje.mes>nasc.mes) return(id);
if (hoje.mes==nasc.mes)
if (hoje.dia>=nasc.dia) return(id);
return(id-1);
}
void aniversario (int M, int ncli,struct clientes cli[]);
{
//Considero ncli sendo o numero de clientes
// e M o mês desejado
for(int i=0;i<ncli;i++)
if (cli[i].nascimento.mes==M)
printf(“Cliente:%sn”,cli[i].nome);
}
D. Java
//Dentro da classe Data já declarada
public class Data
{
public int dia;
public int mes;
public int ano;
//Método construtor, não é estritamente necessário
//mas facilita inicialização do objeto
Data()
9. página: 9
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
{
this.dia = 1;
this.mes = 1;
this.ano = 1900;
}
Data(int d, int m, int a)
{
this.dia = d;
this.mes = m;
this.ano = a
}
//Dentro da própria classe Data poderia existir um
//método para isso
public int idade(Data hoje)
{
int idade = hoje.ano - this.ano
if(idade < 0)
{
return 0;
}
if( hoje.mes < this.mes)
{
return idade-1;
}
if( hoje.mes == this.mes && hoje.dia < this.dia)
{
return idade-1;
}
return idade;
}
}
//Primeira versão do aniversário
public class Agenda
{
public static void aniversarios(int m, int ncli,
Cliente clientes[])
10. página: 10
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
{
//Considerando m o mes desejado, ncli o numero
//de clientes e clientes o vetor com os clientes
int i;
for(i = 0; i < ncli; i++)
{
if(clientes[i].nascimento.mes == m)
{
System.out.println( "Cliente: " +
clientes[i].nome );
}
}
}
}
//Segunda versão do aniversário
public class Agenda
{
Cliente clientes[];
int ncli;
//Caso não tenha se passado nada
//faz uma agenda com 100 clientes
Agenda()
{
this.clientes = new Cliente[100];
this.ncli = 100;
}
//Se não cria uam agenda com o tamanho passado
Agenda(int n)
{
this.clientes = new Cliente[n];
this.ncli = n;
}
public void aniversarios(int m)
{
//Considerando m o mes desejado, ncli o numero
//de clientes e clientes o vetor com os clientes
int i;
11. página: 11
Resposta dos Exercícios Propostos
Livro: Algoritmo e Programação de Computadores
Autores: Dilermando Piva Junior, Gilberto Shigueo Nakamiti, Angela de Mendonça
Engelbrecht e Francisco Bianchi.
Editora Campus / Elsevier, 2012.
for(i = 0; i < this.ncli ; i++)
{
if(this.clientes[i].nascimento.mes == m)
{
System.out.println( "Cliente: " +
this.clientes[i].nome );
}
}
}
}
E. PHP
function idade (data $nascimento, data $data_atual){
$idade = $data_atual->ano-$nascimento->ano;
if($idade<=0) return 0;
if($data_atual->mes > $nascimento->mes ) return $idade;
if($data_atual->mes == $nascimento->mes )
if($data_atual->dia >= $nascimento->dia ) return $idade;
return $idade-1;
}
Adoto $clientes como um array que contém objetos da classe cliente
function aniversario ($m, $ncli, $clientes) {
for ($i = 0; $i < $ncli; $i++){
if($clientes[$i]->nascimento->mês == $m)
print("Cliente: " . $clientes[$i]->nome . "n");
}
}