• Nenhum resultado encontrado

Conceitos básicos de linguagens de programação

N/A
N/A
Protected

Academic year: 2021

Share "Conceitos básicos de linguagens de programação"

Copied!
51
0
0

Texto

(1)

Conceitos básicos de

linguagens de programação

(2)

Na aula passada vimos

● O que é um algoritmo

(3)

Perguntas iniciais

● O que é um computador?

Qual a diferença entre software e hardware? ● O que é um programa?

(4)

Como um programa diz ao computador o que fazer?

Como fazemos uma atividade do dia a dia? Que tal um bolo?

(5)

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

(6)

Mas como dizer ao computador para executar esses

passos?

(7)

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 ?

(8)
(9)

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!

(10)

Dando ordens ao computador

1. Leia numeroDeEntrada

2. Compute resposta como numeroDeEntrada vezes 2 3. Imprima resposta

(11)

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”

(12)

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

(13)

Compilação

Compilador Programa Código de máquina 1. Leia numeroDeEntrada 2. Compute resposta como

numeroDeEntrada vezes 2 3. Imprima resposta

00110101100100 01110010101100

(14)

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

(15)

Cada linguagem tem sua própria sintaxe

e semântica

(16)

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,

(17)

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

(18)

Exemplo

(19)

Exemplo em linguagem de programação

● Sintaxe: +

(20)

Um programa que é

sintaticamente

correto não

é necessariamente logicamente

(

semanticamente

) correto!

(21)

OK, mas como escrever o programa?

● Escolher uma linguagem de programação e estudar a sintaxe/semântica

(22)

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

(23)

Exemplo 1

Escrever um programa para: 1. Ler um valor do teclado

2. Calcular o dobro desse valor 3. Imprimir na tela o resultado

(24)

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

(25)

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)

(26)

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

(27)

Cenas dos próximos capítulos

● Expressões ○ aritméticas (+, -, /, *) ○ lógicas (>, <, >=, <=, ==, !=, !) ● Estruturas de controle ○ Sequência ○ Seleção/Condição ○ Repetição

(28)

Programa 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

(29)

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

(30)

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

(31)

Solução

numero x numero y numero z

imprima “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

(32)

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!

(33)

Solução

texto nome

imprima “digite o seu nome”

(34)

Conceitos básicos de Java

(35)

O que vimos até agora?

● Programa ● Linguagem de Programação ○ compilação ○ sintaxe ○ semântica ● Pseudo-português ● Variáveis

(36)

Veremos agora

● Algoritmos ● Eclipse

● Estrutura de um programa Java ● Palavras chave

(37)

Algoritmos

Um algoritmo é um conjunto

ordenado

de

passos executáveis

não ambíguos

, definindo

(38)

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

(39)

Algoritmo: alimentar os animais

● Conduza o leão e o coelho para seus refeitórios ● Alimente o coelho com cenoura

(40)

Conceito de algoritmo

Passos:

1. Ordenados

2. Não ambíguos 3. Que terminam

(41)

Exercício 1

Dados dois números quaisquer, as operações de soma, subtração e divisão são algoritmos?

(42)

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...

(43)

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

(44)

Vamos programar de verdade?

● Até aqui programamos em uma linguagem imaginária ● Vamos começar a programar em Java

(45)

Exemplo anterior

numero x

numero 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

(46)

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();

(47)

Estrutura mínima de um programa em Java

Nome do programa

Comentá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

(48)

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();

(49)

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

(50)

Exercicio

● Instalar o ambiente (Java + Eclipse) ● Criar um novo projeto

● Escrever o nosso primeiro programa ● Rodar e testar

(51)

Exercício (para casa)

Tente fazer os outros programas de pseudo-português em Java

Referências

Documentos relacionados

The challenges of aging societies and the need to create strong and effective bonds of solidarity between generations lead us to develop an intergenerational

Figura A53 - Produção e consumo de resinas termoplásticas 2000 - 2009 Fonte: Perfil da Indústria de Transformação de Material Plástico - Edição de 2009.. A Figura A54 exibe

Neste sentido, o papel e as representações sobre o Rio de Janeiro como lugar de memória (NORA, 1996) ganha destaque. Esses fragmentos de memórias foram um dos princi- pais pontos

Esse foi um dos fatores que le- vou à extinção das Rodas de Expostos, que acabaram por desaparecer definitivamente da paisagem europeia em fins do século XIX (MARCÍLIO, 1998, p..

Mas o esporte paralímpico brasileiro, assim como o Rio de Janeiro, ficaria definitivamente em evidência três anos depois, quando a cidade se torna a sede dos Jogos

Table 1- Atlantic and Pacific chub Mackerel metazoan parasites and its geographical distribution………..………….5 Table 2- Targeted gene, sequence of the

Dessa maneira, os resultados desta tese são uma síntese que propõe o uso de índices não convencionais de conforto térmico, utilizando o Índice de Temperatura de Globo Negro e

Este trabalho busca reconhecer as fragilidades e potencialidades do uso de produtos de sensoriamento remoto derivados do Satélite de Recursos Terrestres Sino-Brasileiro