Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

119
ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 1 terça-feira, 5 de fevereiro de 2013 Apresentação da Disciplina Rogério Aguiar Teixeira [email protected]

Transcript of Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

Page 1: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

1 terça-feira, 5 de fevereiro de 2013

Apresentação da Disciplina

Rogério Aguiar [email protected]

Page 2: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

2 terça-feira, 5 de fevereiro de 2013

Quem sou eu?Quem sou eu?Identificação:Rogério Aguiar Coelho Teixeira

([email protected])Formação Acadêmica:Graduação: Licenciatura em Matemática(UNICAP)Pós-Graduação: Especialização em Análise de Sistemas (UNICAP)

Gestão Estratégica da TIC (FACIPE)Mestrado: Gestão Pública - UFPEExperiência Profissional:EMPREL - Empresa Municipal de Informática – Prefeitura do Recife Analista de Sistemas - Diretor de Infraestrutura de InformáticaEx-Diretor de Negócios e Sistemas CorporativosTECNASA – Consultor e Gestor da Célula TIC – www.tecnasa.com.brExperiência Docente:UNIBRATEC :Coordenador da Pós-Graduação em Gestão da TIC, Coordenador do ENADEProfessor Graduação- ADS - (FPR - Fund. Programação, GETI – Gestão Estratégica de TIC)

UPE - FCAP - Professor MBA em Consultoria– Gestão Estratégica da TI e SIGFAFIRE – Professor Pós-Graduação em Gestão– Gestão Estratégica

Page 3: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

3 terça-feira, 5 de fevereiro de 2013

Bacharelado x Licenciatura x

Tecnólogo

Bacharelado x Licenciatura x

Tecnólogo

Bacharel e Licenciado

Tecnólogo

Piscina Olímpica – Extensa e Rasa

Poço de

Mergulho –

Profundo e curto

Mestrado

Doutorado

Concurso Público

Page 4: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

4 terça-feira, 5 de fevereiro de 2013

Competência!

Processo de AvaliaçãoProcesso de Avaliação

Page 5: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

5 terça-feira, 5 de fevereiro de 2013

Competência!

Pontos que serãoobservados

Pontos que serãoobservados

� Assiduidade (4%)

� Pontualidade(4%)

� Postura em sala de aula(4%)

� Relação interpessoal(4%)

� Linguagem escrita e falada(4%)

� Participação nas aulas( 10%)

� Habilidades nas competências (70%)

Page 6: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

6 terça-feira, 5 de fevereiro de 2013

Pontos de ControlePontos de Controle

� Diário – Planilha de acompanhamento

� Avaliação Teórica e Prática (3)

� Utilização do Moodle(Exercícios)

Page 7: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

7 terça-feira, 5 de fevereiro de 2013

Conceitos UtilizadosConceitos Utilizados

� SFO – Sabe Fazer e Orienta

� SFS – Sabe Fazer Sozinho – sem ajuda

� SFA – Sabe Fazer com Ajuda

Page 8: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

8 terça-feira, 5 de fevereiro de 2013

CompetênciasCompetências

C1 - Aplicar os paradigmas da programação orientada a objetos;C2 - Aplicar os conceitos da lógica de programação;C3 - Aplicar as técnicas de algoritmização através da recursividade;C4 - Aplicar a divisão modular e refinamentos sucess ivos. C5 - Esquematizar o projeto lógico em estrutura de c lasses;C6 - Ordenar a seqüência lógica para construção de so lução de

software;

DisciplinaDisciplinaCarga Horária(144):

• Presenciais - 116 (Presenciais) – 35 encontros de 4h a(50”) cada• A distância - 28 (Exercícios e aprofundamentos)

Page 9: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

9 terça-feira, 5 de fevereiro de 2013

HabilidadesHabilidadesH1 - Compreender a história e evolução dos computadoresH2 - Compreender os sistemas de numeraçãoH3 - Identificar os componentes funcionais do computadorH4 - Compreender os paradigmas de programação e sua evolução; H5 - Compreender o paradigma da orientação a objetos;H6 - Compreender as estruturas de dados básicas, declarações, tipos de

dados, variáveis e constantes;H7 - Compreender as estruturas condicionais (simples e encadeadas) e as

estruturas de repetição (determinada e indeterminada).H8 - Compreender as estruturas de dados multidimensionais: Vetores,

Matrizes e operações (varreduras e ordenação). H9 - Identificar os métodos de classificação e suas aplicaçõesH10 - Aplicar os conceitos da lógica de programação em soluções

algorítmicas

Page 10: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

10 terça-feira, 5 de fevereiro de 2013

BibliografiaBibliografia

Algoritmos estruturados Harry Farrer –

Ed. Guanabara ;

Microsoft Visual C# 2008: Passo a

PassoJohn Sharp

Ed. Microsoft

C# Como Programar

Harvey M. DeitelEd. Makron Books -

Perason

Lógica de Programação

Guilherme Gonçalves de Freitas Ed. Senac

Page 11: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

11 terça-feira, 5 de fevereiro de 2013

�Nome�Trabalha? Onde?�Experiência / Conhecimento em Lógica de

Programação Algorítmica(1-10)

Que Interrogatório!

Quem são vocês?Quem são vocês?

Page 12: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

12 terça-feira, 5 de fevereiro de 2013

Dúvidas!?

Rogério Aguiar [email protected]

Page 13: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

13 terça-feira, 5 de fevereiro de 2013

Conceitos

Rogério Aguiar [email protected]

Page 14: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

14 terça-feira, 5 de fevereiro de 2013

É um conjunto de instruções descritas em uma seqüêncialógica com o objetivo de executar uma determinada tarefa.

Exemplo:Roteiro para chegar em sua residência, passos para efetuaruma ligação de um orelhão, planejamento do fim desemana, procedimentos para realizar a soma de doisnúmeros.

O que é um Algoritmo?

Page 15: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

15 terça-feira, 5 de fevereiro de 2013

É uma notação formal para descrição de algoritmos queserão executados por um computador.

Exemplo:JAVA, C#, PHP , JAVA SCRIPT, PYTHON, PASCAL ,CLIPPER, COBOL, DELPHI, C, C++, CENTURA,EASYTREV, VISUAL BASIC.

O que é uma linguagem de Programação?

Page 16: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

16 terça-feira, 5 de fevereiro de 2013

É a tradução de um algoritmo em uma determinadalinguagem de programação, segundo suas regras de sintaxee semântica, de forma a permitir que o computador execute aseqüência de ações.

O que é um Programa de Computador?

Page 17: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

17 terça-feira, 5 de fevereiro de 2013

É um conjunto de ferramentas de desenvolvimento integradasque permite ao desenvolvedor construir os programas decomputador;

Exemplo :Visualg, Visual Studio 2010 – IDE - (Integrated DevelopmentEnvironment - Ambiente Integrado de Desenvolvimento)utilizado pela Microsoft para construir programas em C#..

O que é um Ambiente de Programação?

Page 18: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

18 terça-feira, 5 de fevereiro de 2013

Passos para elaboração de um Programa

1. Ter domínio sobre o assunto

2. Reservar as ferramentas necessárias

3. Elaborar um fluxo de execução4. Escrever um algoritmo

5. Traduzir o algoritmo para uma linguagemde programação

6. Testar o Programa

Page 19: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

19 terça-feira, 5 de fevereiro de 2013

Exemplos de ProgramasExemplo 01:Elaborar um programa para escrever os números de 1 a 5 no vídeo

Algoritmo Pascal JAVAAlgoritmo EX01Escreva (“01,02,03,04,05”) Fim-algoritmo.

Program Ex01; Writeln ("01,02,03,04,05");

public class Ex_1_a_5 {

public static void main(String[] args) {

System.out.println (“01,02,03,04,05”);

} }

Page 20: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

20 terça-feira, 5 de fevereiro de 2013

Exemplos de ProgramasExemplo 02: Elaborar um algoritmo para calcular a soma de dois números inteiros recebidos via teclado

