Prévia do material em texto
Público
Algoritmos e Lógica de Programação
Prof. Ivan Fontainha
ivan.alvarenga@pitagoras.com.br
Público
Bibliografia
• ARTERO, Marcio Aparecido; SCHEFFER, Vanessa
Cadan. Algoritmos e Técnicas de programação.
Londrina: Editora e Distribuidora Educacional S.A.,
2018.
• FORBELLONE, A. L., EBERSPACHER, H., Lógica de
Programação, Makron Boorks, 1993.
• MANZANO, José Augusto N. G. & OLIVEIRA, Jayr
Figueiredo de, Algoritmos e Lógica para
Desenvolvimento de Programação de
Computadores, Érica, 1997.
Público
3
Unidade 2: Constantes, variáveis e operações
Seção 2.1 – Constantes e variáveis com tipos
primitivos
O que veremos:
Público
Algoritmos
Algoritmos
▪ Para armazenar um algoritmo na memória de um
computador e para que ele possa, em seguida,
comandar as operações a serem executadas, é
necessário que ele seja programado, isto é, que seja
transcrito para uma linguagem que o computador possa
entender, direta ou indiretamente
Público
Linguagem de Programação
▪ Linguagem é uma maneira de comunicação que
segue uma forma e uma estrutura com significado
interpretável
▪ Linguagem de Programação é um conjunto finito de
palavras, comandos e instruções, escritos com o
objetivo de orientar a realização de uma tarefa pelo
computador
Algoritmos
Público
Linguagem de Programação
▪ A linguagem que nós utilizamos em nosso cotidiano é
diferente da linguagem utilizada pela máquina.
▪ A máquina trabalha somente com códigos numéricos
(linguagem de máquina), baseados nos números 0 e
1 (sistema binário), que representam impulsos
elétricos, ausente e presente.
Algoritmos
Público
Linguagem de Programação
▪ Qualquer linguagem de programação deve estar
situada entre dois extremos: o da linguagem natural
do homem (muito clara, porém lenta) e o da
linguagem de máquina (muito rápida, porém
complexa).
▪ Nível de linguagem:
▪ Alto nível: para as mais próximas da linguagem
humana.
▪ Baixo nível: para as mais semelhantes à
linguagem de máquina.
Algoritmos
Público
Tradutores
▪ Para que um computador possa "entender" um
programa escrito em uma linguagem de alto nível,
torna-se necessário um meio de tradução entre a
linguagem utilizada no programa e a linguagem de
máquina. Este meio pode ser de dois tipos:
▪ Compilador;
▪ Interpretador.
Algoritmos
Público
Tradutores
▪ Compilador:
Traduz o programa escrito em linguagem de alto
nível (programa-fonte) para um programa
equivalente escrito em linguagem de máquina
(programa-objeto).
• Interpretador:
Traduz e envia para execução, instrução por
instrução e o programa permanece na forma fonte
Algoritmos
Público
Programas
▪ Todo programa tem de ter:
▪ Entrada
▪ Armazenamento
▪ Processamento
▪ Saída
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento:
▪ O dispositivo padrão de entrada é o teclado
▪ Para manipular entrada padrão em C++ utiliza-se
a função scanf que definida por uma expressão
de controle seguida por uma lista de argumentos
separados por vírgula;
▪ Sintaxe:
scanf (“expressão de controle”, lista de argumentos);
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento:
scanf (“expressão de controle”, lista de argumentos);
▪ A expressão de controle pode conter códigos de
formatação, precedidos por sinal %, que avisa a
função que deve ser lido um valor do tipo indicado
pela especificação.
▪ A lista de argumentos deve consistir nos endereços
das variáveis. Nesta lista deve conter um operador de
endereço, que é referenciado pelo símbolo &. (este
resulta no endereço do operando)
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento – Exemplo:
int idade;
scanf (“%d”, &idade);
O primeiro comando é a
declaração de uma variável de
tipo inteiro cujo identificador é
idade
O segundo espera por uma
entrada do teclado a fim de
armazená-la na variável idade
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento – tipos de dados:
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento – códigos de
formatação das expressões de controle:
▪ %c -> caractere simples
▪ %d -> decimal (inteiro)
▪ %f -> ponto flutuante – float (real)
▪ %s -> cadeia de caracteres (string)
▪ %lf -> ponto flutuante long (double)
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento:
▪ scanf só consegue processar a entrada do
teclado quando a tecla é pressionada
▪ Portanto, mesmo se foi solicitado apenas um
caracter, a extração do scanf não o processará
até que o usuário tecle após o
caractere
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento:
▪ É possível também usar scanf para ler mais de
que um dado do usuário. Assim:
scanf ( “%d %d”, &num1, &num2);
é equivalente a:
scanf ( “%d”, &num1);
scanf ( “%d”, &num2);
Algoritmos
Público
Linguagem de Programação C++
▪ Entrada / Armazenamento:
▪ Em ambos os casos, o usuário deverá fornecer 2
dados: um para a variável num1 e o outro para a
variável num2 que podem ser separados por
espaço ou tab ou uma nova linha ()
Algoritmos
Público
Linguagem de Programação C++
▪ Processamento:
= 10 + 5 ;
Onde “ = “ significa recebe, isto é, a variavel1 vai
receber a soma do valor 10 somado com 5, que é 15
Algoritmos
Público
Linguagem de Programação C++
▪ Processamento:
Para o processamento usaremos os operadores,
unários ou binários.
• Binários: usam dois componentes, duas
variáveis
• Unários: utilizam somente uma variável
Algoritmos
Público
Linguagem de Programação C++
▪ Processamento (operadores binários):
Algoritmos
Público
Linguagem de Programação C++
▪ Processamento (operadores unários):
Após a variável:
• Pós-incremento: x ++ ;
é adicionado um após a primeira execução.
• Pós-decremento: x --;
é decrementado um após a primeira execução.
Antes da variável:
• Pré-incremento ++ x ;
é adicionado um antes da primeira execução.
• Pré-decremento -- x ;
é decrementado um antes da primeira execução.
Algoritmos
Público
Linguagem de Programação C++
▪ Processamento (operadores unários):
Algoritmos
Público
Linguagem de Programação C++
▪ Processamento:
Podemos também usar o conceito de atribuição
composta para o processamento em variáveis.
Isto é, algumas variáveis podem sofrer alterações
baseadas nos seus valores anteriores.
Algoritmos
Público
Linguagem de Programação C++
▪ Saída:
▪ O dispositivo padrão de saída é o monitor
▪ Para manipular saída padrão em C++ utiliza-se a
função printf que definida por uma expressão de
controle seguida por uma lista de argumentos
separados por vírgula;
▪ Sintaxe:
printf (“expressão de controle”, lista de argumentos);
Algoritmos
Público
Linguagem de Programação C++
▪ Saída:
printf (“expressão de controle”, lista de argumentos);
▪ A expressão de controle pode conter conjuntos de
caracteres que serão exibidos na tela e códigos de
formatação que indicam o formato em que os
argumentos devem ser impressos.
▪ A função printf pode conter vários argumentos,
quando isto acontecer, devem ser separados por
“virgula”. A lista de argumentos deve consistir o valor
do tipo especificado na expressão de controle.
Algoritmos
Público
Linguagem de Programação C++
▪ Saída - Exemplo:
int num = 25;
printf (“O numero vale: %d”, num);
▪ A saída será:
▪ O numero vale: 25
Algoritmos
Público
Linguagem de Programação C++
▪ Saída - Exemplo:
printf (“A Faculdade Pitágoras tem %d cursos e
seu curso de Sistemas de Informação tem duração
de %d anos.”, ncurso, duração)
Supondo que ncurso contém o valor 42 e
duração o valor 4, o resultado da operação acima
seria:
A Faculdade Pitágoras tem 42 cursos e seu
curso de Sistemas de Informação tem duração de 4
anos.
Algoritmos
Público
Linguagem deProgramação C++
▪ Para a função “printf” temos que indicar qual o tipo
primitivo da variável que queremos listar na tela:
%c -> Caractere
%s -> String (conjunto de caracteres)
%d -> Inteiro (usado também para booleano)
%f -> Float ou double
Algoritmos
Público
Linguagem de Programação C++
▪ Na função printf temos “caracteres de escape”, que
são caracteres especiais que indicam a formatação
de saída do string nele contido.
▪ A barra invertida “\” é o caractere de escape do
método print. Esta barra combinada com um outro
caractere forma uma sequencia de escape.
Algoritmos
Público
Algoritmos
Linguagem de Programação C++
▪ Vejamos alguns exemplos de sequência de escape:
Público
Linguagem de Programação C++
// Meu primeiro programa em C++
#include
int main()
{
int num = 15;
printf (“ O numero digitado vale: %d \n”, num );
return 0;
}
Algoritmos
Público
Linguagem de Programação C++
▪ // Meu primeiro programa em C++
▪ Esta é uma linha de comentário
▪ Todas as linhas que começam com “ // ” são
consideradas comentários e não alteram o
comportamento do programa (isto é, não são
executadas)
Algoritmos
Público
Linguagem de Programação C++
▪ #include
▪ Linhas que começam com “ # ” são diretivas de
compilação
▪ Neste caso, a diretiva #include diz ao
compilador para incluir um arquivo com a
definição de comandos desta biblioteca em C++
▪ Como utilizaremos o comando printf na
seqüência, a biblioteca que o contém (stdio.h)
precisa ser incluída
Algoritmos
Público
Linguagem de Programação C++
int main()
{ ... }
▪ Esta linha corresponde ao início da definição a
função main (também chamada de "programa
principal")
▪ Todo programa C++ precisa de uma função main,
pois é aí que sempre começará a sua execução,
independente de sua localização no arquivo
Algoritmos
Público
Linguagem de Programação C++
int main()
{ ... }
▪ Outras funções ou declarações (vistas mais tarde)
poderão ser definidos antes ou depois da função
main, porém as instruções contidas na definição
do main (entre '{' e '}') serão sempre as primeiras
a serem executadas
Algoritmos
Público
Linguagem de Programação C++
▪ return 0;
▪ O comando return faz com que a função (neste
caso, main) termine
▪ O return pode ser seguido de um "código de
retorno" (em nosso caso, o valor zero)
▪ Um código de retorno 0 para o programa principal
é geralmente interpretado como indicação de que
o programa terminou corretamente sem erros
Algoritmos
Público
Exercícios
1. Faça um programa em C++ que solicite ao usuário um
número e imprima o dobro deste número.
2. Faça um programa em C++ que solicite ao usuário dois
números reais e imprima a soma e a média destes
números.
3. Faça um programa em C++ que solicite a idade e o
sexo de um usuário e imprima quantos dias este
usuário já viveu (considere 1 ano com 365 dias e
somente anos completos):
Seu sexo é e voce tem vividos
4. Faça um programa em C++ que solicite ao usuário dois
números e imprima o resto da divisão do segundo pelo
primeiro número.
Slide 1
Slide 2
Slide 3
Slide 4
Slide 5
Slide 6
Slide 7
Slide 8
Slide 9
Slide 10
Slide 11
Slide 12
Slide 13
Slide 14
Slide 15
Slide 16
Slide 17
Slide 18
Slide 19
Slide 20
Slide 21
Slide 22
Slide 23
Slide 24
Slide 25
Slide 26
Slide 27
Slide 28
Slide 29
Slide 30
Slide 31
Slide 32
Slide 33
Slide 34
Slide 35
Slide 36
Slide 37
Slide 38