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

13.788 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
2 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
13.788
No SlideShare
0
A partir de incorporações
0
Número de incorporações
10
Ações
Compartilhamentos
0
Downloads
139
Comentários
0
Gostaram
2
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

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

  1. 1. 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 rogerio.aguiar@unibratec.edu.br
  2. 2. 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 (rogerio.aguiar@unibratec.edu.br) 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 - UFPE Experiência Profissional: EMPREL - Empresa Municipal de Informática – Prefeitura do Recife Analista de Sistemas - Diretor de Infraestrutura de Informática Ex-Diretor de Negócios e Sistemas Corporativos TECNASA – Consultor e Gestor da Célula TIC – www.tecnasa.com.br Experiência Docente: UNIBRATEC : Coordenador da Pós-Graduação em Gestão da TIC, Coordenador do ENADE Professor 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 SIG FAFIRE – Professor Pós-Graduação em Gestão – Gestão Estratégica
  3. 3. 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
  4. 4. 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
  5. 5. 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ão observados Pontos que serão observados 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%)
  6. 6. 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)
  7. 7. 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
  8. 8. 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 sucessivos. C5 - Esquematizar o projeto lógico em estrutura de classes; C6 - Ordenar a seqüência lógica para construção de solução de software; DisciplinaDisciplina Carga Horária(144): • Presenciais - 116 (Presenciais) – 35 encontros de 4ha(50”) cada • A distância - 28 (Exercícios e aprofundamentos)
  9. 9. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 9 terça-feira, 5 de fevereiro de 2013 HabilidadesHabilidades H1 - Compreender a história e evolução dos computadores H2 - Compreender os sistemas de numeração H3 - Identificar os componentes funcionais do computador H4 - 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ções H10 - Aplicar os conceitos da lógica de programação em soluções algorítmicas
  10. 10. 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 Passo John Sharp Ed. Microsoft C# Como Programar Harvey M. Deitel Ed. Makron Books - Perason Lógica de Programação Guilherme Gonçalves de Freitas Ed. Senac
  11. 11. 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?
  12. 12. 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 Teixeira Rogerio.aguiar@unibratec.edu.br
  13. 13. 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 Teixeira Rogerio.aguiar@unibratec.com.br
  14. 14. 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üência lógica com o objetivo de executar uma determinada tarefa. Exemplo: Roteiro para chegar em sua residência, passos para efetuar uma ligação de um orelhão, planejamento do fim de semana, procedimentos para realizar a soma de dois números. O que é um Algoritmo?
  15. 15. 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 que serã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?
  16. 16. 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 determinada linguagem de programação, segundo suas regras de sintaxe e semântica, de forma a permitir que o computador execute a seqüência de ações. O que é um Programa de Computador?
  17. 17. 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 integradas que permite ao desenvolvedor construir os programas de computador; Exemplo: Visualg, Visual Studio 2010 – IDE - (Integrated Development Environment - Ambiente Integrado de Desenvolvimento) utilizado pela Microsoft para construir programas em C#.. O que é um Ambiente de Programação?
  18. 18. 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ção 4. Escrever um algoritmo 5. Traduzir o algoritmo para uma linguagem de programação 6. Testar o Programa
  19. 19. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 19 terça-feira, 5 de fevereiro de 2013 Exemplos de Programas Exemplo 01: Elaborar um programa para escrever os números de 1 a 5 no vídeo Algoritmo Pascal JAVA Algoritmo EX01 Escreva (“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”); } }
  20. 20. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 20 terça-feira, 5 de fevereiro de 2013 Exemplos de Programas Exemplo 02: Elaborar um algoritmo para calcular a soma de dois números inteiros recebidos via teclado Algoritmo JAVA Pascal Algoritmo EX02 Var N1,N2, SOMA : Inteiro Leia( N1, N2) Soma := N1 + N2 Escreva (“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; Begin Readln(N1); Readln(N2); Soma := N1 + N2; Writeln(“A soma =“, Soma); End.
  21. 21. 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
  22. 22. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 22 terça-feira, 5 de fevereiro de 2013 Tipos de dados Numérico São dados que comportam valores inteiros numéricos, positivos ou negativos, excluindo qualquer número fracionário. Ex.: 1, 123, 45687, 111111 INTEIRO(Z) REAL(R) São dados que comportam valores numéricos que fazem uso de números fracionários e também dos números inteiros Ex: 123.35 , 1.18 , 0.05
  23. 23. 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, deve ser representado entre apostrofo Ex: “Rogério”, “Rua 17 de Agosto”, “1123” Lógico São dados que comportam apenas os valores VERDADEIRO ou FALSO Ex.: VERDADEIRO , FALSO
  24. 24. 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údos Exemplo: NOME, IDADE, SALARIO, NOTAS, etc... Memória RAM Características SIMPLES COMPOSTAS - Unidimensionais (VETORES) - Bidimensionais (MATRIZES) NOME “José da Silva” IDADE 29 NOTAS SALARIO 1.500,001 10,0 2 8,0 3 5,0
  25. 25. 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)
  26. 26. 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 VisuAlg Ex.: Inteiro, Real, Caractere, Logico C# Ex.: Int, String, Double, Bool (Existem outros) Object Pascal - Delphi Ex.: Integer, String, Real, Boolean (Existem outros)
  27. 27. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 27 terça-feira, 5 de fevereiro de 2013 Operadores Numéricos Realizam 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
  28. 28. 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 + 2 K = X * Y O = 10 + Y + Z / 2 P = 10 + (Y + Z) / 2 R = 9 MOD 2; Q = 17 DIV 5; V = 32 + Z – 5 * 3 + (Z /5)
  29. 29. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 29 terça-feira, 5 de fevereiro de 2013 Operadores Relacionais Realizam comparações entre conteúdos, retornando como resultado VERDADEIRO ou FALSO, podem ser utilizados em comparaçõ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
  30. 30. 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 > Y L2 = X*2 = Y L3 = A < S L4 = “X” = S L5 = “X” < S Exercícios(Operadores Relacionais)
  31. 31. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 31 terça-feira, 5 de fevereiro de 2013 Operadores Lógicos Realizam operações nas expressões condicionais compostas , 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? OPERADORES E OU Não
  32. 32. 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
  33. 33. 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 ou se 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
  34. 34. 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
  35. 35. 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
  36. 36. 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 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 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 F F E V Ou F F F E F Ou V F F E F Ou F F
  37. 37. 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ões relacionais 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
  38. 38. 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 > C A < B e B < C A > B e B > C A > 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
  39. 39. 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
  40. 40. 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
  41. 41. 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 + C E := B + “SIL” F := C + “NO” + B + “S” G := C + “NO” + B + S
  42. 42. 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 Teixeira rogerio.aguiar@unibratec.com.br 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);
  43. 43. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 43 terça-feira, 5 de fevereiro de 2013 Ambiente de Desenvolvimento VisuAlg Rogério Aguiar Teixeira rogerio.aguiar@unibratec.edu.br
  44. 44. 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?
  45. 45. 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
  46. 46. 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
  47. 47. 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
  48. 48. 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
  49. 49. 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
  50. 50. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 50 terça-feira, 5 de fevereiro de 2013 Declarando Variáveis Sintaxe: Variáveis Simples: <lista-de-variáveis> : <tipo-de-dado> Ex: algoritmo “ExVariaveis" Var Salario : Real Nota1,Nota2 : Inteiro Nome : Caracter Ligado:Logico Inicio // Seção de Comandos fimalgoritmo Na <lista-de-variáveis>, os nomes das variáveis estão separados por vírgulas
  51. 51. 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 var A:Inteiro inicio A:= 32 * 2 // Calculando o valor de A fimalgoritmo
  52. 52. 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áveis Nome_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
  53. 53. 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 dados leia (<lista-de-variáveis>) Recebe valores digitados pelos usuário, atribuindo-os às variáveis cujos nomes foram declarados na seção VAR.
  54. 54. 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 Dados Escreva (<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.
  55. 55. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 55 terça-feira, 5 de fevereiro de 2013 Exercícios 001-SomadeDoisNúmeros : Faça um algoritmo para receber dois números inteiros e ao final exibir resultado da soma
  56. 56. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 56 terça-feira, 5 de fevereiro de 2013 Exercícios 002-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;
  57. 57. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 57 terça-feira, 5 de fevereiro de 2013 Exercícios 003-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;
  58. 58. 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
  59. 59. 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 uma viagem com o tanque de combustível cheio e com o marcador de quilometragem zerado. Ao chegar ao destino completou o tanque, anotou distância percorrida e a quantidade de litros abastecidos. Faça um algoritmo para receber a distância percorrida e a quantidade de litros abastecidos. Informar a quantidade de km que o veículo percorreu com um litro de combustível. Exercícios
  60. 60. 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 de transportes anota ao sair e ao chegar na garagem o número registrado na catraca. Elabore um programa que receba o Número inicial da catraca, Número Final da Catraca e a quantidade de vales recebidos. Sabendo-se que a passagem é de R$ 1,50 e que o vale equivale a 50% deste valor, calcule o faturamento do onibus naquele dia. Exercício
  61. 61. 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
  62. 62. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 62 terça-feira, 5 de fevereiro de 2013 Percentuais
  63. 63. 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 e 5 do sexo feminino. Calcular o percentual de alunos do sexo feminino em relaçã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
  64. 64. 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ário VALOR_FINAL = VALOR_ORIGINAL + ACRESCIMO VALOR_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.85 Adicionar 5% em um valor : Resultado = Valor * 1.05 Reduzir 5% em um valor : Resultado = Valor * 0.95 Aumentar 230% em um valor : Resultado = Valor * 2.30
  65. 65. 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 receba o salário bruto de um funcionário. Calcule e exiba os dados abaixo 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 Minutos 016-Percentuais_HomensxMulheres: Em um determinado concurso público são informados as quantidades de candidatos presentes do sexo masculino e do sexo feminino, bem como o total 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
  66. 66. 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 cada 017-Calculo quilowatt: Sabe-se que o quilowatt de energia custa um centésimo do salário mínimo. Faça um programa que receba o valor do salário mínimo e a quantidade de quilowatt gasta 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) / 5 Onde: F é a temperatura em Fahrenheit e; C é a Temperatura em Celsius. 30c -> 86.000f
  67. 67. 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 cada 019-Preço do Automóvel : O preço de um automóvel é calculado pela soma do preço de fábrica, somado ao preço dos impostos e o percentual do revendedor. Sabendo que os impostos representam 45% do preço de fábrica e que a percentagem do revendedor é de 28% do preço de fábrica. Faça um programa que receba o preço de fábrica e imprima preço final.
  68. 68. 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 cada 020-Custo Funcionário: Uma empresa tem para um determinado funcionário uma ficha contendo o nome, número de horas trabalhadas e o nº de dependentes de um funcionário. Considerando que: A empresa paga 12 reais por hora , 40 reais por dependentes e que sobre o salário bruto são feitos descontos de 8,5% para o INSS e 5% para IR. Faça um programa para receber o nome, número de horas trabalhadas e número de dependentes de um funcionário. Após o recebimento, escreva: o Nome, o salário bruto, os valores descontados para cada tipo de imposto e finalmente qual o salário líquido do funcionário.
  69. 69. 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, calcular e mostrar o valor cobrado por um show e a comissão do transportador;
  70. 70. 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 texto Sintaxe: 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
  71. 71. 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: Caracter Tam : Inteiro Inicio Tam := Compr(‘Rogério Aguiar’) RESULTADO := Copia (“IBRATEC”, 2 , 4) Tam := Compr(Resultado) FimAlgoritmo => “BRAT” => 4 => 14 => Constante , Variável ou Expressão
  72. 72. 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 Dados CARACTERE para NÚMERico VariávelNum:= CaracPNum(Caractere) -> ( Inteiro ou Real); Algoritmo “ExCaracPNum” Var Data:Caracter Dia, Mes, Ano: Inteiro Inicio 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
  73. 73. 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 Dados NÚMERO para CARACTER VariávelCaracter:= NumPCarac(Inteiro ou Real) Exemplos: Algoritmo “ExNumPCarac” Var Endereco, Logradouro, Bairro: Caracter Numero : Inteiro Inicio Logradouro:= “Rua ABC” Bairro := “Boa Viagem” Numero:= 123 Endereco := Logradouro +”,”+NumPCarac(Numero) + “,”+Bairro // “Rua ABC,123,Boa Viagem” FimAlgoritmo
  74. 74. 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 uma data no formato americano (AAAA/MM/DD) e mostrá-la no formato nacional (DD/MM/AAAA). Exercício
  75. 75. 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 tipo caracter(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 do complemento: Ex: Frase: ABCDEFG Compl: @@@ -> @@@DEFG g) Exibir a frase com os últimos bytes substituídos pelos bytes do complemento: Ex: Frase: ABCDEFG Compl: @@@ -> ABCD@@@ h) Exibir a frase com o complemento inserido no meio separado por hífen. Ex: Frase: ABCDEFG Compl: @@@ -> ABC-@@@-DEFG
  76. 76. 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. Onde mmmmmmmmmmm = mês por extenso. Suponha o operador digitar uma data válida e no formato indicado, fazer uso apenas dos operadores e funções vistas até o momento, ou seja, não será permitido utilizar o SE, Vetor ou qualquer estrutura ainda não vista na disciplina. Ex. 07/08/2012 – Recife, 07 de agosto de 2012
  77. 77. 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 Teixeira rogerio.aguiar@unibratec.edu.br 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
  78. 78. 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 Teixeira rogerio.aguiar@unibratec.edu.br
  79. 79. 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;
  80. 80. 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
  81. 81. 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
  82. 82. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 82 terça-feira, 5 de fevereiro de 2013 SE - Composto 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>; 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
  83. 83. 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) entao Soma := V1+V2; Escreva(Soma) Senao Produto:= V1*V2; Escreva(Produto) FimSe Trecho só é Executado se a condição for FALSE Trecho só é executado se a condição for TRUE
  84. 84. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 84 terça-feira, 5 de fevereiro de 2013 SE - Encadeados Sintaxe: 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
  85. 85. 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
  86. 86. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 86 terça-feira, 5 de fevereiro de 2013 Exemplo : SE - Encadeados Receba 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+V2 Escreva(Soma) Senao Se (V2 > V1) Entao Produto:= V1*V2 Escreva(Produto) Senao Escreva(‘São Iguais’); Fimse Fimse
  87. 87. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 87 terça-feira, 5 de fevereiro de 2013 Exercício 026-Ordem Crescente dois números: Faça um programa que receba dois valores inteiros e exiba-os em ordem crescente; 10 Minutos 027-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 Minutos 028-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
  88. 88. 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 rendimento diário de seu trabalho. Toda vez que ele traz um peso de peixes maior que o estabelecido pelo regulamento de pesca do estado de São Paulo (50 quilos) deve pagar um multa de R$ 4,00 por quilo excedente. João precisa que você faça um algoritmo que leia a variável P (peso de peixes) e verifique se há excesso. Se houver, gravar na variável E (Excesso) e na variável M o valor da multa que João deverá pagar. Caso contrário mostrar tais variáveis com o conteúdo ZERO.
  89. 89. 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 os tamanhos dos lados de um triângulo. Verifique se os números informados formam um triângulo, ou seja, cada um dos lados informados tem que ser menor que a soma dos outros dois. Em caso 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
  90. 90. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 90 terça-feira, 5 de fevereiro de 2013 Exercício 032-ImpostodeRenda:Elabore um programa que permita calcular o imposto de renda (IR) de um casal a partir das rendas do homem(RH) e da renda da mulher(RM). O imposto é calculado sobre a renda conjunta (RC=RH+RM) de acordo com a tabela 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) calculado d) A renda líquida
  91. 91. 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 uma taxa adicional de serviços (para cada diária). Se o número de diárias for menor que 15 a taxa é de R$ 20,00. Se o número de diárias for igual a 15 a 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 o total a pagar por uma pessoa, de acordo com o número de diárias dessa pessoa. 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.
  92. 92. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 92 terça-feira, 5 de fevereiro de 2013 Exercício 035-SPA: Elabore um programa que permita receber o peso e a altura de uma pessoa adulta. O programa deverá exibir uma das seguintes mensagens: “Parabéns peso ideal”, “Engorde XXX Kg”,“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
  93. 93. 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 - % IR até 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
  94. 94. 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 – 4ac Se ∆ > 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 Minutos Função para calcular a raiz quadrada - Raizq(4) = 2
  95. 95. 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 dos seguintes símbolos: +, -, * ou /, o qual designará qual operação será aplicada considerando os valores recebidos como seus operandos. O referido algoritmo deve retornar o resultado da operação selecionada. Exercício
  96. 96. 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 que receba duas datas de um mesmo ano no formato (DD/MM/AAAA) e mostre a diferença destas datas em dias. Pensando um pouco mais
  97. 97. 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 deseja colocar um terminal onde a população poderá consultar sobre a obrigatoriedade ou não do voto. Elabore um algoritmo para receber a idade de uma pessoa e indicar 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
  98. 98. 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 Teixeira rogerio.aguiar@unibratec.edu.br Estruturas Condicionais; SE – Simples SE – Composto SE - Encadeados Exercícios;
  99. 99. 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 Teixeira rogerio.aguiar@unibratec.edu.br
  100. 100. 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;
  101. 101. 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 verdadeira Sintaxe: 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 : inteiro inicio Contador:= 1 // Inicia o contador Enquanto Contador <= 10 faca Escreva (Contador) Contador := Contador + 1 //Incrementa o contador FimEnquanto FimAlgoritimo Permanece no laço enquanto a condição for VERDADEIRA
  102. 102. 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 falsa Sintaxe: 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 : inteiro inicio Contador:= 1 // Inicia o contador Repita Escreva (Contador) Contador := Contador + 1 //Incrementa o contador Ate Contador > 10 FimAlgoritimo Permanece no laço enquanto a condição for FALSA
  103. 103. 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> FimPara Obs.: 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 : inteiro inicio Para Contador := 1 Ate 10 Passo 1 Faca Escreva (Contador) FimPara FimAlgoritimo Pode ser suprimido quando o incremento é 1
  104. 104. 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 : Inteiro Inicio Contador:= 1 Repita Escreva(Contador) Contador := Contador + 1 Ate Contador > 15 FimAlgoritmo Algoritmo “Para” var Contador : Inteiro Inicio Para 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 : Inteiro Inicio Contador:= 1 Enquanto Contador <= 15 faca Escreva(Contador) Contador := Contador + 1 FimEnquanto FimAlgoritmo Resumo das Estruturas
  105. 105. 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 : inteiro inicio Para Contador de 1 Ate 10 Faca Se Contador >=5 entao Interrompa // Interrompe o laço Fimse Escreva (Contador) FimPara FimAlgoritimo
  106. 106. 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, ...
  107. 107. 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 = 7 7 x 2 = 14 7 x 3 = 21 7 x 4 = 28 7 x 5 = 35 7 x 6 = 42 7 x 7 = 49 7 x 8 = 56 7 x 9 = 63 7 x 10 = 70
  108. 108. 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ício 049-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;
  109. 109. 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
  110. 110. 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 mais 055-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 A seja 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 A ultrapasse ou iguale a população do país B, mantida essas taxas de crescimento
  111. 111. 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;
  112. 112. 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ício 059-Material_Radioativo: Um determinado material radioativo perde metade de sua massa a cada 50 segundos. Dada a massa inicial, em gramas, fazer um algoritmo que determine o tempo necessá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 calculado em segundos. 060-Estatísticas:Tem-se um conjunto de dados contendo a altura e o sexo (”M”, “F”) de pessoas. Fazer um algoritmo que receba via teclado este conjunto de dados , o último registro terá o valor do sexo = “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;
  113. 113. 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ício 061-Pesquisa:Uma certa firma fez uma pesquisa de mercado para saber se as pessoas gostaram ou não de um novo produto lançado no mercado. Para isso, forneceu o sexo(“M” ou “F”) do entrevistado e sua resposta “sim” ou “não”). Sabendo-se que o último registro a ser 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;
  114. 114. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 114 terça-feira, 5 de fevereiro de 2013 Exercício 062-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 pretos d) 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.
  115. 115. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 115 terça-feira, 5 de fevereiro de 2013 Exercício 062-Estatisticas2: Fazer um algoritmo que receba a altura e sexo de 30 pessoas e escreva 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.
  116. 116. ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC 116 terça-feira, 5 de fevereiro de 2013 Exercício 064-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:SS Exemplo: 500 segundos correspondem a 00:08:20; 8430 segundos correspondem a 02:20:30; 27308 segundos correspondem a 07:35:08; 20 Minutos cada
  117. 117. 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) 10 1 0 10 2 5 2 2 2 Decimal para Binário - Fazemos divisões inteiras (DIV) sucessivas por 2 até que o quociente seja inferior a 2. Ao final concatenamos o último quociente com todos os restos(MOD) obtidos na ordem 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
  118. 118. 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
  119. 119. 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;

×