Algoritmo JAVA PascalAlgoritmo EX02Var N1,N2, SOMA : Inteiro Leia( N1, N2)Soma := N1 + N2Escreva ( “A soma= ”,Soma )

Fim-algoritmo.

public class Ex02 { public static void main(String args[]){ int x,y, soma; x = System.in.read();

y =System.in.read(); ;

Soma = y+x; System.out.println(“Soma= "+ (x+y)); } }

Program EX02;Var N1,N1 : Integer;

Soma : Integer;BeginReadln(N1);Readln(N2);Soma := N1 + N2;Writeln(“A soma =“, Soma);

End.

Page 21: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

21 terça-feira, 5 de fevereiro de 2013

Fases para elaboração de um Programa!

Algoritmo Programa

Fonte

Tradução

Programa

Objeto

Compilação - Verificação da Sintaxe e Semântica da Linguagem – Se Ok ?

Programa

Executável Link-Edição - Gera o executável a partir do código objeto

Page 22: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

22 terça-feira, 5 de fevereiro de 2013

Tipos de dadosNumérico

São dados que comportam valores inteiros numéricos,positivos ou negativos, excluindo qualquer númerofracionário.Ex.: 1, 123, 45687, 111111

INTEIRO(Z)

REAL(R)

São dados que comportam valores numéricos que fazem usode números fracionários e também dos números inteirosEx: 123.35 , 1.18 , 0.05

Page 23: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

23 terça-feira, 5 de fevereiro de 2013

Tipos de dados

Alfanumérico - Caractere

São dados que comportam seqüências de dados caracteres, deveser representado entre apostrofoEx: “Rogério”, “Rua 17 de Agosto”, “1123”

Lógico

São dados que comportam apenas os valores VERDADEIRO ouFALSOEx.: VERDADEIRO , FALSO

Page 24: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

24 terça-feira, 5 de fevereiro de 2013

O que são Variáveis?São espaços de memória reservados para guardar conteúdosExemplo: NOME, IDADE, SALARIO, NOTAS, etc...

Memória RAM

CaracterísticasSIMPLESCOMPOSTAS - Unidimensionais (VETORES)

- Bidimensionais (MATRIZES)

NOME

“José da Silva”IDADE

29

NOTAS SALARIO

1.500,001

10,02

8,03

5,0

Page 25: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

25 terça-feira, 5 de fevereiro de 2013

Composição de uma Variável

� Nome ou Identificador� Tipo� Tamanho(na maioria das vezes definido pelo tipo)

Quanto ao Nome

� Deve ser expressivo e semântico� Ex.: SALARIO, NOME,IDADE� Não iniciar por números ou caracteres especiais;� Ex.: #CEP, @ENDEREÇO, 1IPTU� Não conter apenas dígitos numéricos� Ex.: 1234, 5678� Não ser um nome composto� Ex.: MEDIA SALARIAL, MAIOR IDADE(usar _ - MAIOR_IDADE)

Page 26: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

26 terça-feira, 5 de fevereiro de 2013

Composição de uma Variável

Quanto ao Tipo

Deve ser especificado um dos tipos aceitos pela linguagem que estamos desenvolvendo

VisuAlgEx.: Inteiro, Real, Caractere, Logico

C#Ex.: Int, String, Double, Bool (Existem outros)

Object Pascal - DelphiEx.: Integer, String, Real, Boolean (Existem outros)

Page 27: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

27 terça-feira, 5 de fevereiro de 2013

Operadores NuméricosRealizam cálculos aritméticos com variáveis do tipo NUMÉRICO

Obs.: Com os operadores +,-,* e /, se pelo menos um dos operadores for real o resultado será real.

Prioridade : ( ) , * / DIV MOD, + - Se houver empate resolver da esquerda para direita.

Ex.: MEDIA = (5 + 4) / 2

Operador Função Operandos Resultado

+ Somar Z ou R Z ou R- Subtrair Z ou R Z ou R

* Multiplicar Z ou R Z ou R

/ Dividir Z ou R R

DIV Quociente Inteiro Z Z

MOD Resto Div Inteira Z Z

Page 28: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

28 terça-feira, 5 de fevereiro de 2013

Exercícios(Operadores Numéricos)

Admita que :X = 5 ; Y= 10 e Z = 20 qual o resultado das expressões abaixo:

W = X + 2K = X * YO = 10 + Y + Z / 2P = 10 + (Y + Z) / 2R = 9 MOD 2;Q = 17 DIV 5;V = 32 + Z – 5 * 3 + (Z /5)

Page 29: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

29 terça-feira, 5 de fevereiro de 2013

Operadores RelacionaisRealizam comparações entre conteúdos, retornando comoresultado VERDADEIRO ou FALSO, podem ser utilizados emcomparações com variáveis do tipo NUMERICO ou CARACTER.

Prioridade : ()Ex.: 3 > = 5 => V; “Mario” > “Maria” => V ; “José” > “X” => F

Operador Função

> Maior que

>= Maior ou Igual

< Menor

<= Menor ou Igual

= Igual

<> Diferente

Page 30: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

30 terça-feira, 5 de fevereiro de 2013

Admita que X = 3, Y = 8 , A= “Paulo” S= “Silva”. Qual o resultado exibido nas expressões lógicas abaixo:

L1 = X > YL2 = X*2 = YL3 = A < SL4 = “X” = SL5 = “X” < S

Exercícios(Operadores Relacionais)

Page 31: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

31 terça-feira, 5 de fevereiro de 2013

Operadores LógicosRealizam operações nas expressões condicionaiscompostas , retornam sempre TRUE ou FALSE

Prioridade : ( ) ,NAO, E , OU - Se houver empate resolver da esquerda para direita

Ex.: (3>=5) E (9<5) => FALSO

(6=3) E (5<8) E (3=3) E ((5>=4) E (3=2)) como resolver?

OPERADORESE

OU

Não

Page 32: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

32 terça-feira, 5 de fevereiro de 2013

Tabela Verdade(E)Condição 1:

Vou à praia se fizer sol e receber minha mesada

Fizer Sol E Receber Mesada Vou à praia?????

V E V V

V E F F

F E V F

F E F F

Obs.:Tabela verdade E só é verdade quando todas as condições são verdadeiras.

A B A e B

V V V

V F F

F V F

F F F

E

Page 33: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

33 terça-feira, 5 de fevereiro de 2013

Tabela Verdade(OU)Condição 2:

Vou ao cinema com Maria se receber meu salário ouse ganhar a rifa da Unibratec.

Receber Salário

OU Ganhar a Rifa Vou ao cinema com Maria?????

V OU V V

V OU F V

F OU V V

F OU F F

Obs.:Tabela verdade OU só é falsa quando todas as condições forem falsas.

A B A ou B

V V V

V F V

F V V

F F F

OU

Page 34: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

34 terça-feira, 5 de fevereiro de 2013

Tabela Verdade(e / ou)

Condição 3:Vou brincar o carnaval em Olinda se receber minha mesada e conseguir

uma vaga no hotel ou em casa de amigos.

Receber Mesada

E Vagaem Hotel

Ou Vaga em casa de amigos

Vou brincar o carnaval em Olinda?

V E V Ou V ?

V E V Ou F ?

V E F Ou V ?

V E F Ou F ?

F E V Ou V ?

F E V Ou F ?

F E F Ou V ?

F E F Ou F ?

Prioridade : ( ) ,NAO, E , OU - Se houver empate resolver da esquerda para direita

A B A e B

V V V

V F F

F V F

F F F

E

A B A ou B

V V V

V F V

F V V

F F F

OU

Page 35: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

35 terça-feira, 5 de fevereiro de 2013

Tabela Verdade(e / ou)

Condição 3:Vou brincar o carnaval em Olinda se receber minha mesada e conseguir

uma vaga no hotel ou em casa de amigos.

Receber Mesada

E Vaga em

Hotel

Ou Vaga em casa de amigos

Vou brincar o carnaval em Olinda?

V E V Ou V V

V E V Ou F V

V E F Ou V V

V E F Ou F F

F E V Ou V V

F E V Ou F F

F E F Ou V V

F E F Ou F F

Prioridade : ( ) ,NAO, E , OU - Se houver empate resolver da esquerda para direita

A B A e B

V V V

V F F

F V F

F F F

E

A B A ou B

V V V

V F V

F V V

F F F

OU

Page 36: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

36 terça-feira, 5 de fevereiro de 2013

Tabela Verdade(e / ou)

Condição 3:Vou brincar o carnaval em Olinda se receber minha mesada e conseguir

uma vaga no hotel ou em casa de amigos.

Receber Mesada

E Vagaem

Hotel

Ou Vaga em casa

de amigos

Vou brincar o carnaval

em Olinda?

V E V Ou V V

V E V Ou F V

V E F Ou V V

V E F Ou F F

F E V Ou V V

F E V Ou F F

F E F Ou V V

F E F Ou F F

Prioridade : ( ) ,NAO, E , OU - Se houver empate resolver da esquerda para direita

Receber Mesada

E Vagaem

Hotel

Ou Vaga em casa

de amigos

Vou brincar o carnaval

em Olinda?

V E V Ou V V

V E V Ou F V

V E F Ou V V

V E F Ou F F

F E V Ou V F

F E V Ou F F

F E F Ou V F

F E F Ou F F

Page 37: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

37 terça-feira, 5 de fevereiro de 2013

Resumo Tabela Verdade

Tabelas que contem as regras para resolução de expressõesrelacionais compostas.

A B A e B

V V V

V F F

F V F

F F F

E

A B A ou B

V V V

V F V

F V V

F F F

OU

A Nao(A)

V F

F V

NAO

Page 38: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

38 terça-feira, 5 de fevereiro de 2013

Vamos exercitar as regras da Tabela Verdade

FFF

FVF

FFV

VVV

A e BBA

E

FFF

VVF

VFV

VVV

A ou BBA

OU

VF

FV

Nao(A) A

NAO

Ex1.: A = 3 , B = 5 , C = 1 => A < B e A > CA < B e B < CA > B e B > CA > B e B < C

Ex2.: A = 3 , B = 5 , C = 1 => A < B ou A > C A < B ou B < C A > B ou B > C A > B ou B < C

Ex.3: A = 3 , B = 5 , C = 1 => Nao(A < B ou A > C) A < B ou Nao(B < C) Nao(A > B) ou B > C Nao(A > B) ou B > C

Page 39: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

39 terça-feira, 5 de fevereiro de 2013

Exercício

FFF

FVF

FFV

VVV

A e BBA

E

FFF

VVF

VFV

VVV

A ou BBA

OU

VF

FV

Nao(A) A

NAO

1) Tendo as variáveis SALARIO, IR e SALLIQ, e considerando os valores abaixo. Informe se as expressões são verdadeiras ou falsas.

2) Sabendo que A=3, B=7 e C=4, informe se as expressões abaixo são verdadeiras ou falsas.

a) (A+C) > B ( )b) B >= (A + 2) ( )c) C = (B –A) ( )d) (B + A) <= C ( )e) (C+A) > B ( )

