Curso Completo de Algoritmos e
Lógica de Programação
Capítulo: Introdução à Programação
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Algoritmo, Automação,
Programa de Computador
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Algoritmo
Sequência finita de instruções para se resolver um
problema.
* aplica-se a diversas áreas de conhecimento
Exemplo:
Problema: lavar roupa suja
Algoritmo:
1) Colocar a roupa em um recipiente
2) Colocar um pouco de sabão e amaciante
3) Encher de água
4) Mexer tudo até dissolver todo o sabão
5) Deixar de molho por vinte minutos
6) Esfregar a roupa
7) Enxaguar
8) Torcer
Automação
Consiste em utilizar máquina(s) para executar o procedimento
desejado de forma automática ou semiautomática.
Algoritmo :
1) Colocar a roupa em um recipiente
2) Colocar um pouco de sabão e amaciante
3) Encher de água
4) Mexer tudo até dissolver todo o sabão
5) Deixar de molho por vinte minutos
6) Esfregar a roupa
7) Enxaguar
8) Torcer
Mas o que algoritmo e
automação tem a ver com
programação de computadores?
Computador
• Hardware - parte física (a máquina em si)
• Software - parte lógica (programas)
• Sistema operacional (Windows, Linux, Mac)
• Aplicativos (apps de escritório, app de câmera,
navegador web)
• Jogos
• Utilitários (Antivírus, compactador de arquivos)
• Outros
Programa ~ Algoritmo
Programas de computador são algoritmos executados pelo computador (em
linhas gerais).
Conclusão: o computador é uma máquina que automatiza a execução de
algoritmos.
Qualquer algoritmo? Não. Apenas algoritmos computacionais:
- Processamento de dados
- Cálculos
Resumo da aula
• Algoritmo: sequência finita de instruções para se resolver um problema
• Automação: quando uma máquina realiza o algoritmo • Computador:
• hardware / software
• máquina que automatiza algoritmos (de cálculo)
• Programa de computador: algoritmo executado pelo computador
O que é preciso para se fazer um
programa de computador?
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Vamos precisar de:
• Uma linguagem de programação: regras léxicas e sintáticas para se escrever
o programa
• Uma IDE: software para editar e testar o programa
• Um compilador: software para transformar o código fonte em código objeto
• Um gerador de código ou máquina virtual: software que permite que o
programa seja executado
Linguagem de programação,
léxica, sintática
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Vamos precisar de:
• Uma linguagem de programação: regras léxicas e sintáticas para se
escrever o programa
• Uma IDE: software para editar e testar o programa
• Um compilador: software para transformar o código fonte em código objeto
• Um gerador de código ou máquina virtual: software que permite que o
programa seja executado
Linguagem de programação
É um conjunto de regras léxicas (ortografia) e sintáticas (gramática)
para se escrever programas.
Léxica
Diz respeito à correção das palavras "isoladas" (ortografia).
Exemplo (Português): Linguagem de programação:
maim
cachorro main caxorro
Sintática
Diz respeito à correção das sentenças (gramática).
Exemplo (Português): Linguagem de programação:
O cachorro está com fome. x = 2 + y;
x = + 2 y;
A cachorro está com fome.
Linguagem de programação
Exemplos de linguagens de programação:
C, Pascal, C++, Java, C#, Python, Ruby, PHP, JavaScript, etc.
Exemplo de um programa:
Suponha um programa que solicita do usuário dois números e depois mostra a
média aritmética deles:
Digite o primeiro numero:
3
Digite o segundo numero:
6
Media = 4.5
Solução em linguagem C
Solução em linguagem C++
Solução em linguagem C#
Solução em linguagem Java
Resumo da aula
• Linguagem: conjunto de regras léxicas e sintáticas para se
escrever um programa
• Léxica = ortografia. Palavras isoladas.
• Sintática = gramática. Sentença como um todo.
• Exemplos de linguagens: C, Pascal, C++, Java, C#, Python, Ruby,
PHP, JavaScript, etc.
• Exemplo de códigos feitos em linguagem C, C++, C# e Java
IDE: Ambiente de
Desenvolvimento Integrado
http://educandoweb.com.br
Prof. Dr. Nelio Alves
IDE – Ambiente Integrado de
Desenvolvimento
É um conjunto de softwares utilizado para a construção de programas.
Exemplos:
C/C++ : Code Blocks
Java : Eclipse, NetBeans
C# : Microsoft Visual Studio
Funcionalidades de uma IDE
• Edição de código fonte (indentação, autocompletar, destaque de palavras,
etc.)
• Depuração e testes
• Construção do produto final (build)
• Sugestão de modelos (templates) • Auxiliar em várias tarefas do seu projeto
• Etc.
Resumo da aula
• IDE: é um conjunto de softwares utilizado para a construção de
programas
• C/C++ : Code Blocks
• Java : Eclipse, NetBeans
• C# : Microsoft Visual Studio
• Uma IDE oferece várias funcionalidades para facilitar a construção dos
programas
Compilação e interpretação
Código fonte e objeto Máquina
virtual
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Código fonte:é aquele escrito pelo programador em linguagem de programação
Compilação
Compilador: Gerador de código: compilaçãoconstrução (build)
Código Código Código
fonte objeto executável
análise léxica geração de
+ código
análise sintática
Exemplos de linguagem que tipicamente Execução
usam essa abordagem: C, C++
Vantagens
Compilação:
• velocidade do programa
• auxílio do compilador antes da execução
Abordagem híbrida
Interpretação:
• flexibilidade de manutenção do aplicativo em produção
• expressividade da linguagem
• código fonte não precisa ser recompilado para rodar em
plataformas diferentes
Código
Código fonte
fonte
Código executável Bytecod
(específico para o sistema Código e
operacional) (código
fonte precompil
ado)
Sistema Operacional
Interpret Máquin
ador a
(específic virtual
o para o (específic
sistema a para o
operacion sistema
al) operacion
al)
Sistema Sistema
Operaci Operaci
onal onal
Hardware Hardware Hardware
C / C++ PHP, Python, JavaScript Java, C#
Resumo da aula
• Tipos de código
• Código fonte
• Código objeto / bytecode • Modelos de execução:
• Compilação
• Gerador de código
• Interpretação
• Abordagem híbrida
• Máquina virtual
A linguagem "Portugol" e o
VisualG
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Linguagem "Portugol"
• Linguagem didática, simplificada, com objetivo didático para estudantes
de língua portuguesa
• Usada por autores de livros e professores há décadas
Exemplo linguagem C: Exemplo linguagem Portugol:
x, y, media : real
escreva(
"Digite o primeiro numero:
) "
leia(x)
escreva(
"Digite o segundo numero:
) "
leia(y)
media <- (x + y) / 2
escreva(
"Media =, "media)
Aprender a lógica Aprender a implementar a
lógica na linguagem X
x, y, media : real
escreva("Digite o primeiro numero: ")
leia(x)
escreva("Digite o segundo numero: ")
leia(y)
media <- (x + y) / 2
escreva("Media = ", media)
Portugol possui "dialetos"
• A sintaxe do "Portugol" varia um pouco de autor para autor (dialetos)
• A linguagem às vezes é referida por outro nome ("Português
estruturado", "Linguagem algorítmica", etc.)
x, y, media : real
escreva(
"Digite o primeiro numero:
) "
leia(x)
escreva(
"Digite o segundo numero:
) "
leia(y)
media <- (x + y) / 2
escreva(
"Media = , " media)
VisualG
• VisualG é uma IDE para editar e interpretar programas em Portugol
• Referências:
• http://www.apoioinformatica.inf.br/produtos/visualg
• Prof. Cláudio Morgado de Souza, Prof. Antonio Carlos Nicolodi
• ATENÇÃO:
• Portugol: linguagem (regras sintáticas)
• VisualG: ferramenta para escrever e interpretar programas
• Às vezes vamos nos referir à linguagem como "VisualG",
significando o dialeto do Portugol usado pelo VisualG.
Download e instalação do
VisualG
http://educandoweb.com.br
Prof. Dr. Nelio Alves
https://sourceforge.net/projects/visualg30/
Seu primeiro algoritmo escrito na
linguagem "Portugol", usando
VisualG
http://educandoweb.com.br
Prof. Dr. Nelio Alves
Algoritmo "primeiro"
Var
Área de declaração de variáveis
Inicio
Corpo do algoritmo escreva("Ola mundo!")
Fimalgoritmo