SlideShare uma empresa Scribd logo
1 de 54
Baixar para ler offline
# Introdução à Computação #
Aula 09 – ALGORITMOS
(Linguagens de Programação)
Prof. Leinylson Fontinele Pereira
Na aula anterior...
 ALGORITMOS
# Lógica de Programação
# Álgebra booleana
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
O que vamos aprender?
 Será abordado, através da presente apresentação,
uma visão abrangente da sub-área da Ciência da
Computação denominada Linguagens de
Programação.
 Além disso, será apresentado o conjunto de
conhecimentos necessários para o desenvolvimento
dessas linguagens, um breve histórico das linguagens,
a relação com as disciplinas do curso e por fim, as
oportunidades no mercado de trabalho.
Linguagens de Programação
Histórico das linguagens
Conhecimentos necessários
O relacionamento com o curso
Mercado de trabalho
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Motivação!
 Num mundo com computadores cada vez mais
velozes, o que ainda afeta a produtividade?
 Porque existem tantas linguagens de
programação?
 Daqui a 10, 20, ou 100 anos, em que linguagem
você estará programando?
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Vamos começar?
10:08 5
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Linguagens de Programação
10:08
 Surgiram para descrever mecanismos abstratos
 Com o passar dos anos as linguagens de programação vêm
sendo criadas a partir dos defeitos de outras linguagens ou por
simples melhoria de desempenho e algumas designadas
apenas para alguma tarefa específica.
 Umas mais complexas que outras, mas todas com o mesmo
fim, solucionar algum problema.
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Linguagens de Programação
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
 Linguagens de programação (LP) são métodos
padronizados para expressar instruções para um
computador. São um conjunto de regras
sintáticas e semânticas usadas para definir um
programa de computador.
 Uma linguagem permite que um programador
especifique sobre quais dados um computador vai
atuar, como estes dados serão transmitidos ou
armazenados e quais ações devem ser tomadas
sob várias circunstâncias.
 O principal objetivo das linguagens é permitir que
programadores tenham uma maior produtividade,
podendo expressar suas intenções mais facilmente do
que quando comparado com a linguagem que um
computador entende nativamente (código de máquina).
 Portanto, linguagens de programação são projetadas
para adotar uma sintaxe de nível mais elevado, que
pode ser mais facilmente entendida por programadores
humanos. Enfim, elas são ferramentas importantes
para que programadores possam escrever programas
mais organizados e com maior rapidez.
Sintaxe e Semântica da LP
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
 Sintaxe: conjunto de regras formais
para a composição de um texto na
linguagem (programa) a partir do
agrupamento de letras, dígitos e/ou
caracteres (alfabeto da linguagem).
 A sintaxe é um conjunto de regras
formais para a escrita do programa.
 Semântica: diz respeito à significação.
Diz respeito ao significado do
programa sintaticamente válido.
 É parte do domínio da semântica
verificar esta coerência em termos de
significado linguístico e não em termos
de lógica de programa.
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Propriedades
desejáveis de
uma LP
Legibilidade
Está relacionada
com a facilidade
de leitura dos
códigos
Redigibilidade
Relaciona-se
com a
facilidade em
escrever
programas
Facilidade de
aprendizado
O programador deve ser
capaz de aprender a
linguagem com facilidade.
LPs com muitas
características e múltiplas
maneiras de realizar a
mesma funcionalidade
tendem a ser mais difíceis
de aprender
Eficiência
De acordo com as
demandas por
recursos de um tipo
de aplicação, certas
LPs são mais
recomendadas, e
outras não devem ser
usadas
Confiabilidade
Está relacionada
com os mecanismos
fornecidos pela LP
para incentivar a
construção de
programas
confiáveis
Ortogonalidade
Diz respeito a capacidade da
LP permitir ao programador
combinar seus conceitos
básicos sem que se produzam
efeitos irregulares nessa
combinação. Assim uma LP é
tão mais ortogonal quanto
menor for o número de
exceções aos seus padrões
regulares
Reusabilidade
Possibilita a reutilização do
mesmo código para diversas
aplicações. Quanto mais
reusável for um código, maior
será a produtividade de
programação, uma vez que, na
construção de novos
programas, bastará adaptar
códigos escritos anteriormente
sem a necessidade de
reconstruí-los
Modificabilidade
Refere-se às facilidades
oferecidas pela LP para
possibilitar ao programador
alterar o programa em
função de novos requisitos,
sem que tais modificações
impliquem mudanças em
outras partes do programa
Portabilidade
É altamente desejável que
programas escritos em uma
LP se comportem da mesma
maneira independentes da
ferramenta utilizada para
traduzi-los para a linguagem
de máquina ou da
arquitetura computacional
(hardware ou sistema
operacional) sobre a qual
estão sendo executados.
Conclusão
Dessa forma, não
existe a melhor ou
a pior LP, isso não
depende somente
da linguagem e sim
para que tipo de
projeto será
aplicado
Níveis das Linguagens de Programação
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Tipos de Programação
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Programação estruturada
• Programação estruturada é uma forma de programação de computadores que preconiza que todos os
programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e interação.
Programação orientada à objetos
• A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para
descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e
troca de mensagens entre estes objetos.
Programação natural
• É usado para distinguir as línguas faladas por seres humanos e usadas como instrumento de
comunicação daquelas que são linguagens formais construídas.
Programação lógica
• Programação lógica é a programação que faz uso da lógica matemática.
Interpretação X Compilação
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
 Nas linguagens interpretadas um programa é