3) Sabendo que A=5, B=4 e C=3 e D=6, informe se as expressões abaixo são verdadeiras ou falsas.

a) (A > C) E (C <= D) ( )b) (A+B) > 10 OU (A+B) = (C+D) ( )c) (A>=C) E (D >= C) ( )

SALARIO IR SALLIQ EXPRESSÃO V ou F

100,00 0,00 100,00 (SALLIQ >= 100,00)

200,00 10,00 190,00 (SALLIQ < 190,00)

300,00 15,00 285,00 (SALLIQ = (SALARIO-IR))

Prioridade : ( ) ,NAO, E , OU - Se houver empate resolver da esquerda para direita

Page 40: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

40 terça-feira, 5 de fevereiro de 2013

Operadores de Concatenação

Realizam junções de conteúdos de variáveis do tipo caracter/texto

Notação: +

Ex.: A = 50 + 50 => A = 100 => Soma

A = “50” + “50” => A = “5050” => Concatenação

NOME = “MARIA”+”JOSE” => NOME = “MARIAJOSE”

NOME = “MARIA”+” “+” JOSE” => NOME = “MARIA JOSE”

Inserindo um espaço em branco

Page 41: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

41 terça-feira, 5 de fevereiro de 2013

Exercícios(Operadores de Concatenação)

A := “UNI”B := “BRA”C := “TEC”S := “X”D:= A + B + CE := B + “SIL”F := C + “NO” + B + “S”G := C + “NO” + B + S

Page 42: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

42 terça-feira, 5 de fevereiro de 2013

Dúvidas!?

Rogério Aguiar [email protected]

Conceitos :

� Algoritmo

� Linguagem de Programação;

� Programa de Computador;

� Ambiente de Programação;

� Passos para elaboração de um Programa;

� Exemplos;

� Tradução, Compilação e Link-Edição;

� Dados x Informações;

� Tipo de Dados;

� Variáveis;

� Operadores(Numéricos, relacionais, lógicos, concatenação);

Page 43: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

43 terça-feira, 5 de fevereiro de 2013

Ambiente de DesenvolvimentoVisuAlg

Rogério Aguiar [email protected]

Page 44: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

44 terça-feira, 5 de fevereiro de 2013

� Ambiente Integrado de Desenvolvimento – VisuAlg 2.0 � Barra de Menus;� Paleta de Componentes;� Declaração de Variáveis;� Comentários;� Atribuições de Valores;� Entrada � Saída� Copia� Comprimento� Cálculo com percentuais

O que iremos estudar?

Page 45: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

45 terça-feira, 5 de fevereiro de 2013

Ambiente Integrado para Desenvolvimento – VisuAlg

Page 46: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

46 terça-feira, 5 de fevereiro de 2013

Resumo - Ambiente desenvolvimento-VisuAlg

Page 47: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

47 terça-feira, 5 de fevereiro de 2013

Barra de Tarefas

Page 48: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

48 terça-feira, 5 de fevereiro de 2013

Barra de Tarefas

Page 49: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

49 terça-feira, 5 de fevereiro de 2013

Estrutura Básica de um Algoritmo

algoritmo “NomedoPrograma"// Função :// Autor :// Data : 6/8/2012// Seção de Declarações var

Inicio

// Seção de Comandos

fimalgoritmo

Page 50: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

50 terça-feira, 5 de fevereiro de 2013

Declarando VariáveisSintaxe:Variáveis Simples:

<lista-de-variáveis> : <tipo-de-dado>Ex: algoritmo “ExVariaveis"Var

Salario : RealNota1,Nota2 : InteiroNome : CaracterLigado:Logico

Inicio// Seção de Comandos fimalgoritmo

Na <lista-de-variáveis> , os nomes das variáveis estão separados por vírgulas

Page 51: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

51 terça-feira, 5 de fevereiro de 2013

