Escolar Documentos
Profissional Documentos
Cultura Documentos
02 - Estrutura e Elaboração de Algoritmos - 01
02 - Estrutura e Elaboração de Algoritmos - 01
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação
Estrutura e Elaboração
de Algoritmos – Parte 1
Introdução à Programação 1
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Plano de Aula
– Estrutura e Elaboração de Algoritmos
●
Revisão da Aula Anterior
●
Introdução a comandos de entrada e saída
●
Introdução à Variáveis
●
Expressões
●
Exercícios
Introdução à Programação 2
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Curiosidades e
Aplicações da Informática
Introdução à Programação 3
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Inspeção Automatizada de Produtos
Introdução à Programação 4
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Inspeção Automatizada de Produtos
Introdução à Programação 5
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Revisão
Introdução à Programação 6
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Revisão
●
Representação de algoritmos
●
Passos para criação de algoritmos
Introdução à Programação 7
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Início do Conteúdo
Introdução à Programação 8
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Considere o seguinte programa
Introdução à Programação 9
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Considere o seguinte programa
Introdução à Programação 10
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Considere o seguinte programa
Introdução à Programação 11
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Considere o seguinte programa
Introdução à Programação 12
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Considere o seguinte programa
10 + 2 = 12
Introdução à Programação 13
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Imagine:
●
Como é apresentada uma mensagem na tela?
●
Como é realizada a leitura do teclado?
●
Para onde vão os valores lidos pelo teclado?
Introdução à Programação 14
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Variáveis
●
Variável: Representação de uma posição na memória, onde
pode ser armazenado um dado
●
Uma Variável é referenciada por um nome (identificador) e só
pode armazenar um único dado por vez
●
Exemplo:
– nome aponta para a posição linha 2, coluna 2
– idade aponta para a posição linha 4, coluna 1
João
26
Introdução à Programação 15
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 17
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 18
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Esta alteração pode se dar por:
– Comando de Entrada de dados
– Comando de Atribuição
Introdução à Programação 21
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Exemplos
num1 = 50;
produto = 10 * 5;
total = quantidade * valor;
Introdução à Programação 22
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
– Exemplos
int idade;
scanf(“%d”, &idade);
Introdução à Programação 23
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
➢
scanf: palavra-chave, representa o comando de entrada pelo
teclado
➢
“formato_do_identificador”: %d – int; %f – float; %c – char; %s
- string. Deve(m) estar entre aspas
➢
identificador: nome da variável. Deve ser precedido do
operador &
➢
a linha de comando possui no final um ponto e vírgula (;)
Introdução à Programação 24
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
printf(“formato_da_expressão”, expressão);
➢
printf: palavra-chave, representa o comando de saída pelo
monitor
➢
formato_da_expressão: %d – int; %f – float; %c – char; %s –
string. Deve(m) estar entre aspas.
Aqui também podem aparecer palavras que deseja imprimir e
escapes (\n – quebra linha; \a – sinal sonoro;…) As palavras e
os escapes são passados para a saída na ordem em que
foram escritos.
Exemplo: printf(“Peso = %f \n”, peso);
Introdução à Programação 26
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 27
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
➢
expressão: pode ser nome de uma variável, expressão
aritmética/lógica ou cadeia de caracteres.
Exemplos: Saída no monitor
int horas = 15;
printf(“Horas = %d”, horas); Horas = 15
printf(“Result = %d”, 24 - horas); Result = 9
printf(“Digite um valor"); Digite um valor
Introdução à Programação 28
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 29
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Estrutura básica
<diretivas do pré-processador>
main(){
<declarações locais>;
<instrução 1>;
<instrução 2>;
….
<instrução n>;
}
Introdução à Programação 30
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Estrutura básica
●
Exemplo: Calcular a média de 4 números
→ comentário
→ acrescenta funcionalidades da biblioteca stdio
→ função principal
→ instruções
Introdução à Programação 31
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Expressões
●
Utilizadas para obter novos valores a partir dos valores de
variáveis e constantes
●
As expressões são formadas utilizando constantes, variáveis,
operadores e funções
●
Operadores: são símbolos usados para efetuar algum cálculo
sobre as variáveis e constantes
●
Funções: também são utilizados para realizar algum cálculo,
mas normalmente mais complexos. São como pequenos
programas, que tendo valores como entrada geram uma
resposta.
Introdução à Programação 32
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Expressões
●
Tipos de Expressões
●
Expressões Aritméticas
●
Expressões Literais
●
Expressões Relacionais
●
Expressões Lógicas
Introdução à Programação 33
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Expressões Aritméticas
●
Utilizadas com constantes e variáveis numéricas
Operadores Descrição
+ Adição
- Subtração
* Multiplicação
/ Divisão
(resultado da divisão de números
inteiros x e y é a parte inteira de x/y)
Ex. 7 / 2 = 3
% Resto da divisão inteira de x por y
(somente números inteiros)
Ex. 5 % 3 = 2
Introdução à Programação 34
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Expressões Aritméticas
●
Utilizadas com constantes e variáveis numéricas
Funções Descrição
pow(x,y) x elevado a y - Ex. pow(2,3) = 8
sqrt(x) Raiz quadrada de x
tan(x) Tangente de x
cos(x) Cosseno de x
sin(x) Seno de x
log10(x) Logaritmo decimal - Ex. log10(100) = 2
M_PI 3.14159...
●
Precisam da biblioteca math.h (#include <math.h>)
Introdução à Programação 35
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
2º lugar Funções
1º lugar: ^
3º lugar Operadores aritméticos 2º lugar: *, /
3º lugar: +, -
Ex. sqrt(30+6)*2 = 12
Observação: Havendo empate em uma expressão, deve-
se fazer primeiro o cálculo da esquerda
Ex. 10/5*2 = 4
Introdução à Programação 36
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Expressões Aritméticas
●
Exercícios:
1) Transforme as expressões aritméticas em expressões utilizadas
em C:
Exemplo: 1 1 / A *sqrt(30 -y)
A
√ 30− y
x + √ 30− y
2
a)
B
−b+ √ b2 −4 ac
b) 2a
i
c) PV −n
1−(1+i)
Introdução à Programação 37
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Expressões Aritméticas
●
Exercícios:
2) Qual o valor final das variáveis a seguir?
A = sqrt((45*2-30)/5-8)
B = pow(2,-5)
C = 70-50/2-5*3
D = 1 / A * sqrt(30 - y) para A = 2 e y = -51
E = sen(90º)
F = 2*M_PI*R para R = 2
G = log10(0,01)
Introdução à Programação 38
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
<diretivas do pré-processador>
main(){
<declarações locais>;
<instrução 1>;
<instrução 2>;
….
<instrução n>;
}
Introdução à Programação 39
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 40
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Resolução:
1 - Entendeu o problema?
2 – Entrada: Temperatura em graus Celsius
3 – Saída: Temperatura em graus Fahrenheit
4 – Transformar entrada em saída:
Fahrenheit = 1.8 * Celsius + 32
5 – Escrever o algoritmo
Introdução à Programação 41
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 42
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 43
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 44
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Resolução:
1 - Entendeu o problema?
2 – Entrada: base e altura do triângulo
3 – Saída: área do triângulo
4 – Transformar entrada em saída:
area = base*altura/2
5 – Escrever o algoritmo
Introdução à Programação 45
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Introdução à Programação 46
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
Introdução à Programação 47
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
1) Escreva um algoritmo que leia dois números e
que apresente a diferença do primeiro pelo
segundo número digitado.
Exemplo de entrada Exemplo de saída
5
diferanca = 2
3
Introdução à Programação 48
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
2) Escreva um algoritmo que leia a altura (m) de
uma pessoa, e que mostre o seu peso ideal. A
fórmula do peso ideal é:
●
peso ideal = (72.7 * altura da pessoa) – 58
Introdução à Programação 49
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
3) Escreva um algoritmo que leia a base e a altura
de um retângulo e mostre os resultados:
●
Perímetro = 2 * (altura + base)
●
Área = base * altura
Exemplo de entrada Exemplo de saída
5 perimetro = 16
3 area = 15
Introdução à Programação 50
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
4) Escreva um algoritmo que leia um valor em
reais e exiba o equivalente em dólares, em euros e
em pesos argentinos. Considere que um dólar vale
R$ 3,8000, um euro vale R$ 4,2100 e um peso
argentino R$ 0,087.
Introdução à Programação 51
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
5) Um motorista deseja abastecer seu veículo
pagando um montante em dinheiro. Escreva um
algoritmo para ler o preço do litro da gasolina e o
valor do pagamento, e exibir quantos litros ele
conseguiu colocar no tanque.
Introdução à Programação 52
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
6) Escreva um algoritmo que leia o raio de um
círculo e mostre na tela a sua área e o seu
perímetro.
Use as fórmulas: A = r² e P = 2r.
Introdução à Programação 53
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
7) Escreva um algoritmo que calcule o aumento de
um salário. O algoritmo deve solicitar o valor do
salário e a porcentagem de aumento e exibir o
valor do aumento e do novo salário.
Introdução à Programação 54
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
8) Escreva um algoritmo que calcule o desconto de
um produto. O algoritmo deve solicitar o valor do
produto e a porcentagem de desconto e exibir o
valor do desconto e do novo valor do produto.
Introdução à Programação 55
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
9) Escreva um algoritmo para ler o salário de um
funcionário e aumentá-lo em 20%. Após o
aumento, desconte 10% de impostos. Imprima o
salário inicial, o salário com o aumento e o salário
líquido (com desconto).
A saída deve ser uma mensagem conforme
exemplo abaixo.
Exemplo de entrada Exemplo de saída
salarioInicial = R$ 1000,00
1000 salarioReajustado = R$ 1200,00
salarioLiquido = R$ 1080,00
Introdução à Programação 56
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
10) Crie um algoritmo que leia dois valores A e B e
troque os valores das variáveis de forma que A
passe a ter o valor de B e B passe a ter o valor de
A. Após a troca, o algoritmo deve exibir os novos
valores de A e B.
– Exemplo:
Antes...: A=2 B=3
Depois.: A=3 B=2.
Introdução à Programação 57
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
11) Crie um algoritmo que leia um valor em
segundos e determine quantas horas, minutos e
segundos existem nesse valor.
Introdução à Programação 58
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
12) Uma certa substância se decompõe segundo a
lei: −0,5 t
Q (t )=2048⋅2
20 q=2
Introdução à Programação 59
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
13) Um motorista de táxi anota a quilometragem
do seu veículo antes e após uma viagem, bem
como o número de litros de combustível gastos.
Elabore um algoritmo que leia os 3 dados acima e
a capacidade do tanque. Ao final, o algoritmo deve
calcular e mostrar quantos quilômetros o seu carro
faz com um tanque cheio.
Exemplo de entrada Exemplo de saída
58030
58450
kmTanque = 656,25
32
50
Introdução à Programação 60
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
14) Um caixa eletrônico opera somente com
cédulas de 100, 50, 20, 10 e 5 reais. Faça um
algoritmo que leia um valor a sacar e calcule e
mostre o menor número de cédulas de cada tipo
no qual o valor pode ser decomposto. Considere
que o sistema admite somente valores múltiplos de
5.
Exemplo de entrada Exemplo de saída
2 nota(s) de R$ 100,00
1 nota(s) de R$ 50,00
265 0 nota(s) de R$ 20,00
1 nota(s) de R$ 10,00
1 nota(s) de R$ 5,00
Introdução à Programação 61
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
15) Faça um algoritmo que leia um número do
sistema binário de até 5 dígitos e o converta para
o sistema decimal.
Introdução à Programação 62
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Exercícios
16) Faça um algoritmo que leia um número do
sistema decimal de até 2 dígitos e o converta para
o sistema binário. Dica: converta o maior número
de 2 dígitos (99) em binário e descubra o número
de divisões que foram feitas.
Exemplo de entrada Exemplo de saída
99 1100011
Introdução à Programação 63
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
Dúvidas?
saulo.vargas@ifsc.edu.br
Introdução à Programação 64
Instituto Federal de Santa Catarina
Campus Gaspar
Análise e Desenvolvimento de Sistemas
●
Referência Bibliográfica
●
Prof. Maurício Edgar Estivanello. Notas de aulas de
Introdução à Programação. Disponível em:
moodle.gaspar.ifsc.edu.br.
●
Prof. Leonardo Leiria Fernandes. Notas de aulas de
Introdução à Programação. Disponível em:
moodle.gaspar.ifsc.edu.br.
●
Prof. Frank Knaesel. Notas de aulas de Introdução à
Programação. Disponível em: moodle.gaspar.ifsc.edu.br.
●
Nilo Ney Coutinho Menezes. Introdução à Programação com
Python. 2 ed. São Paulo: Novatec, 2014.
Introdução à Programação 65