Fazer download em docx, pdf ou txt
Fazer download em docx, pdf ou txt
Você está na página 1de 16

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:
main maim
cachorro
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
Código Códig
fonte o
objeto

usam essa abordagem: C, C++


(build)
análise léxica
+ análise sintática

Exemplos de linguagem que tipicamente


Abordagem híbrida
Compilador: Máquina virtual:
Código
Execução
fonte
Bytecode
precompilaçãointerpretação
análise léxica
+ geração de código
análise sintática
SOB DEMANDA

Exemplos de linguagem
que tipicamente
usam essa abordagem: Java (JVM), C# (Microsoft .NET Framework)
Vantagens
Compilação:
• velocidade do programa

• auxílio do compilador antes da execução

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 Abordagem híbrida
Códi
Código fonte go
fonte
Código executável Bytec
(específico para o ode
sistema operacional) Códi (códig
Sistema go o
Operacional fonte preco
mpilad
o)
Inter Máq
pret uina
ador virtu
(espec al
ífico (especí
para o fica
sistem para o
a sistem
opera a
cional operac
) ional)
Siste Siste
ma ma
Oper Oper
acion acion
al al

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

Você também pode gostar