Comentários de Programa(//)Utiliza-se duas barras ( // ). A partir das duas barras o interpretador ignora o restante do conteúdo da linha.

algoritmo “ExComentario"//Função :// Autor :// Data : 6/2/2007// Seção de Declarações varA:Inteiro

inicioA:= 32 * 2 // Calculando o valor de Afimalgoritmo

Page 52: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

52 terça-feira, 5 de fevereiro de 2013

Atribuição de valores à variáveisNome_da_variável := Conteúdo ( Constante, Variável ou Expressão)

Exemplo:

Algoritmo “ExAtribuicao”

Var Nota1 , Nota2 , Media , Soma : Real

Nome, Sobrenome, NomeCompleto, NomeInternacional: Caracter

Inicio

Nota1 := 8.00;

Nota2:= Nota1;

Soma := Nota1+Nota2;

Media := Soma/2;

Nome := ‘João’;

Sobrenome := ‘Da Silva’;

NomeCompleto:= Nome+ “ “+Sobrenome -> “João da Silva”

NomeInternacional := Sobrenome+”,”+Nome -> “Da Silva, João”

Fimalgoritmo.

Constante

Expressão

Variável

A atribuição é sempre realizada da DIREITA para a ESQUERDA

Page 53: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

53 terça-feira, 5 de fevereiro de 2013

Comandos de Entrada de dadosleia (<lista-de-variáveis>) Recebe valores digitados pelos usuário, atribuindo-os às variáveis cujos nomes foram declarados na seção VAR.

Page 54: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

54 terça-feira, 5 de fevereiro de 2013

Comandos Saída de DadosEscreva ( <lista-de-expressões> ) ou Escreval ( <lista-de-expressões> ) Escreve no dispositivo de saída padrão o conteúdo de cada uma das expressões que compõem <lista-de-expressões>. As expressões dentro desta lista devem estar separadas por vírgulas; depois de serem avaliadas, seus resultados são impressos na ordem indicada.

Page 55: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

55 terça-feira, 5 de fevereiro de 2013

Exercícios001-SomadeDoisNúmeros : Faça um algoritmo para receber dois números inteiros e ao final exibir resultado da soma

Page 56: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

56 terça-feira, 5 de fevereiro de 2013

Exercícios002-Média_Aritmética_de_Tres_ Notas: Faça um algoritmo para calcular e imprimir ao final a média aritmética de três notas informadas via teclado;

Page 57: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

57 terça-feira, 5 de fevereiro de 2013

Exercícios003-Média_Ponderada:Faça um algoritmo para calcular e exibir no vídeo ao final a média ponderada de três notas recebidas via teclado. O pesos serão: P1=2,P2=3,P3=5;

Page 58: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

58 terça-feira, 5 de fevereiro de 2013

004-Calculo_Salário_Líquido: Faça um algoritmo para calcular e exibir ao final o salário líquido de um determinado funcionário. Sabe-se que será informado por intermédio do teclado o Salário base, as vantagens e os descontos. O salário líquido é obtido somando-se as vantagens ao salário base e abatendo-se os descontos.

005-Multa_Biblioteca: Faça um algoritmo para calcular o valor da multa a ser paga decorrente do atraso na entrega de livros. Receber a quantidade de dias de atraso, calcular e exibir no vídeo o valor a ser pago à biblioteca. Sabe-se que para cada dia de atraso, paga-se R$ 1,20 de multa;

Exercícios

Page 59: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

59 terça-feira, 5 de fevereiro de 2013

006-Consumo: Sabendo-se que um veículo partiu para umaviagem com o tanque de combustível cheio e com o marcadorde quilometragem zerado. Ao chegar ao destino completou otanque, anotou distância percorrida e a quantidade de litrosabastecidos. Faça um algoritmo para receber a distânciapercorrida e a quantidade de litros abastecidos. Informar aquantidade de km que o veículo percorreu com um litro decombustível.

Exercícios

Page 60: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

60 terça-feira, 5 de fevereiro de 2013

007-Rateio : A energia da área comum e a água consumida pelos moradores do Edifício Prata Nobre é rateado entre os apartamentos. Escreva um algoritmo que receba a quantidade de apartamentos, valor da conta de energia e valor da conta de água, calcule e mostre o valor total que cada apartamento deve pagar;

008-FaturamentoOnibus : Todos os ônibus de uma empresa detransportes anota ao sair e ao chegar na garagem o númeroregistrado na catraca. Elabore um programa que receba oNúmero inicial da catraca, Número Final da Catraca e aquantidade de vales recebidos. Sabendo-se que a passagem é deR$ 1,50 e que o vale equivale a 50% deste valor, calcule ofaturamento do onibus naquele dia.

Exercício

Page 61: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

61 terça-feira, 5 de fevereiro de 2013

009-Semáforo : Sabendo-se que o estado de um semáforo muda a cada 40 segundos, receba a hora inicial e final de um período e mostre a quantidade de vezes que o estado do semáforo mudou neste período. Hora inicial e final deverão ser recebidas separadamente, ou seja, HH,MM,SS.

Exercício

Page 62: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

62 terça-feira, 5 de fevereiro de 2013

Percentuais

Page 63: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

63 terça-feira, 5 de fevereiro de 2013

Problema :

1. Sabendo-se que uma determinada turma tem 20 alunos do sexo masculino e5 do sexo feminino. Calcular o percentual de alunos do sexo feminino emrelação ao total de alunos da turma.

TOTAL_ALUNOS 100 PERC = TOTAL_MULHERES * 100 / TOTAL_ALUNOS

PERC = 5*100/25 -> 20%

Resumo:

TODO 100%

PARTE PERC���� PERC = PARTE * 100 / TODO

TOTAL_MULHERES PERC

Revisão Matemática – Cálculo com Percentagem

Page 64: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

64 terça-feira, 5 de fevereiro de 2013

Problema : Aplicar 10% de aumento em um salário de 180.00

1º )PASSO : Calcular o valor que será aumentado ou abatido

Achar o valor a ser acrescido – Regra de três simples e direta

180 100

ACRESCIMO 10

2º )PASSO :

Adicionar o acréscimo encontrado ao valor original do salárioVALOR_FINAL = VALOR_ORIGINAL + ACRESCIMOVALOR_FINAL = 180 + 18 ���� VALOR_FINAL = 198.00

Revisão Matemática –Percentagem

ACRESCIMO = (180 * 10 )/100 ���� ACRESCIMO = 18.00

Formula Geral: VALOR_FINAL = VALOR_ORIGINAL (VALOR_ORIGINAL * PERC/100)

Ex.: Adicionar 15% em um Valor : Resultado = Valor + (Valor * 15/100)Descontar 15% em um Valor : Resultado = Valor - (Valor * 15/100)

ACRESCIMO = (VALOR_ORIGINAL* PERC )/100 VALOR_ORIGINAL 100

ACRESCIMO PERC

Forma Reduzida: Adicionar 15% em um Valor : Resultado = Valor * 1.15 Reduzir 15% em um Valor : Resultado = Valor * 0.85Adicionar 5% em um valor : Resultado = Valor * 1.05Reduzir 5% em um valor : Resultado = Valor * 0.95Aumentar 230% em um valor : Resultado = Valor * 2.30

Page 65: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

65 terça-feira, 5 de fevereiro de 2013

015-Salario Líquido-IR-INSS: Faça um programa que recebao salário bruto de um funcionário. Calcule e exiba os dadosabaixo solicitados em cima do valor bruto recebido:a) 5% de Imposto de renda(IR);b) 11% de INSS;c) O salário líquido menos os descontos anteriores;

ExercícioExercícioExercícioExercício

15 Minutos016-Percentuais_HomensxMulheres: Em um determinadoconcurso público são informados as quantidades de candidatospresentes do sexo masculino e do sexo feminino, bem como ototal dos ausentes. Estes dados serão informados via teclado.Pede-se, Calcular e exibir os dados abaixo:a)O Percentual de Homens em relação ao total de candidatos;b)O percentual dos faltosos em relação ao total dos presentes

20 Minutos

Page 66: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

66 terça-feira, 5 de fevereiro de 2013

ExercícioExercícioExercícioExercício 15 Minutos cada017-Calculo quilowatt: Sabe-se que o quilowatt de energiacusta um centésimo do salário mínimo. Faça um programa quereceba o valor do salário mínimo e a quantidade de quilowattgasta por uma residência. Calcule e exiba:

• O valor em reais , de cada quilowatt;• O valor , em reais , a ser pago por essa residência;• O novo valor a ser pago por essa residência, a partir de um

desconto de 15%

018-Celsius_Fahrenheit :Faça um programa que receba o valor de uma temperatura em graus Célsius e apresentá-la convertida em graus Fahrenheit. A fórmula de conversão é: F = (9 * C + 160) / 5Onde: F é a temperatura em Fahrenheit e;

C é a Temperatura em Celsius. 30c -> 86.000f

Page 67: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

67 terça-feira, 5 de fevereiro de 2013