executado instrução a instrução, ou seja, cada
comando é, primeiro traduzido para a
linguagem de máquina, para somente em
seguida, ser executado.
 Na interpretação as ações resultantes de
comandos da linguagem de alto nível são
executadas diretamente, seguindo os passos:
 Nas linguagens compiladas um programa é
executado somente quando toda a tradução foi
completada. A compilação de um programa fonte
prevê que o mesmo seja traduzido para a
linguagem da máquina correspondente antes da
execução.
Etapas Cria o Extensão
[1ª etapa] depuração
sintática
Programa fonte .C ou .CPP
[2ª etapa] geração de
código de máquina
relocável
Programa objeto .OBJ
[3ª etapa] linkage -
liga códigos e
funções de biblioteca
Programa executável .EXE
13
• Sistema de código ENIAC, Assembly, C-10
e Plankalkül.
Década de 1940
• FORTRAN, LISP, Basic, COBOL, etc.
1950 - 1960
• Pascal, C, Prolog, SQL, etc.
1967 - 1978
• C++, Perl, Ada, etc.
Década de 1980
• Haskell, Python, Java, Ruby, Common Lisp, JavaScript,
PHP, C#, Delphi, Ruby, etc.
Década de 1990
• C#, VB.net, etc.
Década de 2000
Histórico
14
O programador mediano sabe uma coisa porque ele precisa saber.
O bom programador sabe alguma coisa porque ele tem vontade de saber.
No English? No job.
15
Linguagens de Programação
A verdadeira (e única) linguagem de computador é a linguagem de
máquina (binária), mas para a maioria das pessoas essa linguagem é
ininteligível.
Os programadores precisam de um intermediário entre eles e a
máquina.
Uma linguagem que facilite o processo de programar computadores
mas que no final seja traduzida para a linguagem de máquina.
Linguagens de Programação
 ASSEMBLY
DOSSEG
.MODEL SMALL
EXTRN
_IntDivide:PROC
.CODE
PUBLIC _Average
_Average PROC
push bp
mov bp, sp
Les bx, [bp+4]
Mov cx, [bp+8]
mov ax, 0
AverageLoop:
add ax, es: [bx]
add bx, 2
Loop AverageLoop
push WORD PRG
[bp+8]
push ax
call _IntDivide
add sp, 4
pop bp
ret
_Average ENDP
END
Este programa calcula a média
de uma lista de números
Linguagem de
Baixo Nível
Linguagens de Programação
Pascal
Este programa calcula a divisão
de dois números quaisquer
program divisao;
var num, den: real;
begin
write(‘digite o numerador:’);
readln(num);
write(‘digite o denominador:’);
readln(den);
if den = 0 then
begin
write(‘numerador não pode ser
zero’);
exit;
end;
write(‘resultado da divisão’,
num/den);
end.
Linguagem de
Alto nível
Linguagens Visuais
• Delphi
Linguagens de programação
program divisao;
var num, den: real;
begin
write(‘digite o numerador:’);
readln(num);
write(‘digite o denominador:’);
readln(den);
if den = 0 then
begin
write(‘numerador não pode ser zero’);
exit;
end;
write(‘resultado da divisão’, num / den);
end.
Linguagens de programação
Linguagens de programação
Linguagens de programação
Linguagens de programação
Linguagens de programação
Linguagens de programação
10:08
Loop Infinito
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
10:08
Loop Infinito
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
10:08
Loop Infinito
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Qual é a melhor LP?
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Qual é a melhor LP?
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Olá Mundo!
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
O que é Ciência da Computação?
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Que Linguagens de Programação
você utiliza?
O que é Ciência da Computação?
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Top 20
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Considerações
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Considerações
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Top 20
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Top 20
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Top 20
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Ranking Completo
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Considerações
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Fontes da Pesquisa
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Material: https://sites.google.com/site/leinylsonuespi
10:08
Aula baseada no material de:
 Linguagens de programação, Prof. Gerson Cavalheiro
 Introdução à Informática, Prof. Edberto Ferneda
 Evolução e Futuro das Linguagens de Programação,
