Conceitos básicos de
linguagens de programação
Na aula passada vimos
● O que é um algoritmo
Perguntas iniciais
● O que é um computador?
● Qual a diferença entre software e hardware? ● O que é um programa?
Como um programa diz ao computador o que fazer?
Como fazemos uma atividade do dia a dia? Que tal um bolo?
Temos que seguir uma receita/algoritmo
1. Adicione 4 ovos
2. Adicione uma xícara de desinfetante 3. Adicione 300g de farinha de trigo
4. Misture tudo e coloque num recipiente 5. Leve ao forno
Mas como dizer ao computador para executar esses
passos?
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
● Um linguagem que entendemos e que possa ser traduzida para a linguagem entendida pelo computador
00110101100 10010101100 00110101100 10010101100 Calcule a raiz quadrada de 4 ?
Como dar ordens para um computador?
Imagine que eu queira que o computador me responda qual é o dobro de um número
● Já sabemos que não adianta usar linguagens naturais
● Nem queremos a complexidade de ter de falar a língua do computador
● Precisamos de um meio termo!
Dando ordens ao computador
1. Leia numeroDeEntrada
2. Compute resposta como numeroDeEntrada vezes 2 3. Imprima resposta
Possível interpretação do programa anterior
1. Ler do teclado um valor numérico e armazenar em uma posição de memória chamada “numeroDeEntrada”
2. Calcular o produto do número armazenado no espaço de memória “numeroDeEntrada” por 2 e armazenar no
espaço de memória “resposta”
3. Imprimir no monitor do computador o valor numérico armazenado no espaço de memória “resposta”
Passos “grosseiros” para escrever um programa
1. Entender o problema 2. Planejar a lógica
3. Escrever o programa (programar)
4. Traduzir o programa para a linguagem de máquina (compilação)
5. Testar o programa
Compilação
Compilador Programa Código de máquina 1. Leia numeroDeEntrada 2. Compute resposta comonumeroDeEntrada vezes 2 3. Imprima resposta
00110101100100 01110010101100
Mas ainda não temos um programa!
É preciso criar uma língua mais precisa que o português e menos complicada que a língua que o computador entende
● Sintaxe
○ Palavras da língua ● Semântica
Cada linguagem tem sua própria sintaxe
e semântica
Sintaxe da linguagem de programação
Conjunto de regras formais para a composição de um texto na linguagem (programa) a partir do agrupamento de letras,
Semântica da linguagem de programação
● Diz respeito à significação. A semântica é o estudo do sentido dos significantes
● Em programação a semântica diz respeito ao significado de um programa sintaticamente válido
Exemplo
Exemplo em linguagem de programação
● Sintaxe: +
Um programa que é
sintaticamente
correto não
é necessariamente logicamente
(
semanticamente
) correto!
OK, mas como escrever o programa?
● Escolher uma linguagem de programação e estudar a sintaxe/semântica
Pseudo-português
● Descrição do que será executado pelo programa usando palavras em português
● Quase um programa!
○ Mais simples de criar e escrever
Exemplo 1
Escrever um programa para: 1. Ler um valor do teclado
2. Calcular o dobro desse valor 3. Imprimir na tela o resultado
Pseudo-português 1
numero x numero y leia x y = x * 2 imprima y● leia: comando que lê um valor do teclado ● = : comando que realiza um cálculo
Mais conceitos
● Variáveis
○ Entidade que armazena valores (de um determinado tipo de dado)
● Tipo de dado
○ Representam um grupo de valores ■ Numéricos (1, -8, 0, 187, -291, ...) ■ Textuais (“teste”, “Unibratec”, ...) ■ Lógicos (verdadeiro e falso)
Manipulando variáveis:
● Considerando as variáveis: ○ numero x
○ texto y
○ O comando = armazena valores em variáveis
x = 1
y = “João” Essas expressões
Cenas dos próximos capítulos
● Expressões ○ aritméticas (+, -, /, *) ○ lógicas (>, <, >=, <=, ==, !=, !) ● Estruturas de controle ○ Sequência ○ Seleção/Condição ○ RepetiçãoPrograma 1
Escrever um programa para:
1. Ler dois valores numéricos do teclado 2. Calcular o produto desses dois valores 3. Imprimir na tela o resultado
Programa 1
numero x numero y
imprima “digite o valor 1” leia x
imprima “digite o valor 2” leia y
numero r r = x * y imprima r
Programa 2 (Exercício)
Escreva um programa para 1. Ler 3 valores do teclado
2. Calcular a média aritmética desses valores 3. Imprimir a média na tela
Solução
numero x numero y numero zimprima “digite o valor 1” leia x
imprima “digite o valor 2” leia y
imprima “digite o valor 3” leia z
numero r
r = (x + y + z)/3 imprima r
Programa 3 (exercício)
Escreva um programa para: 1. Ler um nome do teclado
2. Escrever uma mensagem de saudação a. Ex: Olá João, seja bem vindo!
Solução
texto nome
imprima “digite o seu nome”
Conceitos básicos de Java
O que vimos até agora?
● Programa ● Linguagem de Programação ○ compilação ○ sintaxe ○ semântica ● Pseudo-português ● VariáveisVeremos agora
● Algoritmos ● Eclipse
● Estrutura de um programa Java ● Palavras chave
Algoritmos
Um algoritmo é um conjunto
ordenado
de
passos executáveis
não ambíguos
, definindo
Ambiguidade
● A informação sobre o estado* do programa em execução deve ser suficiente para determinar univocamente as
ações a serem tomadas a cada passo
● Não deve requerer criatividade, bastando a capacidade de seguir instruções
Algoritmo: alimentar os animais
● Conduza o leão e o coelho para seus refeitórios ● Alimente o coelho com cenoura
Conceito de algoritmo
Passos:
1. Ordenados
2. Não ambíguos 3. Que terminam
Exercício 1
Dados dois números quaisquer, as operações de soma, subtração e divisão são algoritmos?
Exercício 1
Dados dois números quaisquer, as operações de soma, subtração e divisão são algoritmos?
Resposta: não! a divisão pode nunca terminar! Ex: 1/3 = 0.333333...
Exercício 2
Em que sentido os passos descritos abaixo falham em construir um algoritmo?
1. Retire uma moeda do bolso e coloque sobre a mesa 2. Retorne ao passo 1
Vamos programar de verdade?
● Até aqui programamos em uma linguagem imaginária ● Vamos começar a programar em Java
Exemplo anterior
numero xnumero y
imprima “Digite um número” leia x y = x * 2 imprima y int x; int y; System.out.println("Digite um número"); Scanner teclado = new Scanner(System.in); x = teclado.nextInt();
y = (x * 2);
Pseudo-português
Mas esse “pedaço” de programa precisa estar
dentro de um programa
int x; int y;
System.out.println("Digite um número"); Scanner teclado = new Scanner(System.in); x = teclado.nextInt();
Estrutura mínima de um programa em Java
Nome do programaComentário
Não faz parte do programa
public class PrimeiroPrograma {
public static void main(String[] args) {
//o pedaço de programa vem aqui
} }
Palavras em azul são palavras da linguagem de Java. As chamadas palavras reservadas
Nosso primeiro programa em Java
import java.util.Scanner;
public class PrimeiroPrograma {
public static void main(String[] args) {
int x;
int y;
System.out.println("Digite um número"); Scanner teclado = new Scanner(System.in); x = teclado.nextInt();
Primeiro temos que preparar nosso ambiente
● Instalar o Java Development Kit (JDK) e o ambiente de desenvolvimento Eclipse
○ http://www.matera.com/br/2015/05/12/tutorial-instalaca
o-do-java-jdk-e-eclipse-no-windows/
● Depois que o ambiente estiver instalado, vamos criar um novo projeto Java no Eclipse
○ https://sites.google.com/site/logicaunibratec20171/hom
Exercicio
● Instalar o ambiente (Java + Eclipse) ● Criar um novo projeto
● Escrever o nosso primeiro programa ● Rodar e testar
Exercício (para casa)
Tente fazer os outros programas de pseudo-português em Java