ExercícioExercícioExercícioExercício 15 Minutos cada019-Preço do Automóvel : O preço de um automóvel é calculadopela soma do preço de fábrica, somado ao preço dosimpostos e o percentual do revendedor. Sabendo que os impostosrepresentam 45% do preço de fábrica e que a percentagem dorevendedor é de 28% do preço de fábrica. Faça um programa quereceba o preço de fábrica e imprima preço final.

Page 68: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

68 terça-feira, 5 de fevereiro de 2013

ExercícioExercícioExercícioExercício 15 Minutos cada020-Custo Funcionário: Uma empresa tem para um determinadofuncionário uma ficha contendo o nome, número de horastrabalhadas e o nº de dependentes de um funcionário.

Considerando que: A empresa paga 12 reais por hora , 40 reais pordependentes e que sobre o salário bruto são feitos descontos de8,5% para o INSS e 5% para IR.

Faça um programa para receber o nome, número de horastrabalhadas e número de dependentes de um funcionário. Após orecebimento, escreva: o Nome, o salário bruto, os valoresdescontados para cada tipo de imposto e finalmente qual o saláriolíquido do funcionário.

Page 69: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

69 terça-feira, 5 de fevereiro de 2013

ExercícioExercícioExercícioExercício 20 Minutos cada

021-Show ao Vivo : A empresa Show Life apresenta show ao vivo em qualquer local que for solicitado. Cada show é cobrado por hora de apresentação mais um valor cobrado conforme a distância (R$ 2,00 por quilometro). A Show Life paga ao veículo, que faz o transporte dos equipamentos e de pessoal, uma comissão de 35% sobre o valor cobrado pela distância.Elabore um programa para receber os dados necessários, calculare mostrar o valor cobrado por um show e a comissão dotransportador;

Page 70: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

70 terça-feira, 5 de fevereiro de 2013

Função Copia()Função Copia()Função Copia()Função Copia()

Retorna um pedaço de um conteúdo de um textoSintaxe:VarCarc:=Copia ( conteúdo caracter , posição inicial, deslocamento)

Var RESULTADO, NOME: Caracter;N : Inteiro;

Inicio RESULTADO := Copia (‘UNIBRATEC’, 2 , 4) NOME := “MARIA JOSÉ DA SILVA PEREIRA”N:= 2;RESULTADO := Copia (NOME, 10, 4)

RESULTADO := Copia (NOME, 1,5)

RESULTADO := Copia (NOME, 3,3)

RESULTADO := Copia (“IBRATEC”+”/”+”CDU” , 7,3)

RESULTADO := Copia (NOME, N, N+5); FimAlgoritmo.

=> “NIBR” => Conteúdo Constante

=> “É DA” => Conteúdo variável

=> “MARIA” => Conteúdo variável

=> “RIA” => Conteúdo variável

=>“ C/C”=>Conteúdo Expressão

=>“ARIA JO”=>Posição – Var e Desl - Expressão

Constante , Variável ou Expressão

Page 71: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

71 terça-feira, 5 de fevereiro de 2013

Função Compr()Função Compr()Função Compr()Função Compr()

Compr: retorna um valor numérico com a quantidade de caracteres contidos em um texto ou variável caractere;

Sintaxe:Compr ( conteúdo caracter )

Ex.:

Var Nome, Resultado: CaracterTam : Inteiro

InicioTam := Compr(‘Rogério Aguiar’)

RESULTADO := Copia (“IBRATEC”, 2 , 4) Tam := Compr(Resultado)

FimAlgoritmo

=> “BRAT”=> 4

=> 14

=> Constante , Variável ou Expressão

Page 72: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

72 terça-feira, 5 de fevereiro de 2013

Conversão de Tipos de DadosCARACTERE para NÚMERicoVariávelNum:= CaracPNum(Caractere) -> ( Inteiro ou Real);

Algoritmo “ExCaracPNum”Var Data:Caracter

Dia, Mes, Ano: InteiroInicio

1 2 3 4 5 6 7 8 9 0

Data := “06/02/2012”Dia := CaracPNum(Copia(Data,1,2) ) � “06” Mes:= CaracPNum(Copia(Data, 4,2)) � “02” Ano:= CaracPNum(Copia(Data, 7,4)) � “2012”

Mes:= CaracPNum(Copia(Data, 3,4)) � “/02/” � ERRO

FimAlgoritmo

Page 73: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

73 terça-feira, 5 de fevereiro de 2013

Conversão de Tipos de DadosNÚMERO para CARACTERVariávelCaracter:= NumPCarac(Inteiro ou Real)

Exemplos:Algoritmo “ExNumPCarac”Var

Endereco, Logradouro, Bairro: CaracterNumero : Inteiro

Inicio Logradouro:= “Rua ABC”Bairro := “Boa Viagem”Numero:= 123Endereco := Logradouro +”,”+NumPCarac(Numero) + “,”+Bairro

// “Rua ABC,123,Boa Viagem”FimAlgoritmo

Page 74: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

74 terça-feira, 5 de fevereiro de 2013

022-PartesdeUmaFrase : Faça um algoritmo que receba uma frase qualquer informada via teclado e escreva no vídeo o que se segue:

a) Os Primeiros 5(cinco) caracteres da frase;b) Os últimos 5(cinco) caracteres da frase;c) Os primeiros 5(cinco) caracteres da frase invertidos;d) A quantidade de bytes contidos na frase;

023-InverterData: Escreva um programa para receber umadata no formato americano (AAAA/MM/DD) e mostrá-la noformato nacional (DD/MM/AAAA).

Exercício

Page 75: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

75 terça-feira, 5 de fevereiro de 2013

Exercício – Pensando um pouco mais

024_A-Operações com Frases: Receber duas variáveis tipocaracter(FRASE e COMPLEMENTO) e exibir o que se segue:a)Tamanho da Frase;b)Tamanho do Complemento;c) Dividir a frase ao meio e exibir a primeira parte;d) Dividir a frase ao meio e exibir a segunda parte;e) Exibir a frase concatenada com o complemento;f) Exibir a frase com os primeiros bytes substituídos pelos bytes docomplemento:Ex: Frase: ABCDEFG Compl: @@@ -> @@@DEFG

g) Exibir a frase com os últimos bytes substituídos pelos bytes docomplemento:Ex: Frase: ABCDEFG Compl: @@@ -> ABCD@@@

h) Exibir a frase com o complemento inserido no meio separado porhífen. Ex: Frase: ABCDEFG Compl: @@@ -> ABC-@@@-DEFG

Page 76: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

76 terça-feira, 5 de fevereiro de 2013

Exercício – Pensando um pouco mais

025-Data por extenso: Receber uma data no formato(DD/MM/AAAA) e mostrá-la no formato:Recife, DD de mmmmmmmmmm de AAAA. Ondemmmmmmmmmmm = mês por extenso. Suponha o operadordigitar uma data válida e no formato indicado, fazer uso apenasdos operadores e funções vistas até o momento, ou seja, nãoserá permitido utilizar o SE, Vetor ou qualquer estrutura aindanão vista na disciplina.Ex.07/08/2012 – Recife, 07 de agosto de 2012

Page 77: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

77 terça-feira, 5 de fevereiro de 2013

Dúvidas!?

Rogério Aguiar [email protected]

� Ambiente Integrado de Desenv. – IDE VisuAlg� Barra de Menus;� Paleta de Componentes;� Declaração de Variáveis;� Comentários;� Atribuições de Valores;� Entrada � Saída� Copia� Comprimento� Cálculos com percentuais

Page 78: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

78 terça-feira, 5 de fevereiro de 2013

Estruturas Condicionais

Rogério Aguiar [email protected]

Page 79: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

79 terça-feira, 5 de fevereiro de 2013

O que iremos estudar?

� Estruturas Condicionais;

� SE – Simples;

� SE – Composto;

� SE - Encadeados

� Exercícios;

Page 80: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

80 terça-feira, 5 de fevereiro de 2013

SE - Simples

Sintaxe:Se < (Condição) > Entao

<instrução a ser executada se a condição for verdadeira>;<instrução a ser executada se a condição for verdadeira>;<instrução a ser executada se a condição for verdadeira>;