Alessandro Vasconcelos e Gladstone Ferreira
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Então...
 Num mundo com computadores cada vez mais
velozes, o que ainda afeta a produtividade?
 Porque existem tantas linguagens de
programação?
 Daqui a 10, 20, ou 100 anos, em que linguagem
você estará programando?
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
A questão da Produtividade
O hardware já é suficientemente poderoso por si só!
A produtividade se centra no Programador:
# Escrever programas corretamente
# Escrever programas rapidamente
# Escrever programas facilmente
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Por que tantas Linguagens de Programação?
Por que algumas pessoas falam inglês e outras português?
Linguagens de programação são desenvolvidas com diferentes
objetivos, para diferentes tipos de programas, por diferentes
pessoas.
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
O que o futuro nos reserva?
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Mas…
Nós ainda escreveremos
programas daqui a cem anos?
Não apenas diremos aos
computadores o que nós
estamos queremos fazer?
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Nesta aula aprendemos...
 ALGORITMOS
# Linguagens de Programação
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Na próxima aula veremos...
 Aula Prática de ALGORITMOS
# Simulando Operações com Portas Lógicas
10:08
I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
Alguma Dúvida?
10:08
Até a próxima aula...
leinylson@gmail.com

Mais conteúdo relacionado

Mais procurados

Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
essa
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
AlbertoVach
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
essa
 
Fundamentos da linguagem c
Fundamentos da linguagem cFundamentos da linguagem c
Fundamentos da linguagem c
Marcia Santana
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
essa
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
Ray Fran Pires
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
Sidney Roberto
 
Programação 1
Programação 1Programação 1
Programação 1
essa
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
12anogolega
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
LCCIMETRO
 
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoParadigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
Adriano Teixeira de Souza
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
Adriano Teixeira de Souza
 

Mais procurados (20)

Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguágens de programação
Linguágens de programaçãoLinguágens de programação
Linguágens de programação
 
Lp m2(parte1)
Lp m2(parte1)Lp m2(parte1)
Lp m2(parte1)
 
Linguagens de programação
Linguagens de programaçãoLinguagens de programação
Linguagens de programação
 
Fundamentos da linguagem c
Fundamentos da linguagem cFundamentos da linguagem c
Fundamentos da linguagem c
 
Linguagem de programação
Linguagem de programaçãoLinguagem de programação
Linguagem de programação
 
Linguagen..
Linguagen..Linguagen..
Linguagen..
 
Int. sistemas de informação iii
Int. sistemas de informação iiiInt. sistemas de informação iii
Int. sistemas de informação iii
 
02 historia da programação
02   historia da programação02   historia da programação
02 historia da programação
 
Conceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de ProgramaçãoConceitos Iniciais de Linguagens de Programação
Conceitos Iniciais de Linguagens de Programação
 
Programação 1
Programação 1Programação 1
Programação 1
 
Linguagens de Programação
Linguagens de ProgramaçãoLinguagens de Programação
Linguagens de Programação
 
Apostila linguagem pascal
Apostila linguagem pascalApostila linguagem pascal
Apostila linguagem pascal
 
Aula de C para Linux
Aula de C para LinuxAula de C para Linux
Aula de C para Linux
 
Aula 2 programas e linguagens de programação
Aula 2   programas e linguagens de programaçãoAula 2   programas e linguagens de programação
Aula 2 programas e linguagens de programação
 
Paradigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - IntroduçãoParadigmas de Linguagens de Programação - Introdução
Paradigmas de Linguagens de Programação - Introdução
 
Paradigmas de Linguagem
Paradigmas de LinguagemParadigmas de Linguagem
Paradigmas de Linguagem
 
Paradigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - ClassificaçõesParadigmas de Linguagens de Programação - Classificações
Paradigmas de Linguagens de Programação - Classificações
 
C hardware
C hardwareC hardware
C hardware
 

Destaque

Aula 10 11 - terceira dimensao
Aula 10 11 - terceira dimensaoAula 10 11 - terceira dimensao
Aula 10 11 - terceira dimensao
Fábio Costa
 

