Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos...
Transcript of Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos...
![Page 1: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/1.jpg)
Introdução à Programação
Conceitos Básicos de
Programação
![Page 2: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/2.jpg)
2
Tópicos da Aula
Antes de aprender a programar, precisamos saber o que é um algoritmo
Definição de algoritmo
Usando algoritmos para resolver problemas
Depois precisamos saber o que é programação
Definição de Programa
Linguagens de Programação
Como o computador consegue entender um programa
![Page 3: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/3.jpg)
3
Conceito de Algoritmo
Um algoritmo é um conjunto ordenado finito de passos executáveis, não ambíguos , definindo um processo que tem um término
Um algoritmo representa a sequência de passos
necessários para realizar uma tarefa
Para realizar uma mesma tarefa podemos ter
diferentes algoritmos
![Page 4: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/4.jpg)
4
Algoritmo de Conversão de Celsius
para Farenheit
Um algoritmo é um conjunto ordenado finito de passos executáveis, não ambíguos , definindo um processo que tem um término
1. Divida o número 9 pelo número 5
2. Multiplique o resultado do passo 1 pela temperatura em graus Celsius dada
3. Some o número 32 ao resultado obtido no passo 2
1. Multiplique 9 pela temperatura em graus Celsius dada
2. Divida o resultado do passo 1 por 5
3. Some o número 32 ao resultado obtido no passo 2
Ordem diferente dos passos Algoritmos diferentes
![Page 5: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/5.jpg)
5
Contra-exemplo de Algoritmo
1.Retire uma moeda do bolso e coloque sobre mesa 2.Volte ao passo 1
Processo chega ao fim quando acaba as moedas do bolso
Um algoritmo é um conjunto ordenado finito de passos executáveis, não ambíguos , definindo um processo que tem um término
Nenhum passo indica sobre o procedimento a ser adotado quando acaba as moedas
Ambigüidade
![Page 6: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/6.jpg)
6
Algoritmo para Preparar um Bolo
Misture os ingredientes
Unte forma com manteiga
Despeje a mistura na forma
Tem coco ralado?
Despeje coco na mistura
Deixe a forma no forno
Dourou?
Tire do forno
Sim
Não
Sim
Pode necessitar decisões ou repetir passos
Diferentes formas de apresentar um
algoritmo
Não
![Page 7: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/7.jpg)
7
Usando Algoritmos para resolver
problemas
Problema: Torre de Hanoi Deve-se transportar todos os discos da primeira haste até a
última obedecendo as seguintes regras: 1. Só pode ser deslocado um disco por vez (o do topo de uma
haste) 2. Em nenhum momento um disco maior pode estar sobre um
menor
![Page 8: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/8.jpg)
8
Usando Algoritmos para resolver
problemas
Algoritmo para torre de Hanoi com 4 discos
![Page 9: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/9.jpg)
9
Algoritmo para a Torre de Hanoi com 4
Discos
1 2 3
1.Mova disco 1 para haste 2
1 2 3
![Page 10: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/10.jpg)
10
2.Mova disco 2 para haste 3
3.Mova disco 1 para haste 3
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 11: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/11.jpg)
11
4.Mova disco 3 para haste 2
5.Mova disco 1 para haste 1
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 12: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/12.jpg)
12
6.Mova disco 2 para haste 2
7.Mova disco 1 para haste 2
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 13: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/13.jpg)
13
8.Mova disco 4 para haste 3
9.Mova disco 1 para haste 3
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 14: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/14.jpg)
14
10.Mova disco 2 para haste 1
11.Mova disco 1 para haste 1
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 15: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/15.jpg)
15
12.Mova disco 3 para haste 3
13.Mova disco 1 para haste 2
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 16: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/16.jpg)
16
14.Mova disco 2 para haste 3
15.Mova disco 1 para haste 3
Algoritmo para a Torre de Hanoi com 4
Discos
![Page 17: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/17.jpg)
17
Programação de Computadores
Programação consiste no ato de indicar como o
computador (hardware) deve trabalhar ou realizar
serviços
Quais são os serviços que um computador pode
realizar?
Enviar mensagens eletrônicas, armazenar e recuperar
dados, realizar exames e cirurgias, jogar e muito outras
coisas
Para que o computador consiga realizar de fato estes
serviços, deve-se escrever um programa
![Page 18: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/18.jpg)
18
Programas
Programa pode ser definido como uma série de
instruções que indicam como o computador irá
realizar os serviços
O programa deve definir a ordem em que as
instruções devem ser executadas pelo computador
Um computador, geralmente, possui muitos
programas, que podem estar sendo executados ao
mesmo tempo
Como vimos, programas constituem o grupo de
softwares de um computador
Programa Software
![Page 19: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/19.jpg)
19
Algoritmos X Programas
Algoritmo é abstrato
Independe de máquina e de linguagem de
programação
Pode ser representado de várias formas
Pode ser feito por uma máquina ou um humano
Programa é uma implementação real do
algoritmo utilizando uma linguagem de
programação
É executado por um computador
![Page 20: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/20.jpg)
20
Algoritmos X Programas
![Page 21: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/21.jpg)
Atores e computadores
Do mesmo jeito que um ator de cinema precisa do roteiro de um filme para
poder encená-lo, um computador precisa de um programa para poder realizar
algum serviço.
21
![Page 22: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/22.jpg)
The troll gets Harry off its head and is
holding him by one leg, upside down. It
gears up its club and swipes at Harry. He
pulls himself up, then down. The troll
swipes again.
Harry:
Do something! {swipe}
Ron:
What? {swipe}
Harry:
Anything! Hurry up!
Ron grabs his wand. Under the sink,
Hermione waves her hand.
Hermione:
Swish and flick!
Roteiro de Harry Potter e a Pedra
Filosofal
Personagens, papéis
Instruções, falas, a serem executadas pelos atores
22
![Page 23: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/23.jpg)
Um roteiro pode ser executado mais de uma vez
Um ator pode exercer mais de um papel no mesmo filme, executando as instruções de cada um deles
Roteiro de Harry Potter e a Pedra
Filosofal
23
The troll gets Harry off its head and is
holding him by one leg, upside down. It
gears up its club and swipes at Harry. He
pulls himself up, then down. The troll
swipes again.
Harry:
Do something! {swipe}
Ron:
What? {swipe}
Harry:
Anything! Hurry up!
Ron grabs his wand. Under the sink,
Hermione waves her hand.
Hermione:
Swish and flick!
![Page 24: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/24.jpg)
Roteiro de Harry Potter e a Pedra
Filosofal
Além do texto em linguagem natural (inglês, português, etc.) o roteirista pode usar gravuras...
linguagem gráfica
24
![Page 25: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/25.jpg)
Roteiro de Harry Potter e a Pedra
Filosofal
...o que importa é que a linguagem usada pelo roteirista possa ser entendida pelos atores
25
![Page 26: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/26.jpg)
Roteiro de Harry Potter e a Pedra
Filosofal
O roteiro define a ordem em que as ações, falas e instruções devem acontecer...
26
![Page 27: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/27.jpg)
As observações sobre roteiros valem também para programas...
Roteiros e programas
Um programa contém instruções a serem executadas
por um computador
Quando solicitado, um computador executa as
instruções de um dado programa
O computador executa o programa
Um programa pode ser executado mais de uma vez
Um programa pode se comportar de maneira diferente
nas várias execuções...
dependendo do comportamento dos usuários, outros
programas, hardware, etc.
27
![Page 28: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/28.jpg)
Roteiros e programas
Um computador pode executar vários programas ao
mesmo tempo
Cópias de um mesmo programa podem ser
executadas em vários computadores ao mesmo
tempo
Para executar um programa, o computador tem que
ter uma cópia do programa
O programa tem que ser instalado ou carregado no
computador
Um programa define a ordem de execução das suas
instruções pelo computador
28
![Page 29: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/29.jpg)
Roteiros e programas
Mas, na verdade, um roteiro pode ser visto como vários programas, um para cada personagem, deixando claro como os personagens devem interagir.
As observações sobre roteiros valem também para programas...
29
![Page 30: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/30.jpg)
Filmes e sistemas
Do mesmo jeito que a encenação de um roteiro por vários atores “gera” um filme, a execução de um ou mais programas que
interagem constitui, junto com o hardware associado, um sistema computacional.
Sistema = Programas em execução, interagindo + Hardware
30
![Page 31: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/31.jpg)
Linguagens de Programação
Os programas têm que ser escritos em uma
linguagem de programação:
uma linguagem que pode ser entendida pelo computador
31
uma linguagem que pode ser traduzida para a linguagem
entendida pelo computador
10010010
10001110
a = 10;
a = a + 1; ? 10010010
10001110
![Page 32: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/32.jpg)
Sintaxe e Semântica
Uma linguagem de programação define as palavras e
símbolos que se pode usar para escrever um programa
Uma linguagem de programação emprega um conjunto
de regras (sintaxe) que estabelece como palavras e
símbolos podem ser agrupados de maneira a formar
instruções válidas de um programa
A semântica de uma instrução define o significado
desta instrução no programa
Um programa que é sintaticamente correto não é
necessariamente logicamente (semanticamente)
correto
32
![Page 33: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/33.jpg)
Níveis de Abstração de Linguagens
Linguagens de programação variam de acordo com o
seu nível de abstração
↑ conhecimento da máquina onde programa será executado
↓nível de abstração
↓ conhecimento da máquina onde programa será executado
↑nível de abstração
Linguagens podem ser classificadas em 4 níveis:
Linguagem de máquina
Linguagem de montagem (assembly)
Linguagem de alto nível (Java, C, Pascal, C++, etc)
Linguagem de 4ª geração (PL/SQL, NATURAL, MATLAB, etc)
33
![Page 34: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/34.jpg)
Níveis de Abstração de Linguagens
Cada tipo de CPU tem sua linguagem de máquina
específica
Instruções codificadas em binário
Dependente da máquina
Linguagem assembly é dependente da máquina,
porém utiliza palavras reservadas para codificar
instruções (mnemônicos)
Outros níveis são independentes de máquina e
facilitam leitura e escrita dos programas por parte do
ser humano
Complexidade atual de programas exigem cada vez mais o
emprego destas linguagens
34
![Page 35: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/35.jpg)
Como o computador entende um
programa?
Cada tipo de CPU executa apenas uma linguagem de
máquina particular
Deve-se traduzir um programa para a linguagem de
máquina
Um compilador é um programa que traduz um
programa escrito (código fonte) em uma determinada
linguagem de programação para outra linguagem
(linguagem destino) Se a linguagem destino for a de máquina, o programa pode,
depois de compilado, ser executado
Um interpretador é um programa que traduz instrução
por instrução de um programa em linguagem de
máquina e imediatamente executa a instrução 35
![Page 36: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/36.jpg)
Compilação x Interpretação
36
Compilação
a = 10;
a = a + 1; Compilador
10010010
10001110
Código- fonte Código de máquina
a = 10;
a = a + 1;
Interpretador
10010010
Código- fonte Código de máquina
10001110
Interpretação
![Page 37: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/37.jpg)
Compilação x Interpretação
Existem vários exemplos tanto de linguagens
interpretadas como de linguagens compiladas
A linguagem C é um exemplo de linguagem compilada
Java é uma linguagem de programação que utiliza um
processo híbrido de tradução
O compilador Java traduz o código-fonte em um formato
intermediário independente de máquina chamado bytecode
Interpretador Java específico da máquina onde irá rodar o
programa então traduz os bytecodes para linguagem de
máquina e executa o código
37
![Page 38: Conceitos Básicos de Programação - UFPEif669ec/aulas/aulaIP-AlgoritmosEProgram...Conceitos Básicos de Programação 2 Tópicos da Aula Antes de aprender a programar, precisamos](https://reader034.fdocuments.net/reader034/viewer/2022050508/5f98f5b88b97117c5d08ba1f/html5/thumbnails/38.jpg)
Resumindo...
Conceitos Básicos de Programação
Algoritmos
Programa
Linguagens de Programação
Compilação x Interpretação
38