- Funções
- Variáveis
- Declarações e Expressões
Vejamos um código simples que imprime a mensagem "Olá, Mundo" -
Diferença Linguagens C, C ++ e Java
C
C é uma linguagem de programação de uso geral, estruturada, procedimental e de alto nível desenvolvida por Dennis MacAlistair Ritchie em 1972 na Bell Laboratories. O sucessor da linguagem C foi a CPL (Combined Programming Language). É usado principalmente para a programação do sistema, como para desenvolver o sistema operacional, drivers, compiladores, etc.
O exemplo mais conhecido de sistema operacional desenvolvido em linguagem C é o Unix e o Linux.
Características da linguagem C
C ++
C ++ é uma linguagem de programação orientada a objetos e de propósito geral desenvolvida por Bjarne Stroustrup na Bell Labs em 1979. É baseada na linguagem C ou podemos dizer que é uma extensão da linguagem C. É usado para desenvolver aplicativos de alto desempenho.
Recursos da linguagem C ++
Java
Java também é uma linguagem de programação orientada a objetos, baseada em classes, estática, forte, robusta, segura e de alto nível. Foi desenvolvido por James Gosling em 1995. É compilado e interpretado por bot. É usado para desenvolver aplicativos corporativos, móveis e baseados na web.
Recursos do Java
A figura a seguir demonstra que C ++ é baseado na linguagem C e Java é baseado na linguagem C ++ e C.
Característica |
C |
C++ |
Java |
Origem |
baseada em BCPL |
baseada na linguagem C |
baseada em C e C ++ |
Padrão de programação |
Linguagem procedural |
Linguagem orientada a objetos |
Linguagem orientada a objetos |
Estaticidade |
Estática |
Estática |
Dinâmica |
Execução do código |
Executado diretamente |
Executado diretamente |
Executado pela JVM |
Dependência da plataforma |
Depende da plataforma |
Depende da plataforma |
É independente de plataforma |
Tradução |
Usa um compilador apenas para traduzir o código em linguagem de máquina |
Usa um compilador apenas para traduzir o código em linguagem de máquina |
Java usa compilador e interpretador |
Tipo de ficheiros |
Arquivos .exe |
Arquivos .exe |
Arquivo .class |
Extensão |
Extensão .c |
Extensão .cpp |
Extensão .cpp |
Conceito de ponteiro |
Oferece suporte a ponteiro |
Oferece suporte a ponteiro |
Não oferece suporte |
União e tipo de dados de estrutura |
Oferece suporte |
Oferece suporte |
Não oferece suporte |
Tratamento de exceções |
Não oferece suporte |
Oferece suporte |
Oferece suporte |
Gestão da memória |
Usa os métodos calloc (), malloc (), free () e realloc () |
Usa o operador new e delete |
Usa um coletor de lixo |
Instrução goto |
Oferece suporte |
Oferece suporte |
Não suporta |
Aplicação |
É amplamente usado para desenvolver drivers e sistemas operacionais |
É amplamente utilizado para programação de sistema |
Desenvolver aplicativos da web, aplicativos móveis e aplicativos do
Windows |
Tamanho da matriz |
Uma matriz deve ser declarada com tamanho |
Matriz deve ser declarada com tamanho |
Pode ser declarada sem declarar o tamanho |
Referências
https://www.javatpoint.com/c-vs-cpp-vs-java
https://leverageedu.com/blog/hi/difference-between-c-and-java/
https://www.educba.com/c-vs-java/
Objectivos
No final da disciplina, o estudante deverá:
Plano Temático
ü Panorâmica e breve
história da IA
ü Resolução de problemas
ü Representação do
Conhecimento e Raciocínio
ü Planeamento
ü Aprendizagem Automática
ü Incerteza e raciocínio probabilístico
ü Futuro da Inteligência Artificial e problemas filosóficos
Plano analítico
Apresentação dos alunos e do professor Considerações sobre a cadeira Panorâmica e breve história da IA - Resenha histórica da IA e aplicações - Conceito de IA e inteligência computacional - Paradigmas e aproximações - Agentes |
Resolução de problemas - Agentes e problemas de procura - Procura cega, Procura heurística (informada) em espaços de estados, Procura local e problemas de otimização, Procura com Adversários (Jogos) - Agentes adaptativos - Problemas de Satisfação de Restrições |
Representação do Conhecimento e
Raciocínio - Agentes lógicos - Lógica Proposicional - Lógica de Predicados de Primeira Ordem - Conhecimento de senso comum e lógicas não-monótonas - Lógica de Predicados de Primeira Ordem - Programação em Lógica e Programação por Conjuntos de Resposta Tipos recursivos |
Planeamento - Agentes planeadores - Representação de problemas de planeamento clássicos - Linguagens de planeamento - GRAPHPLAN |
Aprendizagem Automática - Agentes aprendizes. Abordagens ao problema da aprendizagem - Aprendizagem conceptual e indutiva |
Incerteza e raciocínio probabilístico - Planeamento proposicional - Teoria das Probabilidades e Regra de Bayes |
Aproximações alternativas (teoria da evidência, conjuntos vagos, regras) |
Estratégia e Metodologia
As aulas desta disciplina serão de carácter teórico pratica, não fugindo a regra geral com maior incidência para a componente prática, as aulas serão abordadas duma forma aberta onde o estudante será o principal protagonista, tomando a iniciativa e dirigindo a própria aula, sempre com o acompanhamento do professor.
Bibliografia
The adopted book in this course is [Stuart Russell & Peter
Norvig, 2003]. Some specific topics are covered only in the Portuguese book
[Costa & Simões, 2004]. The remaining books are optional readings.
Recomendada
1. Stuart Russel and Peter Norvig. Artificial Intelligence. A Modern
Approach, 2nd edition. Prentice-Hall,
Inc., 2003
Ernesto Costa e Anabela Simões. Inteligência
Artificial. Fundamentos e Aplicações. FCA, 2004
Complemantar
Matt
Ginsberg. Essentials of Artificial Intelligence. Morgan Kaufmann Publishers,
1994
Nils
J. Nilson. Artificial Intelligence: A new synthesis. Morgan Kaufmann
Publishers, 1998.
Inteligência Artificial
Exercicios
Individualmente
ou em grupos de 2 elementos lê e responda o questionário de forma clara.
“Inteligência
natural ou simplesmente Inteligência, é um conceito muito amplo, controverso e
que ainda não é totalmente compreendido.”