Destaque (20)

Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra ...
Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra ...Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra ...
Introdução à Computação Aula 08 - Algoritmos (Lógica de Programação, Álgebra ...
 
Estrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na práticaEstrutura de Dados - Aula de revisão de C na prática
Estrutura de Dados - Aula de revisão de C na prática
 
Pesquisa e Ordenação - Aula 06 - Métodos de Ordenação (Intercalação - Merge s...
Pesquisa e Ordenação - Aula 06 - Métodos de Ordenação (Intercalação - Merge s...Pesquisa e Ordenação - Aula 06 - Métodos de Ordenação (Intercalação - Merge s...
Pesquisa e Ordenação - Aula 06 - Métodos de Ordenação (Intercalação - Merge s...
 
Aula 10 11 - terceira dimensao
Aula 10 11 - terceira dimensaoAula 10 11 - terceira dimensao
Aula 10 11 - terceira dimensao
 
Pesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - ApresentaçãoPesquisa e Ordenação Aula 01 - Apresentação
Pesquisa e Ordenação Aula 01 - Apresentação
 
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
Sistemas de Telecomunicações - Aula 06 - Estrutura da rede pública de Telecom...
 
Pesquisa Operacional Aula apoio - Socieade Conectada
Pesquisa Operacional Aula apoio - Socieade ConectadaPesquisa Operacional Aula apoio - Socieade Conectada
Pesquisa Operacional Aula apoio - Socieade Conectada
 
Sistemas Cooperativos Aula apoio - Socieade Conectada
Sistemas Cooperativos Aula apoio - Socieade ConectadaSistemas Cooperativos Aula apoio - Socieade Conectada
Sistemas Cooperativos Aula apoio - Socieade Conectada
 
Sistemas de Telecomunicações - Aula 03 - Tendências das Telecomunicações no B...
Sistemas de Telecomunicações - Aula 03 - Tendências das Telecomunicações no B...Sistemas de Telecomunicações - Aula 03 - Tendências das Telecomunicações no B...
Sistemas de Telecomunicações - Aula 03 - Tendências das Telecomunicações no B...
 
Introdução à computação - Aula 10 - Redes de Computadores (Definições gerais,...
Introdução à computação - Aula 10 - Redes de Computadores (Definições gerais,...Introdução à computação - Aula 10 - Redes de Computadores (Definições gerais,...
Introdução à computação - Aula 10 - Redes de Computadores (Definições gerais,...
 
Sistemas de Telecomunicações Aula 02 - Histórico
Sistemas de Telecomunicações Aula 02 - HistóricoSistemas de Telecomunicações Aula 02 - Histórico
Sistemas de Telecomunicações Aula 02 - Histórico
 
Sistemas de Telecomunicações - Aula 15 - História da fibra óptica
Sistemas de Telecomunicações - Aula 15 - História da fibra ópticaSistemas de Telecomunicações - Aula 15 - História da fibra óptica
Sistemas de Telecomunicações - Aula 15 - História da fibra óptica
 
Pesquisa e Ordenação - Aula 10 - Métodos de Ordenação (Distribuição - Heap sort)
Pesquisa e Ordenação - Aula 10 - Métodos de Ordenação (Distribuição - Heap sort)Pesquisa e Ordenação - Aula 10 - Métodos de Ordenação (Distribuição - Heap sort)
Pesquisa e Ordenação - Aula 10 - Métodos de Ordenação (Distribuição - Heap sort)
 
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
Introdução à computação - Aula 11 - Banco de Dados (Definições gerais, SGBD)
 
Pesquisa e Ordenação - Aula 08 - Métodos de Ordenação (Shell sort)
Pesquisa e Ordenação - Aula 08 - Métodos de Ordenação (Shell sort)Pesquisa e Ordenação - Aula 08 - Métodos de Ordenação (Shell sort)
Pesquisa e Ordenação - Aula 08 - Métodos de Ordenação (Shell sort)
 
Sistemas de Telecomunicações - Aula 04 - Sistemas analógicos e sistemas digitais
Sistemas de Telecomunicações - Aula 04 - Sistemas analógicos e sistemas digitaisSistemas de Telecomunicações - Aula 04 - Sistemas analógicos e sistemas digitais
Sistemas de Telecomunicações - Aula 04 - Sistemas analógicos e sistemas digitais
 
Pesquisa e Ordenação - Trabalho Prático
Pesquisa e Ordenação - Trabalho PráticoPesquisa e Ordenação - Trabalho Prático
Pesquisa e Ordenação - Trabalho Prático
 
Pesquisa e Ordenação - Aula 09 - Métodos de Ordenação (Comparação de chaves -...
Pesquisa e Ordenação - Aula 09 - Métodos de Ordenação (Comparação de chaves -...Pesquisa e Ordenação - Aula 09 - Métodos de Ordenação (Comparação de chaves -...
Pesquisa e Ordenação - Aula 09 - Métodos de Ordenação (Comparação de chaves -...
 
Introdução à Computação Aula Revisão - 2ª Avaliação
Introdução à Computação Aula Revisão - 2ª AvaliaçãoIntrodução à Computação Aula Revisão - 2ª Avaliação
Introdução à Computação Aula Revisão - 2ª Avaliação
 
Sistemas de Telecomunicações - Aula 14 - Redes ATM, Ethernet, Token Ring e Re...
Sistemas de Telecomunicações - Aula 14 - Redes ATM, Ethernet, Token Ring e Re...Sistemas de Telecomunicações - Aula 14 - Redes ATM, Ethernet, Token Ring e Re...
Sistemas de Telecomunicações - Aula 14 - Redes ATM, Ethernet, Token Ring e Re...
 

Semelhante a Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)

Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
essa
 
Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdf
Gerhard Saboia
 
C a linguagem de programação
C   a linguagem de programaçãoC   a linguagem de programação
C a linguagem de programação
Andrei Bastos
 

Semelhante a Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação) (20)

Linguagens de programação 03-12-09
Linguagens de programação   03-12-09Linguagens de programação   03-12-09
Linguagens de programação 03-12-09
 
Linguagem da programação
Linguagem da programaçãoLinguagem da programação
Linguagem da programação
 
Plataforma net pdf
Plataforma net pdfPlataforma net pdf
Plataforma net pdf
 
Apostila c
Apostila cApostila c
Apostila c
 
Trabalho linguagem python
Trabalho linguagem  pythonTrabalho linguagem  python
Trabalho linguagem python
 
linguagens_de_programacao.ppt
linguagens_de_programacao.pptlinguagens_de_programacao.ppt
linguagens_de_programacao.ppt
 
Construção de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdfConstrução de compiladores - introducao Compilador.pdf
Construção de compiladores - introducao Compilador.pdf
 
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdfparadigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
paradigmasdlsksmmskskkekekekekedmmmdmdmmf.pdf
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
Cap02
Cap02Cap02
Cap02
 
joane
joane joane
joane
 
Aula01 - Analise e Programação
Aula01 - Analise e ProgramaçãoAula01 - Analise e Programação
Aula01 - Analise e Programação
 
Isc aula 7
Isc   aula 7Isc   aula 7
Isc aula 7
 
Mini Curso de C
Mini Curso de CMini Curso de C
Mini Curso de C
 
C a linguagem de programação
C   a linguagem de programaçãoC   a linguagem de programação
C a linguagem de programação
 
Apostila de C# & Asp.Net
Apostila de C# & Asp.NetApostila de C# & Asp.Net
Apostila de C# & Asp.Net
 
Aula 3 - Programação 1
Aula 3 - Programação 1Aula 3 - Programação 1
Aula 3 - Programação 1
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 
Jogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharpJogos pe logica_aplicada_apostila_c_sharp
Jogos pe logica_aplicada_apostila_c_sharp
 

Mais de Leinylson Fontinele

Mais de Leinylson Fontinele (20)

Utilização do editor de texto Word
Utilização do editor de texto WordUtilização do editor de texto Word
Utilização do editor de texto Word
 
Prática com slide.pptx
Prática com slide.pptxPrática com slide.pptx
Prática com slide.pptx
 
A galinha carijó
A galinha carijóA galinha carijó
A galinha carijó
 
Descrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzleDescrição do Projeto 8 puzzle
Descrição do Projeto 8 puzzle
 
Aula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramentoAula 05 - Importância do teste, auditoria e monitoramento
Aula 05 - Importância do teste, auditoria e monitoramento
 
Aula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurançaAula 04 - Implementação efetiva da política de segurança
Aula 04 - Implementação efetiva da política de segurança
 
Aula 02 - Agentes Inteligentes
Aula 02 - Agentes InteligentesAula 02 - Agentes Inteligentes
Aula 02 - Agentes Inteligentes
 
Aula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IAAula 01 - Visão Geral da IA
Aula 01 - Visão Geral da IA
 
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
Aula 02 - Aplicação de contramedidas de segurança para mitigar ataques malici...
 
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
Aula 03 - Controles de acesso apropriados para sistemas, aplicativos e acesso...
 
Aula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informaçõesAula 01 - Fundamentos da segurança dos sistemas de informações
Aula 01 - Fundamentos da segurança dos sistemas de informações
 
A história da Segurança da Informação
A história da Segurança da InformaçãoA história da Segurança da Informação
A história da Segurança da Informação
 
Introdução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. CostaIntrodução ao Prolog - Prof. Sérgio S. Costa
Introdução ao Prolog - Prof. Sérgio S. Costa
 
Caso 1 - Boing 777
Caso 1 - Boing 777Caso 1 - Boing 777
Caso 1 - Boing 777
 
Caso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de DenverCaso 2 - Aeroporto de Denver
Caso 2 - Aeroporto de Denver
 
Aula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de buscaAula 02 - Agentes e problemas de busca
Aula 02 - Agentes e problemas de busca
 
Aula 01 - Visão geral da IA
Aula 01 - Visão geral da IAAula 01 - Visão geral da IA
Aula 01 - Visão geral da IA
 
Aula 7 - Modelagem de Software
Aula 7 - Modelagem de SoftwareAula 7 - Modelagem de Software
Aula 7 - Modelagem de Software
 
Aula 6 - Qualidade de Software
Aula 6 - Qualidade de SoftwareAula 6 - Qualidade de Software
Aula 6 - Qualidade de Software
 
Aula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequenciaAula 07 - Diagrama de sequencia
Aula 07 - Diagrama de sequencia
 

Último

Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxSlide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
sfwsoficial
 

Último (20)

Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
Slides Lição 8, Betel, Ordenança para confessar os pecados e perdoar as ofens...
 
Conteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persaConteúdo sobre a formação e expansão persa
Conteúdo sobre a formação e expansão persa
 
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHASMARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
MARCHA HUMANA. UM ESTUDO SOBRE AS MARCHAS
 
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos AnimaisNós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
Nós Propomos! Canil/Gatil na Sertã - Amigos dos Animais
 
O que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditivaO que é uma Revolução Solar. tecnica preditiva
O que é uma Revolução Solar. tecnica preditiva
 
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º anoNós Propomos! Sertã 2024 - Geografia C - 12º ano
Nós Propomos! Sertã 2024 - Geografia C - 12º ano
 
Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024Semana Interna de Prevenção de Acidentes SIPAT/2024
Semana Interna de Prevenção de Acidentes SIPAT/2024
 
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdfEnunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
Enunciado_da_Avaliacao_1__Sistemas_de_Informacoes_Gerenciais_(IL60106).pdf
 
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptxSlide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
Slide Licao 4 - 2T - 2024 - CPAD ADULTOS - Retangular.pptx
 
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdfprova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
prova do exame nacional Port. 2008 - 2ª fase - Criterios.pdf
 
Campanha 18 de. Maio laranja dds.pptx
Campanha 18 de.    Maio laranja dds.pptxCampanha 18 de.    Maio laranja dds.pptx
Campanha 18 de. Maio laranja dds.pptx
 
análise obra Nós matamos o cão Tinhoso.pdf
análise obra Nós matamos o cão Tinhoso.pdfanálise obra Nós matamos o cão Tinhoso.pdf
análise obra Nós matamos o cão Tinhoso.pdf
 
APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.APH- Avaliação de cena , analise geral do ambiente e paciente.
APH- Avaliação de cena , analise geral do ambiente e paciente.
 
livro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensoriallivro para educação infantil conceitos sensorial
livro para educação infantil conceitos sensorial
 
CONCORDÂNCIA NOMINAL atividade ensino médio ead.pptx
CONCORDÂNCIA NOMINAL atividade ensino médio  ead.pptxCONCORDÂNCIA NOMINAL atividade ensino médio  ead.pptx
CONCORDÂNCIA NOMINAL atividade ensino médio ead.pptx
 
Apresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativosApresentação sobre Robots e processos educativos
Apresentação sobre Robots e processos educativos
 
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptxEB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
EB1 Cumeada Co(n)Vida à Leitura - Livros à Solta_Serta.pptx
 
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docxUnidade 4 (Texto poético) (Teste sem correção) (2).docx
Unidade 4 (Texto poético) (Teste sem correção) (2).docx
 
Livro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-criançasLivro infantil: A onda da raiva. pdf-crianças
Livro infantil: A onda da raiva. pdf-crianças
 
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdfAparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
Aparatologia na estética - Cavitação, radiofrequência e lipolaser.pdf
 

Introdução à Computação Aula 09 - Algoritmos (Linguagens de Programação)

  • 1. # Introdução à Computação # Aula 09 – ALGORITMOS (Linguagens de Programação) Prof. Leinylson Fontinele Pereira
  • 2. Na aula anterior...  ALGORITMOS # Lógica de Programação # Álgebra booleana 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 3. O que vamos aprender?  Será abordado, através da presente apresentação, uma visão abrangente da sub-área da Ciência da Computação denominada Linguagens de Programação.  Além disso, será apresentado o conjunto de conhecimentos necessários para o desenvolvimento dessas linguagens, um breve histórico das linguagens, a relação com as disciplinas do curso e por fim, as oportunidades no mercado de trabalho. Linguagens de Programação Histórico das linguagens Conhecimentos necessários O relacionamento com o curso Mercado de trabalho I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 4. Motivação!  Num mundo com computadores cada vez mais velozes, o que ainda afeta a produtividade?  Porque existem tantas linguagens de programação?  Daqui a 10, 20, ou 100 anos, em que linguagem você estará programando? I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 5. Vamos começar? 10:08 5 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 6. Linguagens de Programação 10:08  Surgiram para descrever mecanismos abstratos  Com o passar dos anos as linguagens de programação vêm sendo criadas a partir dos defeitos de outras linguagens ou por simples melhoria de desempenho e algumas designadas apenas para alguma tarefa específica.  Umas mais complexas que outras, mas todas com o mesmo fim, solucionar algum problema. I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 7. Linguagens de Programação 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)  Linguagens de programação (LP) são métodos padronizados para expressar instruções para um computador. São um conjunto de regras sintáticas e semânticas usadas para definir um programa de computador.  Uma linguagem permite que um programador especifique sobre quais dados um computador vai atuar, como estes dados serão transmitidos ou armazenados e quais ações devem ser tomadas sob várias circunstâncias.  O principal objetivo das linguagens é permitir que programadores tenham uma maior produtividade, podendo expressar suas intenções mais facilmente do que quando comparado com a linguagem que um computador entende nativamente (código de máquina).  Portanto, linguagens de programação são projetadas para adotar uma sintaxe de nível mais elevado, que pode ser mais facilmente entendida por programadores humanos. Enfim, elas são ferramentas importantes para que programadores possam escrever programas mais organizados e com maior rapidez.
  • 8. Sintaxe e Semântica da LP 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)  Sintaxe: conjunto de regras formais para a composição de um texto na linguagem (programa) a partir do agrupamento de letras, dígitos e/ou caracteres (alfabeto da linguagem).  A sintaxe é um conjunto de regras formais para a escrita do programa.  Semântica: diz respeito à significação. Diz respeito ao significado do programa sintaticamente válido.  É parte do domínio da semântica verificar esta coerência em termos de significado linguístico e não em termos de lógica de programa.
  • 9. 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação) Propriedades desejáveis de uma LP Legibilidade Está relacionada com a facilidade de leitura dos códigos Redigibilidade Relaciona-se com a facilidade em escrever programas Facilidade de aprendizado O programador deve ser capaz de aprender a linguagem com facilidade. LPs com muitas características e múltiplas maneiras de realizar a mesma funcionalidade tendem a ser mais difíceis de aprender Eficiência De acordo com as demandas por recursos de um tipo de aplicação, certas LPs são mais recomendadas, e outras não devem ser usadas Confiabilidade Está relacionada com os mecanismos fornecidos pela LP para incentivar a construção de programas confiáveis Ortogonalidade Diz respeito a capacidade da LP permitir ao programador combinar seus conceitos básicos sem que se produzam efeitos irregulares nessa combinação. Assim uma LP é tão mais ortogonal quanto menor for o número de exceções aos seus padrões regulares Reusabilidade Possibilita a reutilização do mesmo código para diversas aplicações. Quanto mais reusável for um código, maior será a produtividade de programação, uma vez que, na construção de novos programas, bastará adaptar códigos escritos anteriormente sem a necessidade de reconstruí-los Modificabilidade Refere-se às facilidades oferecidas pela LP para possibilitar ao programador alterar o programa em função de novos requisitos, sem que tais modificações impliquem mudanças em outras partes do programa Portabilidade É altamente desejável que programas escritos em uma LP se comportem da mesma maneira independentes da ferramenta utilizada para traduzi-los para a linguagem de máquina ou da arquitetura computacional (hardware ou sistema operacional) sobre a qual estão sendo executados. Conclusão Dessa forma, não existe a melhor ou a pior LP, isso não depende somente da linguagem e sim para que tipo de projeto será aplicado
  • 10. Níveis das Linguagens de Programação 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 11. Tipos de Programação 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação) Programação estruturada • Programação estruturada é uma forma de programação de computadores que preconiza que todos os programas possíveis podem ser reduzidos a apenas três estruturas: sequência, decisão e interação. Programação orientada à objetos • A análise e projeto orientados a objetos têm como meta identificar o melhor conjunto de objetos para descrever um sistema de software. O funcionamento deste sistema se dá através do relacionamento e troca de mensagens entre estes objetos. Programação natural • É usado para distinguir as línguas faladas por seres humanos e usadas como instrumento de comunicação daquelas que são linguagens formais construídas. Programação lógica • Programação lógica é a programação que faz uso da lógica matemática.
  • 12. Interpretação X Compilação 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)  Nas linguagens interpretadas um programa é executado instrução a instrução, ou seja, cada comando é, primeiro traduzido para a linguagem de máquina, para somente em seguida, ser executado.  Na interpretação as ações resultantes de comandos da linguagem de alto nível são executadas diretamente, seguindo os passos:  Nas linguagens compiladas um programa é executado somente quando toda a tradução foi completada. A compilação de um programa fonte prevê que o mesmo seja traduzido para a linguagem da máquina correspondente antes da execução. Etapas Cria o Extensão [1ª etapa] depuração sintática Programa fonte .C ou .CPP [2ª etapa] geração de código de máquina relocável Programa objeto .OBJ [3ª etapa] linkage - liga códigos e funções de biblioteca Programa executável .EXE
  • 13. 13 • Sistema de código ENIAC, Assembly, C-10 e Plankalkül. Década de 1940 • FORTRAN, LISP, Basic, COBOL, etc. 1950 - 1960 • Pascal, C, Prolog, SQL, etc. 1967 - 1978 • C++, Perl, Ada, etc. Década de 1980 • Haskell, Python, Java, Ruby, Common Lisp, JavaScript, PHP, C#, Delphi, Ruby, etc. Década de 1990 • C#, VB.net, etc. Década de 2000 Histórico
  • 14. 14
  • 15. O programador mediano sabe uma coisa porque ele precisa saber. O bom programador sabe alguma coisa porque ele tem vontade de saber. No English? No job. 15
  • 16. Linguagens de Programação A verdadeira (e única) linguagem de computador é a linguagem de máquina (binária), mas para a maioria das pessoas essa linguagem é ininteligível. Os programadores precisam de um intermediário entre eles e a máquina. Uma linguagem que facilite o processo de programar computadores mas que no final seja traduzida para a linguagem de máquina.
  • 17. Linguagens de Programação  ASSEMBLY DOSSEG .MODEL SMALL EXTRN _IntDivide:PROC .CODE PUBLIC _Average _Average PROC push bp mov bp, sp Les bx, [bp+4] Mov cx, [bp+8] mov ax, 0 AverageLoop: add ax, es: [bx] add bx, 2 Loop AverageLoop push WORD PRG [bp+8] push ax call _IntDivide add sp, 4 pop bp ret _Average ENDP END Este programa calcula a média de uma lista de números Linguagem de Baixo Nível
  • 18. Linguagens de Programação Pascal Este programa calcula a divisão de dois números quaisquer program divisao; var num, den: real; begin write(‘digite o numerador:’); readln(num); write(‘digite o denominador:’); readln(den); if den = 0 then begin write(‘numerador não pode ser zero’); exit; end; write(‘resultado da divisão’, num/den); end. Linguagem de Alto nível
  • 20. Linguagens de programação program divisao; var num, den: real; begin write(‘digite o numerador:’); readln(num); write(‘digite o denominador:’); readln(den); if den = 0 then begin write(‘numerador não pode ser zero’); exit; end; write(‘resultado da divisão’, num / den); end.
  • 27. 10:08 Loop Infinito I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 28. 10:08 Loop Infinito I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 29. 10:08 Loop Infinito I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 30. Qual é a melhor LP? 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 31. Qual é a melhor LP? 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 32. Olá Mundo! 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 33. O que é Ciência da Computação? 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 34. 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 35. 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação) Que Linguagens de Programação você utiliza?
  • 36. O que é Ciência da Computação? 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 37. Top 20 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 38. Considerações 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 39. Considerações 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 40. Top 20 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 41. Top 20 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 42. Top 20 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 43. Ranking Completo 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 44. Considerações 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 45. Fontes da Pesquisa 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 46. Material: https://sites.google.com/site/leinylsonuespi 10:08 Aula baseada no material de:  Linguagens de programação, Prof. Gerson Cavalheiro  Introdução à Informática, Prof. Edberto Ferneda  Evolução e Futuro das Linguagens de Programação, Alessandro Vasconcelos e Gladstone Ferreira I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 47. Então...  Num mundo com computadores cada vez mais velozes, o que ainda afeta a produtividade?  Porque existem tantas linguagens de programação?  Daqui a 10, 20, ou 100 anos, em que linguagem você estará programando? I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 48. A questão da Produtividade O hardware já é suficientemente poderoso por si só! A produtividade se centra no Programador: # Escrever programas corretamente # Escrever programas rapidamente # Escrever programas facilmente I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 49. Por que tantas Linguagens de Programação? Por que algumas pessoas falam inglês e outras português? Linguagens de programação são desenvolvidas com diferentes objetivos, para diferentes tipos de programas, por diferentes pessoas. I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 50. O que o futuro nos reserva? I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 51. Mas… Nós ainda escreveremos programas daqui a cem anos? Não apenas diremos aos computadores o que nós estamos queremos fazer? I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 52. Nesta aula aprendemos...  ALGORITMOS # Linguagens de Programação 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 53. Na próxima aula veremos...  Aula Prática de ALGORITMOS # Simulando Operações com Portas Lógicas 10:08 I.C.C.: Aula 09 – ALGORITMOS (Linguagens de Programação)
  • 54. Alguma Dúvida? 10:08 Até a próxima aula... leinylson@gmail.com