FimSe<Instrução a ser executada independente do resultado da condição;

Exemplo:Se (Media >= 7.00) Entao

Escreva(“Aluno Aprovado”)FimSe

Page 81: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

81 terça-feira, 5 de fevereiro de 2013

Exemplo : SE - Simples

Receba dois valores inteiros, exiba sua soma e seu produto. A soma só deverá ser exibida se o primeiro valor for superior a 10..........

Leia (V1,V2) Se (V1 >= 10) Entao

Soma := V1+V2;Escreva(Soma)

FimSe Produto:= V1*V2;Escreva(Produto);

.............

É executado independente da condição

Só é executado se a condição for verdadeira

Page 82: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

82 terça-feira, 5 de fevereiro de 2013

SE - CompostoSintaxe:

Se < (Condição) > entao <instrução a ser executada se a condição for verdadeira>;<instrução a ser executada se a condição for verdadeira>;<instrução a ser executada se a condição for verdadeira>;

Senao<instrução a ser executada se a condição for falsa >;<instrução a ser executada se a condição for falsa >;<instrução a ser executada se a condição for falsa >;

Fimse

Exemplo:Se (Media >= 7.00) entao

Escreva(‘Aluno Aprovado’)Senao

Escreva(‘Aluno Reprovado’)Fimse

T

F

Page 83: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

83 terça-feira, 5 de fevereiro de 2013

Exemplo : SE - Composto

Receba dois valores inteiros, exiba sua soma se o primeiro valor for maior que o segundo e seu produto em caso contrário. .........

Leia(V1,V2)

Se (V1 > V2) entaoSoma := V1+V2;Escreva(Soma)

SenaoProduto:= V1*V2;Escreva(Produto)

FimSe

Trecho só é Executado se a condição for FALSE

Trecho só é executado se a condição for TRUE

Page 84: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

84 terça-feira, 5 de fevereiro de 2013

SE - EncadeadosSintaxe:

Se < (Condição1) > entao

<instrução a ser executada se a condição1 for verdadeira>;Se < (Condição2) > entao

<instrução a ser executada se a condição2 for verdadeira>;Fimse

Senao<instrução a ser executada se a condição1 for falsa >;<instrução a ser executada se a condição1 for falsa >;

Se < (Condição3) > entao<instrução a ser executada se a condição3 for verdadeira>;

Senao <instrução a ser executada se a condição3 for falsa>;

Fimse

Fimse

T

T

F

OBS: Procure arrumar os Se´s de forma a facilitar a visualização

T

F

Page 85: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

85 terça-feira, 5 de fevereiro de 2013

SE - Encadeados

Exemplo:

Se (Media > 7.00) Entao

Escreva( ‘Aluno Aprovado’)

Senao

Se (Media >= 5.00) e (Media <= 7.00) entao

Escreva( ‘Aluno em Recuperação’)

Senao

Escreva( ‘Aluno Reprovado’)Fimse

Fimse

T

F

T

F

Page 86: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

86 terça-feira, 5 de fevereiro de 2013

Exemplo : SE - EncadeadosReceba dois valores inteiros, exiba sua soma se o primeiro valor for maior que o segundo, seu produto se o segundo for maior que o primeiro. Caso sejam iguais informar “São Iguais”

Leia(V1,V2)Se (V1 > V2) entao

Soma := V1+V2Escreva(Soma)

SenaoSe (V2 > V1) Entao

Produto:= V1*V2Escreva(Produto)

SenaoEscreva(‘São Iguais’);

FimseFimse

Page 87: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

87 terça-feira, 5 de fevereiro de 2013

Exercício026-Ordem Crescente dois números: Faça um programa que receba dois valores inteiros e exiba-os em ordem crescente;

10 Minutos027-Maior e Menor de três: Faça um programa que receba três valores inteiros e informe qual é o maior e o menor dentre eles;

20 Minutos028-Ordem_Crescente_Três Números: Faça um programa que receba três valores inteiros e exiba-os em ordem crescente;

30 Minutos

029-Par ou Impar: Faça um programa que receba um valor inteiro e informe se o mesmo é “Par” ou “Impar”;

10 Minutos

Page 88: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

88 terça-feira, 5 de fevereiro de 2013

Exercício – Pensando um pouco mais

30 Minutos

030-Pescador: João Papo-de-Pescador, homem de bem,comprou um microcomputador para controlar o rendimentodiário de seu trabalho. Toda vez que ele traz um peso de peixesmaior que o estabelecido pelo regulamento de pesca do estadode São Paulo (50 quilos) deve pagar um multa de R$ 4,00 porquilo excedente. João precisa que você faça um algoritmo queleia a variável P (peso de peixes) e verifique se há excesso. Sehouver, gravar na variável E (Excesso) e na variável M o valorda multa que João deverá pagar. Caso contrário mostrar taisvariáveis com o conteúdo ZERO.

Page 89: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

89 terça-feira, 5 de fevereiro de 2013

Exercício – Pensando um pouco mais

031-Triângulo: Receba três números inteiros representando ostamanhos dos lados de um triângulo. Verifique se os númerosinformados formam um triângulo, ou seja, cada um dos ladosinformados tem que ser menor que a soma dos outros dois. Emcaso positivo informar qual tipo de triângulo seria formado

• Equilátero se os três lados forem iguais(3,3,3);• Isósceles se dois lados forem iguais(3,2,3);• Escaleno se os três lados forem diferentes(4,2,3);

(9,1,3) -> Não forma um triângulo

30 Minutos

Page 90: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

90 terça-feira, 5 de fevereiro de 2013

Exercício032-ImpostodeRenda:Elabore um programa que permitacalcular o imposto de renda (IR) de um casal a partir das rendasdo homem(RH) e da renda da mulher(RM). O imposto écalculado sobre a renda conjunta (RC=RH+RM) de acordo com atabela abaixo:

30 Minutos

Renda Conjunta Alíquota - IR

Até 900.00 Isento

De 900.01 até 1500.00 10%

De 1500.01 até 2500.00 15%

Acima de 2500.00 25%

Exibir ao final:a) A renda conjunta(RC);b) A alíquota Utilizada;c) O Imposto de renda(IR) calculadod) A renda líquida

Page 91: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

91 terça-feira, 5 de fevereiro de 2013

033-Diária do Hotel:Um hotel cobra R$ 300,00 por diária e mais umataxa adicional de serviços (para cada diária). Se o número de diárias formenor que 15 a taxa é de R$ 20,00. Se o número de diárias for igual a 15a taxa é de R$ 14,00 e se o número for maior que 15 a taxa é de R$12,00. Faça um programa que receba o número de diárias e imprima ototal a pagar por uma pessoa, de acordo com o número de diárias dessapessoa.

Exercício

034-Reajuste : Um supermercado deseja reajustar os preços de seus produtos usando o seguinte critério: o produto poderá ter seu preço aumentado ou diminuído. Para alterar o preço, o produto deve preencher pelo menos um dos requisitos a seguir:

Faça um algoritmo que receba o preço atual e a venda mensal média do produto, calcule e mostre o novo preço.

Page 92: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

92 terça-feira, 5 de fevereiro de 2013

Exercício035-SPA: Elabore um programa que permita receber o peso e aaltura de uma pessoa adulta. O programa deverá exibir uma dasseguintes mensagens: “Parabéns peso ideal”, “Engorde XXXKg”,“Emagreça XXX Kg” de acordo com a tabela abaixo:

20 Minutos

Altura Peso Ideal

Até 1.50 50 Kg

De 1.50 até 1.90 70 Kg

Acima de 1.90 100 Kg

Page 93: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

93 terça-feira, 5 de fevereiro de 2013

036-A-Cálculo IR :Faça um programa que calcule o Imposto de renda uma pessoa, considerando:

a) Para cada pessoa tem-se: Número de Dependentes e a Renda Bruta Anual;b) O imposto é calculado segundo a tabela abaixo:

Renda Bruta Anual - % IRaté R$ 10.000,00 - isento> R$ 10.000,00 até R$ 30.000,00 - 5%> R$ 30.000,00 até R$ 60.000,00 - 10%> R$ 60.000,00 - 15%

c) Há um desconto efetuado na renda bruta anual de R$ 600,00 para cada dependente antes de efetuar o enquadramento na tabela.

Exercício

20 Minutos

Page 94: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

94 terça-feira, 5 de fevereiro de 2013

Exercício – Pensando um pouco mais 037-Equacaosegundograu:Elabore um programa que permita achar as raízes de uma equação do segundo grau da forma: ax2 + bx + c = 0 . Serão recebidos os coeficientes da equaçao(a,b e c).

∆ = b2 – 4acSe ∆ > 0 -> X1= (-b + √∆ ) /2a

X2= (-b - √∆ ) /2a

Se ∆ = 0 -> X = -b/2a

Se ∆ < 0 -> X = Indeterminada

Equações p/testes

X2 – 5X + 4 = 0 { 1, 4}

X2 + 2X + 1 = 0 { -1 }

7X2 + 6X + 2 = 0 { }

30 MinutosFunção para calcular a raiz quadrada - Raizq(4) = 2

Page 95: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

95 terça-feira, 5 de fevereiro de 2013

038-Calculadora:

Construa um algoritmo que receba dois números reais e um dosseguintes símbolos: +, -, * ou /, o qual designará qual operaçãoserá aplicada considerando os valores recebidos comoseus operandos.

O referido algoritmo deve retornar o resultado da operaçãoselecionada.

Exercício

Page 96: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

96 terça-feira, 5 de fevereiro de 2013

039-A-Diferença entre datas : Escreva um algoritmo quereceba duas datas de um mesmo ano no formato(DD/MM/AAAA) e mostre a diferença destas datas em dias.

Pensando um pouco mais

Page 97: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

97 terça-feira, 5 de fevereiro de 2013

040-Vogal / consoante : Receber uma frase e informar se começa com vogal ou consoante

041-Indicativo sobre situação de votação : O TRE desejacolocar um terminal onde a população poderá consultar sobre aobrigatoriedade ou não do voto.Elabore um algoritmo para receber a idade de uma pessoa eindicar

Para a idade de 16 e 17 anos : Voto Opcional ;Para a idade de 18 a 65 anos : Voto Obrigatório;Para a idade acima de 65 anos : Voto Opcional;Para a idade abaixo de 16 anos : Impossível votar

Exercício

Page 98: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

98 terça-feira, 5 de fevereiro de 2013

Dúvidas!?

Rogério Aguiar [email protected]

� Estruturas Condicionais;

� SE – Simples

� SE – Composto

� SE - Encadeados

� Exercícios;

Page 99: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

99 terça-feira, 5 de fevereiro de 2013

Estruturas Repetitivas

Rogério Aguiar [email protected]

Page 100: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

100 terça-feira, 5 de fevereiro de 2013

O que iremos estudar?

� Estruturas Repetitivas;

� Enquanto

� Repita

� Para

� Interrompa

� Exercícios;

Page 101: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

101 terça-feira, 5 de fevereiro de 2013

Executa as instruções internas ao laço enquanto a condição for verdadeiraSintaxe:

Enquanto <condição> faca<instrução a ser executada enquanto a condição for verdadeira><instrução a ser executada enquanto a condição for verdadeira>

FimEnquanto

Estrutura de repetição: Enquanto .. Faça

Exemplo: Faça um algoritmo que escreva os números de 1 até 10 no vídeo

Algoritmo “ 1_10_Com_Enquanto ”var Contador : inteiroinicio

Contador:= 1 // Inicia o contadorEnquanto Contador <= 10 faca

Escreva (Contador)Contador := Contador + 1 //Incrementa o contador

FimEnquantoFimAlgoritimo

Permanece no laço enquanto a condição for VERDADEIRA

Page 102: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

102 terça-feira, 5 de fevereiro de 2013

Executa as instruções internas ao laço enquanto a condição for falsaSintaxe:Repita

<instrução a ser executada enquanto a condição for falsa>;<instrução a ser executada enquanto a condição for falsa>;

Ate <condição>

Estrutura de repetição: Repita..Ate

Exemplo: Faça um algoritmo que escreva os números de 1 até 10 no vídeo

Algoritmo “ 1_10_Com_Repita ”var Contador : inteiroinicio

Contador:= 1 // Inicia o contadorRepita

Escreva (Contador)Contador := Contador + 1 //Incrementa o contador

Ate Contador > 10FimAlgoritimo

Permanece no laço enquanto a condição for FALSA

Page 103: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

103 terça-feira, 5 de fevereiro de 2013

Executa as instruções internas ao laço uma quantidade de vezes pre-determinadas, deve ser utilizado quando sabe-se o número de vezes em que um trecho do programa deve ser repetido.Sintaxe:Para var := Valor Inicial Ate Valor final Passo ±±±±Incremento Faca

<instrução a ser executada uma determinada quantidade de vezes><instrução a ser executada uma determinada quantidade de vezes>

FimParaObs.: quando o incremento for 1 a instrução Passo pode ser omitida

Não é necessário iniciar e nem incrementar o contador , pois automaticamente esta estrutura repetitiva efetua este controle;

Estrutura de repetição: Para .. Faça

Exemplo: Faça um algoritmo que escreva os números de 1 até 10 no vídeo

Algoritmo “ 1_10_Com_Para ”var Contador : inteiroinicio

Para Contador := 1 Ate 10 Passo 1 Faca

Escreva (Contador)

FimParaFimAlgoritimo

Pode ser suprimido quando o incremento é 1

Page 104: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

104 terça-feira, 5 de fevereiro de 2013

Algoritmo “Repita”var Contador : InteiroInicio

Contador:= 1Repita

Escreva(Contador)Contador := Contador + 1

Ate Contador > 15

FimAlgoritmo

Algoritmo “Para”var Contador : InteiroInicioPara Contador := 1 Ate 10 Faca

Escreva(Contador)FimAlgoritmo

Exemplo: Faça um algoritmo que escreva os números de 1 até 10 no vídeo

Algoritmo “Enquanto”var Contador : InteiroInicioContador:= 1 Enquanto Contador <= 15 faca

Escreva(Contador)Contador := Contador + 1

FimEnquantoFimAlgoritmo

Resumo das Estruturas

Page 105: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

105 terça-feira, 5 de fevereiro de 2013

Em qualquer um dos laços exibidos anteriormente podemos usar o comando Interrompa para cancelar a repetição e sair do laço

Interrompa

Exemplo: Faça um algoritmo que escreva os números de 1 até 10 no vídeo

Algoritmo “ 1_10_Com_Para ”var Contador : inteiroinicio

Para Contador de 1 Ate 10 Faca

Se Contador >=5 entaoInterrompa // Interrompe o laço

Fimse

Escreva (Contador)

FimParaFimAlgoritimo

Page 106: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

106 terça-feira, 5 de fevereiro de 2013

042 - Elabore um algoritmo que escreva no vídeo os números de 1 a 100 utilizando a estrutura de repetição ENQUANTO;

Exercício

043 - Elabore um algoritmo que escreva no vídeo os números de 10 a 70 utilizando a estrutura de repetição REPITA;

044 - Elabore um algoritmo que escreva no vídeo os números de 55 a 98 utilizando a estrutura de repetição PARA;

045 - Elabore um algoritmo que escreva no vídeo os números de 150 a 100 utilizando qualquer das estruturas de repetição;

046 - Elabore um algoritmo que escreva no vídeo os números pares existentes entre 10 e 50, utilize qualquer uma das estruturas de repetição conhecidas;

047 - Obter a série de Fibonacci até o termo N informado por teclado. A Série de Fibonacci é assim definida: 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...

Page 107: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

107 terça-feira, 5 de fevereiro de 2013

048-Tabuada:Elabore um algoritmo que permita exibir na tela a tabuada de um número inteiro informado via teclado –Observe o formato abaixo: a tabuada deverá respeitar o formato abaixo;

10 Minutos

