curso bÁsico de programaÇÃo aula 9 · programaÇÃo – aula 9 introdução ... •linguagem...

36
CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 Introdução a linguagem C Estruturas de decisão

Upload: lamliem

Post on 13-Oct-2018

226 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

CURSO BÁSICO DE

PROGRAMAÇÃO –

AULA 9 Introdução a linguagem C

Estruturas de decisão

Page 2: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Introdução à Linguagem C • Linguagem compilada.

• Desenvolvida sobre os paradigmas de programação procedural.

• Uma das linguagens de programação mais populares. Como visto em: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

• Quase todas as arquiteturas de processadores possuem um compilador para C.

• Uma das melhores opções para soluções que requerem alto desempenho computacional porém dispensam interface gráfica.

Page 3: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Criadores da Linguagem C

Page 4: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Comparativo entre VisualG e C

Note a necessidade da inserção de “;” ao fim de cada linha que representa

um comando. Diferente do Portugol, em C é necessário dizer onde

termina um comando, representado por um “;”.

Page 6: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

CodeBlocks: Como usar

• Após a extração, será criada uma pasta contendo vários

arquivos. Para rodar a IDE, execute o arquivo

CbLauncher.

• Para começar a escrever um programa, vá no menu File,

sub-menu New, e selecione File.

• Na janela que se abrir, selecione C/C++ source e clique

em OK.

Page 7: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

CodeBlocks: Como usar

• Uma outra janela se abrirá, clique em Next.

• Em seguida, selecione C e clique em Next.

• No campo Filename with full path, clique no botão “...” e

selecione uma pasta, e dê um nome ao arquivo.

• Clique em finish.

Page 8: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Declaração de Variáveis

• A declaração de variáveis em C é exatamente igual a em Portugol, mudando somente o nome dos tipos.

• A linguagem C possui mais tipos de variáveis que Portugol, como ponteiros e também structs.

• C é case sensitive, ou seja:

meuInteiro1 <> meuinteiro1 <> MEUINTEIRO1

• Regra se aplica a palavras reservadas como for, while, if e else.

Page 9: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Tipos Básicos de Dados Portugol C

inteiro int

real float

logico int *

caracter char

cadeia char[tamanho**]

* Em C, 0 significa falso, e qualquer outro valor significa verdadeiro

** Em C, uma cadeira de caracteres possui um limite determinado,

não podendo guardar mais caracteres que o definido em sua

declaração

Page 10: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Entrada e Saída

Portugol

leia(<var1>, <var2>)

escreva(“texto”, <var1>)

escreval(“texto”, <var1>)

C

scanf(“formato”, <endereços>);

printf(“formato”, <variaveis>);

Page 11: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Códigos de Formatação

Page 12: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Operadores Aritméticos

Portugol C

+ +

- -

* *

/ /

% %

Matematica.potencia(valor,valor) pow(valor,valor)

• Em C, existem dois operadores adicionais de incremento

e incremento, ++ e – respectivamente. Estes operadores

aumentam ou diminuem o valor de uma variável por 1.

Page 13: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplo Incrementos

Page 14: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Operadores Relacionais

Portugol C

== ==

!= !=

<= <=

>= >=

> >

< <

Não existe distinção nos operadores relacionais de C ou Portugol.

Page 15: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Operadores Lógicos

Portugol C

e &&

ou ||

nao !

Page 16: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Atribuições Abreviadas em C

• Compacta a codificação

• Utilizada para incrementos/decrementos não unitários

• Exemplo:

• x += 2; // equivale a x = x + 2;

• x -= 2; // equivale a x = x – 2;

• x /= var1; // equivale a x = x/var1;

• x *= x; // equivale a x = x * x;

Page 17: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplo

• Leia dois números e imprima o produto entre eles

Obs: Note que no comando scanf, se adiciona o caractere “&” ao nome das

variáveis. Caso o tipo fosse char[], isto não seria necessario, como mostrado

no slide 7.

Page 18: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

1. Leia um nome de no máximo 50 caracteres e imprima a

mensagem “Bem vindo, <nome>”, sendo <nome> a

variável lida.

2. Leia 3 caracteres e imprima-os em sequência. Em

seguida, os imprima em ordem inversa.

3. Leia o valor total de uma compra e o número de

parcelas. Calcule então o valor de cada parcela,

considerando 2% de juros simples ao mês.

Page 19: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

4. Leia um número inteiro e calcule a soma de seus

dígitos. Considere que o número lido tem sempre 4

dígitos.

5. Calcule o valor do metro quadrado de determinado

imóvel. Seu algoritmo deve ler o custo total do imóvel e

a medida dos dois lados de seu terreno.

Page 20: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

6. João desenvolveu um sistema de codificação que

segue o padrão abaixo:

Faça um algoritmo que leia um número de cinco dígitos

e imprima o número codificado.

Número Lido Número Codificado

12345 666

24601 3124

30107 1020

71713 10142

Page 21: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

ESTRUTURAS DE

DECISÃO

Page 22: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Estrutura If/Else

Page 23: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplos

Page 24: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplos • Escreva um algoritmo que leia dois inteiros A e

B, logo em seguida leia um N do tipo char

qualquer, e verifique:

• Se esse N for igual à S, faça a soma de A e B;

• Se não, se esse N for igual à M, faça a média

entre A e B;

Page 25: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplos

• Escreva um algoritmo que dados

números a, b e c diferentes, imprima em

tela a diferença entre o valor mediano e o

menor como também a diferença entre o

valor maior e o mediano.

Page 26: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

1 - Leia a idade e o sexo de uma pessoa e verifique se ela

está apta a se aposentar. Mulheres se aposentam aos 60 e

homens se aposentam aos 65.

2 - Dado 4 times, A, B, C e D, verifique qual deles é o

campeão. Cada time possui um número. Ganha a partida

quem tiver o maior valor. Os jogos seguem o seguinte

padrão:

Page 27: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

3 - Dado 3 valores, verifique se eles podem ser os comprimentos dos lados de um triângulo. Caso seja, identifique se o triângulo é equilátero, isósceles ou escaleno. Senão, imprima “nao e um triangulo”.

4 - Leia dois números inteiros n1 e n2. Caso n1 seja par, imprima a soma deles. Caso n1 seja ímpar e n2 seja par, imprima o dobro de n2. Caso n2 seja ímpar, imprima a mensagem “Olá, mundo!”.

5 - Você é o segurança de um restaurante. Somente pontos de exclamação podem entrar (!). Há cinco caracteres na fila. Caso algum caractere que não seja um ‘!’ tente entrar, você deve barrá-lo.

Page 28: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Estrutura Switch

Page 29: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplos:

Page 30: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplos:

•Escreva um algoritmo que dado um

inteiro, imprima em tela o mês

correspondente.

•Caso informado um número fora do

intervalo de 1 a 12, imprimir a

mensagem “Mês Inválido!”.

Page 31: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exemplos:

• Leia dois números inteiros a e b e um

inteiro x representando o número de

casas decimais que a divisão a/b irá ser

apresentada. Apresentar todos os casos

no intervalo de 0 a 6 casas decimais.

Sendo qualquer valor de x fora deste

intervalo imprima o número sem

formatação.

Page 32: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

1 - Crie um programa que exibe se um dia é dia útil, fim de

semana ou dia inválido dado o número referente ao dia.

Considere que domingo é o dia 1 e sábado é o dia 7.

2 - Leia dois números inteiros, X1 e X2, do usuário. Caso

X2 seja 1, imprima X1^X2. Caso X2 seja 2, imprima X1*X2.

E caso X2 seja 3, imprima X1+X2.

3 - Elaborar um algoritmo em que dada a idade de um

nadador, classifique-o em uma das seguintes categorias:

infantil A (5 a 7 anos), infantil B (8 a 10 anos), juvenil A (11

a 13 anos), juvenil B (14 a 17 anos), senior (>17 anos).

Page 33: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

4 - A escola “APRENDER” faz o pagamento de seus

professores por hora/aula. Faça um algoritmo que a partir

do nível do professor e número de horas trabalhadas

calcule e exiba o salário de um professor. Sabe-se que o

valor da hora/aula segue a tabela abaixo:

• Professor Nível 1 R$12,00 por hora/aula

• Professor Nível 2 R$17,00 por hora/aula

• Professor Nível 3 R$25,00 por hora/aula

Page 34: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios

5 - Construa um algoritmo que calcule o peso ideal de uma

pessoa. Dados de entrada: altura e sexo. Fórmulas para

cálculo do peso:

• peso ideal de homem = (72,7 x altura) - 58

• peso ideal da mulher = (62,1 x altura) - 44,7

Page 35: CURSO BÁSICO DE PROGRAMAÇÃO AULA 9 · PROGRAMAÇÃO – AULA 9 Introdução ... •Linguagem compilada. •Desenvolvida sobre os paradigmas de programação ... valor da hora/aula

Exercícios 6 - Projete uma calculadora no Code Blocks. A calculadora deve funcionar da seguinte forma:

- Primeiramente deve ser exibido um menu na tela, dando as seguintes opções ao usuário:

. "1 - Soma"

. "2 - Subtração"

. "3 - Divisão"

. "4 - Multiplicação"

. "5 - Resto da Divisão"

. "6 - Potência"

. "7 ou mais - Sair“

- Em seguida, leia um número inteiro do usuário. Este número será o índice da operação da calculadora (1 será soma,

2 será subtração...).

- Caso o número de índice lido esteja entre 1 e 6, leia outros dois números inteiros do usuário. Caso seja 7 ou mais,

não leia nada.

- Finalmente, caso o número de índice esteja entre 1 e 6, exiba o resultado da operação referente ao índice entre os

dois números inteiros. Caso o número seja 7 ou mais, não exiba nada e termine o algoritmo.

Exemplo 1: . Número de índice = 3;

. Primeiro número inteiro = 14;

. Segundo número inteiro = 2;

. Resultado na tela: "7" (que equivale a 14/2)