Fundamentos de Programação - Prof. Rogério Aguiar, Msc - Módulo 01
-
Upload
rogerio-aguiar -
Category
Technology
-
view
11.243 -
download
7
Transcript of 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]
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
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
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
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%)
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)
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
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)
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
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
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?
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]
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]
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?
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?
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?
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?
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
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”);
} }
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.
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
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
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
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
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)
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)
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
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)
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
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)
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
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
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
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
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
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
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
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
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
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
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
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);
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]
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?
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
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
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
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
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
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
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
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
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.
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.
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
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;
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;
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
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
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
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
ADS – Fundamentos de Programação – MOD-01 Prof. Rogério Aguiar Teixeira, MsC
62 terça-feira, 5 de fevereiro de 2013
Percentuais
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
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
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
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
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.
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.
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;
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
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
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
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
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
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
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
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
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]
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;
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
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
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
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
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
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
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
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
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.
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
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
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.
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
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
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
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
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
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
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;
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]
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;
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
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
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
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
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
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, ...
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
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;
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
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
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;
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;
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;
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.
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.
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
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
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
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;