Exercício

7 x 1 = 77 x 2 = 147 x 3 = 217 x 4 = 287 x 5 = 357 x 6 = 427 x 7 = 497 x 8 = 567 x 9 = 637 x 10 = 70

Page 108: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

108 terça-feira, 5 de fevereiro de 2013

15 Minutos cada

Exercício049-Soma_dos_inteiros: Elabore um algoritmo que permita receber um número inteiro via teclado e exibir no vídeo a soma dos números contidos entre o intervalo entre 1 e o inteiro recebido

050-Números_impares_inferiores: Elabore um algoritmo que permita receber um número inteiro via teclado e exibir no vídeo os números impares inferiores a ele.

051-Soma_dos_pares_inferiores: Elabore um algoritmo que permita receber um número inteiro via teclado e exibir no vídeo a soma dos números pares inferiores a ele.

052-Soma_e_Média: Elabore um algoritmo que receba 5(cinco) números digitados via teclado, valores aleatórios. Ao final exibir no vídeo a soma e a média aritmética dos mesmos;

Page 109: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

109 terça-feira, 5 de fevereiro de 2013

Exercício – Pensando um pouco mais

054-Verificação_de_número_primo: Elabore um algoritmo que permita receber um número inteiro via teclado e exibir no vídeo se o número recebido é primo. Sabe-se que um número é primo quando é apenas divisível por 1 e por ele mesmo.

053-Totalizadores: Elabore um algoritmo que receba números aleatórios via teclado. Encerrar o recebimento quando receber o número com valor igual a 999, este não deverá entrar nos cálculos. Ao final exibir o que se segue:

a) A quantidade de números digitados;b) A soma dos valores digitados;c) A média dos números pares digitados;

20 Minutos cada

Page 110: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

110 terça-feira, 5 de fevereiro de 2013

20 Minutos Cada

Exercício – Pensando um pouco mais055-Operações_com_frases: Elabore um algoritmo que permita receber uma frase via teclado e exibir no vídeo o que segue:

a) A Quantidade de letras “a”;b) A Quantidade de palavras;c) A frase recebida invertida.

056-População_Países:Supondo que a população de um país Aseja da ordem de 90.000 de habitantes com uma taxa anual de crescimento de 3% e que a população de um país B seja, aproximadamente, de 200.000 de habitantes com uma taxa anual de crescimento de 1,5%, fazer um algoritmo que calcule e escreva o número de anos necessários para que a população do país Aultrapasse ou iguale a população do país B, mantida essas taxas de crescimento

Page 111: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

111 terça-feira, 5 de fevereiro de 2013

20 Minutos cada

Exercício – Pensando um pouco mais

057-Maior de uma lista de idades: Elabore um algoritmo que receba idades aleatórias via teclado. Encerrar o recebimento quando receber uma idade com valor igual a 100, esta não deverá entrar nos cálculos. Ao final exibir a maior idade recebida;

058-Menor de uma lista de pesos: Elabore um algoritmo que receba pesos aleatórios via teclado. Encerrar o recebimento quando receber um peso com valor superioa a 200 kilos, este não deverá entrar nos cálculos. Ao final exibir o menos peso recebido;

Page 112: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

112 terça-feira, 5 de fevereiro de 2013

20 Minutos cada

Exercício059-Material_Radioativo: Um determinado material radioativoperde metade de sua massa a cada 50 segundos. Dada a massainicial, em gramas, fazer um algoritmo que determine o temponecessário para que essa massa se torne menor do que 0,5 grama.Escreva ao final a massa inicial, a massa final e o tempo calculadoem segundos.

060-Estatísticas:Tem-se um conjunto de dados contendo a alturae o sexo (”M”, “F”) de pessoas. Fazer um algoritmo que receba viateclado este conjunto de dados , o último registro terá o valor dosexo = “FIM”, calcule e escreva:a) a maior e a menor altura do grupo;b) a média de altura das mulheres;c) a quantidade de pessoas do sexo masculino;

Page 113: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

113 terça-feira, 5 de fevereiro de 2013

30 Minutos

Exercício061-Pesquisa:Uma certa firma fez uma pesquisa de mercado parasaber se as pessoas gostaram ou não de um novo produto lançadono mercado. Para isso, forneceu o sexo(“M” ou “F”) do entrevistadoe sua resposta “sim” ou “não”). Sabendo-se que o último registro aser lido contém o valor do sexo igual a “FIM” calcule e escreva:

a) o número de pessoas que responderam sim;b) o número de pessoas que responderam não;c) a porcentagem de pessoas do sexo feminino que responderam

sim em relação ao total de mulheres;d)a porcentagem de pessoas do sexo masculino que responderam

não em relação ao total de respostas;

Page 114: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

114 terça-feira, 5 de fevereiro de 2013

Exercício062-Estatísticas1:

Criar um algoritmo para receber Sexo (M, F) , a cor dos olhos (azuis, verdes, castanhos), a cor dos cabelos (louros, castanhos, pretos) e a Idade (anos). Ao final exiba o que segue:

a) maior idade;b) %homens em relação ao total c) % mulheres entre 18 e 35 anos, com olhos verdes e cabelos castanhos ou pretosd) Média das idades dos homens , com cor dos olhos Azuis ou verdes e cabelos pretos.d) O final da execução se dará quando for digitado “S” no sexo.

Page 115: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

115 terça-feira, 5 de fevereiro de 2013

Exercício062-Estatisticas2:

Fazer um algoritmo que receba a altura e sexo de 30 pessoas eescreva ao final:

a) a menor altura do grupo;b) a média da altura dos meninos;c) identificar a posição da pessoa mais alta e dizer se émenino ou menina.

Page 116: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

116 terça-feira, 5 de fevereiro de 2013

Exercício064-Conversão(Hora->Segundo): Receber um horário no formato HH:MM:SS validar se foi digitado corretamente. Em caso afirmativo exibir esta hora convertida em segundos.

Exemplo: 02:20:30 corresponde a 8430 segundos.

065-Conversão(Segundo->Hora): Receber um valor inteiro correspondente a uma quantidade de segundos e exibí-lo no formato: HH:MM:SSExemplo: 500 segundos correspondem a 00:08:20;

8430 segundos correspondem a 02:20:30;27308 segundos correspondem a 07:35:08;

20 Minutos cada

Page 117: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

117 terça-feira, 5 de fevereiro de 2013

066-Converte Decimal->Binário:Elabore um programa que receba um número na base decimal e converta para um número na base binária.(Decimal para Binário)

101

010 2

5 2

2 2

Decimal para Binário - Fazemos divisões inteiras(DIV) sucessivas por 2 até que o quociente sejainferior a 2. Ao final concatenamos o últimoquociente com todos os restos(MOD) obtidos naordem inversa. Ex.: 10 -> 1010(2)

8 4 2 1

Exercício-Pensando um pouco mais

40 Minutos

067-Fatorial:Elabore um programa que permita receber em um número inteiro e exiba o seu fatorial. Ex. 5! = 1x2x3x4x5 = 120.(Fatorial)

20 Minutos

Page 118: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

118 terça-feira, 5 de fevereiro de 2013

068-Converte_Binário->Decimal:Elabore um programa que receba um número na base binária e converta para um número na base decimal.(Binário Para Decimal)

Binário para Decimal - Fazemos o somatório dos produtos das parcelas do número binário em ordem inversa, por potências sucessivas de dois elevadas a ordem da parcela .

Ex.: 1010(2) -> (0 * 20)+(1 * 21)+(0 * 22)+(1 * 23) = 0+2+0+8 = 10

Obs.: Exponenciação : EXP(Base,Expoente) – Ex. 2 2 = Exp(2,2) = 4

Exercício-Pensando um pouco mais

40 Minutos

Page 119: Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01

ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC

119 terça-feira, 5 de fevereiro de 2013

Dúvidas ????????Dúvidas ????????Dúvidas ????????Dúvidas ????????

�Estruturas Repetitivas;

� Enquanto

� Repita

� Para

� Interrompa

� Exercícios;