Introdução a Algoritmos Parte 04



Documentos relacionados
Algoritmos e Programação

ALGORITMOS E PROGRAMAÇÃO Estruturas de repetição. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos com VisuAlg

VisuALG Estruturas de Repetição. Professores: Vilson Heck Junior Felipe Schneider Costa

Programação de Computadores I Pseudocódigo PROFESSORA CINTIA CAETANO

Algoritmos e Programação (Prática) Profa. Andreza Leite andreza.leite@univasf.edu.br

Algoritmos e Programação

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Python Condicionais e Loops. Introdução à Programação SI1

Estruturas de Controle de Fluxo

Exercícios de Fixação Pseudocódigo e Estruturas Básicas de Controle

Estruturas de Controle de Fluxo

Programação WEB I Estruturas de controle e repetição

ALGORITMOS E PROGRAMAÇÃO. Andreza Leite Andreza.leite@univasf.edu.br

CURSO BÁSICO DE PROGRAMAÇÃO AULA 7

José Romildo Malaquias

ALGORITMO I ESTRUTURA DE CONTROLE REPETIÇÃO PARA / ENQUANTO;

ALGORITMOS cont. Universidade Federal do Rio Grande do Norte Centro de Tecnologia Departamento de Computação e Automação

Prof. Jorge Cavalcanti

Introdução à Lógica de Programação (cont.)

A lógica de programação ajuda a facilitar o desenvolvimento dos futuros programas que você desenvolverá.

Aplicaremos a técnica do teste de mesa sobre o algoritmo abaixo, o qual visa determinar o número de vértices de uma figura geométrica.

Estruturas de Repetição Parte II PARA-ATÉ

Algoritmo. Linguagem natural: o Ambígua o Imprecisa o Incompleta. Pseudocódigo: o Portugol (livro texto) o Visualg (linguagem) Fluxograma

Resolução de problemas e desenvolvimento de algoritmos

Computação e Processamento de Dados CPD INF400

Aula 11 Introdução ao Pseudocódigo. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

JAVA NETBEANS PGOO Prof. Daniela Pires Conteúdo

ALGORITMOS PARTE 01. Fabricio de Sousa Pinto

Apostila de Fundamentos de Programação I. Prof.: André Luiz Montevecchi

CAPÍTULO 3 - TIPOS DE DADOS E IDENTIFICADORES

Faculdade de Ciências Universidade Agostinho Neto Departamento de Matemática e Engenharia Geográfica Ciências da Computação

Linguagem C: Estruturas de Controle. Prof. Leonardo Barreto Campos 1

Sumário. INF01040 Introdução à Programação. Elaboração de um Programa. Regras para construção de um algoritmo

Nesta aula serão apresentados alguns comandos de condição, repetição e gráficos.

Algoritmos: Estruturas de Repetição. Prof. Carlos Lopes

Aluísio Eustáquio da Silva

n1, /,n2, =,res n1, n2, res: real res <- n1 / n2 Digite o Dividendo: n2<>0 Digite o Divisor: verdadeiro falso

Dadas a base e a altura de um triangulo, determinar sua área.

Prof. Jorge Cavalcanti

PROGRAMAÇÃO DE COMPUTADORES (Teoria)

Lista de Exercícios 03b Algoritmos Repetição

Programação I. Departamento de Engenharia Rural Centro de Ciências Agrárias

CURSO TÉCNICO DE INFORMÁTICA

Resumo da Matéria de Linguagem de Programação. Linguagem C

Estruturas de Repetição. Programação em Java Estruturas de Repetição

OPERADORES E ESTRUTURAS DE CONTROLE

Convertendo Algoritmos para a Linguagem C

Universidade Federal do Vale do São Francisco - UNIVASF Colegiado de Engenharia de Computação CECOMP

Associação Educacional Dom Bosco Curso de Engenharia 1º ano

Algoritmos e Programação de Computadores

Algoritmos e Programação Parte Teórica

Sumário Algoritmos e Estrutura de Dados Repetição

Estrutura de Repetição Simples

Estruturas de Controle A Tomada de Decisões

Sistemas Operacionais e Introdução à Programação. Introdução à Lógica de Programação: estruturas de repetição

Guia da Linguagem de Programação do VisuAlg*

P r o g r a m a ç ã o d e C o m p u t a d o r e s 1 o S e m P r o f. A n d r é A m a r a n t e L u i z L A B 5 tag %2d while printf PE1:

Estruturas de Controle de Fluxo

Aula Bibliografia - Definições - Operadores - Criação de um algoritmo - Exercícios. Algoritmo e Programação. Prof. Fábio Nelson.

Estruturas de Repetição

7. Estrutura de Decisão

Estruturas de Repetição

CAPÍTULO 6 - ESTRUTURA DE SELEÇÃO

Programação de Computadores I Fluxogramas PROFESSORA CINTIA CAETANO

Algoritmos e Programação

Introdução à Lógica de Programação

Introdução a Algoritmos Parte 07

ERROS MAIS COMUNS COMETIDOS EM PROGRAMAS E ALGORITMOS

Capítulo 2 Introdução à Programação Estrutura de Controle

Curso: Ciência da Computação Disciplina: Construção de Compiladores Período: Prof. Dr. Raimundo Moura

Estruturas de entrada e saída

CURSO BÁSICO DE PROGRAMAÇÃO AULA 9. Revisão Aula Anterior Estruturas de Decisão (If e Switch)

Aula 4 Pseudocódigo Tipos de Dados, Expressões e Variáveis

algoritmo "exercício 22 resposta incorreta" var A, i: inteiro eh_primo: logico inicio repita escreva ("Entre com um valor inteiro positivo: ") leia

Arquitetura de Computadores. Tipos de Instruções

Exercícios de estrutura de Repetição

1. Estrutura de seleção. Seleção: algumas etapas (passos) do algoritmo são executadas dependendo do resultado de uma condição

EXERCÍCIOS. 2. Faça um algoritmo que receba dois números e ao final mostre a soma, subtração, multiplicação e a divisão dos números lidos.

Algoritmos e Programação Conceitos e Estruturas básicas (Variáveis, constantes, tipos de dados)

Algoritmo. Prof. Anderson Almeida Ferreira. Agradeço ao prof. Guilherme Tavares de Assis por fornecer slides que fazem parte desta apresentação

INFORMÁTICA APLICADA AULA 06 ALGORITMOS

ESTRUTURA CONDICIONAL

ALGORITMOS. Supervisão: Prof. Dr.º Denivaldo Lopes

Estruturas de Controle de Fluxo Pseudocódigo/Exercício Construa o pseudocódigo de um algoritmo para obter o resultado da divisão de dois números

Linguagem algorítmica: Portugol

OBS.: Usem as funções rand() e srand(). Qualquer duvida,

2. ALGORITMOS. Unesp Campus de Guaratinguetá. Curso de Programação Computadores Prof. Aníbal Tavares Profa. Cassilda Ribeiro

Lista de Exercícios 03b Repetição. 63) Escreva um programa que receba números do usuário enquanto eles forem positivos e

MICROSOFT EXCEL AVANÇADO

UNIVERSIDADE FEDERAL RURAL DE PERNAMBUCO UFRPE

LÓGICA DE PROGRAMAÇÃO. Vitor Valerio de Souza Campos

Estruturas de Controle de Fluxo

Algoritmo e Programação

ICC Introdução para JavaScript

Algoritmos Computacionais ( Programas )

3. INTRODUÇÃO À LINGUAGEM C 3.1. CONCEITOS BÁSICOS. Lógica de Programação

Aula 4 Oficina de Programação Algoritmos - Parte 3. Profa. Elaine Faria UFU

Orientação a Objetos

Transcrição:

Universidade Federal do Vale do São Francisco Curso de Engenharia de Computação Introdução a Algoritmos Parte 04 Prof. Jorge Cavalcanti jorge.cavalcanti@univasf.edu.br www.univasf.edu.br/~jorge.cavalcanti www.twitter.com/jorgecav 1

Introdução a Algoritmos Estruturas de controle de fluxo Em alguns algoritmos, é necessário executar uma mesma tarefa por um número determinado ou indeterminado de vezes. Exemplos: Calcular a raiz quadrada dos números 1 à 100. Observe que para cada número, o mesmo cálculo será realizado. Neste caso, o cálculo é repetido 100 vezes. Calcular a raiz quadrada de um número sempre que este número for menor que 15. Este fato gerou a criação das estruturas de repetição as quais veremos a seguir. 2

Introdução a Algoritmos Estrutura de Repetição Enquanto Neste caso, uma dada tarefa será repetida enquanto uma determinada condição for verdadeira. Sintaxe: enquanto (<expressão lógica ou relacional>) faca<sequência de comandos> Fimenquanto Obs: <expressão lógica ou relacional> é avaliada antes de cada repetição do laço. Quando seu resultado for VERDADEIRO, <sequência-de-comandos> é executada. O fato da avaliação da expressão lógica encontrar-se no início do laço faz com que a sequência de comandos só venha a ser executada se ao menos uma vez a avaliação da expressão resultar em verdadeiro. 3

Introdução a Algoritmos algoritmo "Exemplo 1 - enquanto" var r: real inicio escreval ("Digite um numero") leia (r) enquanto (r<100) faca r <- (r^(1/2)) escreval (r) leia (r) fimenquanto 4

Introdução a Algoritmos 5

Introdução a Algoritmos Estrutura ou laço de repetição enquanto (continuação) Exemplo 2: O pseudocódigo e os fluxogramas a seguir escrevem na saída padrão os números inteiros contidos no intervalo [1, 10]. 6

Introdução a Algoritmos algoritmo "exemplo 2 laço enquanto" var valor: inteiro inicio valor <- 1 enquanto (valor <= 10) faca escreval (valor) valor <- valor+1 fimenquanto 7

Introdução a Algoritmos Inicio Inicio valor: inteiro valor: inteiro Valor <- 1 Valor <- 10 valor<=10 falso Fim Valor>0 falso Fim verdadeiro verdadeiro valor, Valor <- valor-1 Valor <- valor+1 10-valor, 8

Introdução a Algoritmos E se a condição do exemplo 1 for 50 < r < 100? algoritmo "Exemplo 1m enquanto" Var r: real Inicio Escreval ( Digite um número maior que 50 e menor que 100 ) leia (r) enquanto (r > 50) e (r < 100) faca r <- r^(1/2) escreval (r) leia (r) fimenquanto 9

Introdução a Algoritmos 10

Introdução a Algoritmos Estrutura de Repetição Repita... Até Sintaxe: repita <seqüência de comandos> ate (<expressão lógica ou relacional>) <seqüência de comandos> será executada sempre que o resultado da <expressão lógica ou relacional> resultar em FALSO. <seqüência de comandos> é executada ao menos uma vez, visto que a avaliação da <expressão lógica ou relacional> encontra-se no final da estrutura de repetição. Obs.: As instruções contidas no repita serão executadas enquanto o resultado da avaliação da expressão lógica resultar em falso. O fato da avaliação da expressão lógica encontrar-se no final do laço faz com que, mesmo no caso da expressão lógica nunca resultar em falso, a sequência de comandos seja executada ao menos uma vez. 11

Introdução a Algoritmos algoritmo "Repita...ate" var a: inteiro inicio escreval("digite um numero inteiro menor que 10") leia(a) repita a<- a+1 escreval (a) ate (a=10) Sempre que a condição a=10 for FALSA, a seqüência de comandos será executada. 12

Estruturas de Controle de Fluxo Inicio valor: inteiro Inicio valor: inteiro Valor <- 0 Valor <- 9 Valor <- valor+1 10-valor, valor, Valor <- valor-1 falso valor=10 verdadeiro Fim falso Valor=-1 verdadeiro Fim 13

Estruturas de Controle de Fluxo Exercício: Faça um algoritmo que recebe números naturais fornecidos pelo usuário, quando o usuário quiser parar a execução do algoritmo, o mesmo fornecerá um número negativo. O algoritmo deve retornar, ao final de seu processamento, a quantidade de números naturais fornecida pelo usuário. Fazer dois algoritmos utilizando em cada um, uma das estruturas de repetição vistas. Os algoritmos desenvolvidos devem ser representados através de um pseudocódigo e de um fluxograma. 14

Estruturas de Controle de Fluxo algoritmo "exercício laço de repetição (a) " var num, contador: inteiro inicio contador <- 0 repita escreva ("Entre com um número natural (entre com um inteiro negativo para sair): ") leia (num) se (num>=0) entao contador <- contador + 1 fimse ate (num<0) escreva ("Foram fornecidos ",contador, " números naturais pelo usuário ") 15

Estruturas de Controle de Fluxo algoritmo " exercício 15 laço de repetição (b)" var num, contador: inteiro inicio contador <- -1 repita escreva ("Entre com um número natural (entre com um inteiro negativo para sair): ") leia (num) contador <- contador + 1 ate (num<0) escreva ("Foram fornecidos ",contador, " números naturais pelo usuário ") 16

Estruturas de Controle de Fluxo Inicio num, contador: inteiro contador <- -1 "Entre com um número natural (entre com um inteiro negativo para sair): " num contador <- contador+1 falso num<0 verdadeiro "Fora fornecidos ", contador, " números naturais pelo usuário " Fim 17

Estruturas de Controle de Fluxo algoritmo "exercício 15 laço de repetição enquanto (a)" var num, contador: inteiro inicio contador <- 0 escreva ("Entre com um número natural (entre com um inteiro negativo para sair): ") leia (num) enquanto (num>=0) faca contador <- contador + 1 escreva ("Entre com um número natural (entre com um inteiro negativo para sair): ") leia (num) fimenquanto escreva ("Foram fornecidos ",contador, " números naturais pelo usuário") 18

Estruturas de Controle de Fluxo algoritmo " exercício 15 laço de repetição enquanto b" var num, contador: inteiro Inicio num <- 1 contador <- -1 enquanto (num>=0) faca contador <- contador + 1 escreva ("Entre com um número natural (entre com um inteiro negativo para sair): ") leia (num) fimenquanto escreva ("Foram fornecidos ",contador, " números naturais pelo usuário") 19

Estruturas de Controle de Fluxo Inicio num, contador: inteiro num <- 1 contador <- -1 num>=0 verdadeiro falso "Fora fornecidos ", contador, " números naturais pelo usuário " contador <- contador+1 Fim num "Entre com um número natural (entre com um inteiro negativo para sair): " 20

Estruturas de Controle de Fluxo Fluxograma/Exercício Construa um fluxograma para obter o resultado da divisão entre dois números. OBS.: Caso um dos operandos não seja válido o mesmo deve ser novamente solicitado até um valor válido ser fornecido, ou seja, as entradas devem ser validadas. Inicio n1, n2, res: real n1, /,n2, =,res Fim Digite o Dividendo: res <- n1 / n2 verdadeiro n1 falso n2<>0 Digite o Divisor: 21 n2

Estruturas de Controle de Fluxo Estrutura ou laço de repetição Ao analisarmos o que ocorre nos laços de repetição enquanto e repita, perceberemos que, normalmente, ocorre uma inicialização de uma variável, envolvida na expressão lógica que controla o número de repetições. Dentro do laço ocorre uma atualização no valor da variável mencionada, fazendo com que esta venha a tornar o resultado da avaliação da expressão lógica coerente para a finalização da execução do laço de repetição. Com base nesta observação foi criado o laço de repetição para.

Introdução a Algoritmos Estrutura de Repetição Para Sintaxe: Conta o número de repetições (deve ser necessariamente uma variável do tipo inteiro) Especifica o valor de inicialização da variável contadora. Especifica o valor máximo que a variável contadora pode alcançar. para <variável> de <valor-inicial> ate <valor limite> passo<incremento> faca <sequência de comandos> fimpara Quando o programa chega neste ponto, a variável contadora é incrementada e comparada com o valor limite. Indica o valor do incremento que será acrescentado à variável contadora em cada repetição do laço. É opcional. 23

Estruturas de Controle de Fluxo <valor-inicial> É uma expressão que especifica o valor de inicialização da variável contadora. <valor-limite> É uma expressão que especifica o valor máximo que a variável contadora pode alcançar. <incremento> É opcional. Quando presente, é precedido pela palavra-reservada passo. Constitui-se de uma expressão que especifica o valor do incremento que será acrescentado à variável contadora em cada repetição do laço. O valor padrão, assumido por omissão de <incremento> é 1. É possível especificar valores negativos para <incremento>. 24

Estruturas de Controle de Fluxo fimpara Indica o fim da sequência de comandos a serem repetidos. Cada vez que o programa chega neste ponto, é acrescentado à variável contadora o valor de <incremento>, e o valor resultante é comparado a <valor-limite>. Se for menor ou igual (ou maior ou igual, quando <incremento > for negativo), a sequência de comandos será executada mais uma vez; caso contrário, a execução prosseguirá a partir do primeiro comando que esteja após o fimpara. <valor-inicial>, <valor-limite> e <incremento> são avaliados uma única vez antes da execução da primeira repetição, e não se alteram durante a execução do laço, mesmo que variáveis eventualmente presentes nessas expressões tenham seus valores alterados. 25

Introdução a Algoritmos Exemplo 7: O pseudocódigo e o fluxograma a seguir escrevem na saída padrão os números inteiros contidos no intervalo [0, 10]. algoritmo "exemplo para" var valor: inteiro inicio para valor de 0 ate 10 faca escreval (valor) fimpara Se passo for omitido, o valor default do incremento é 1. 26

Introdução a Algoritmos algoritmo "Exemplo Para modificado" var No programa foi adicionado uma n, j:inteiro variável de incremento, onde o valor desta é digitada pelo usuário. Inicio escreval ("Digite um numero inteiro") leia(n) para j de 0 ate 10 passo n faca escreval (j) fimpara Obs:<valor-inicial>, <valor-limite> e <incremento> são avaliados uma única vez antes da execução da primeira repetição, e não se alteram durante a execução do laço, mesmo que variáveis eventualmente presentes nessas expressões tenham seus valores alterados. 27

Estruturas de Controle de Fluxo Inicio valor: inteiro Valor <- 0 valor<=10 falso Fim verdadeiro valor, Valor <- valor+1

Introdução a Algoritmos Ex.: Construa um pseudocódigo para um algoritmo que exiba em um monitor uma contagem decrescente do valor 30 até o valor 1. algoritmo decrescendo1" var n: inteiro inicio para n de 30 ate 1 passo -1 faca escreval (n) fimpara algoritmo decrescendo2" var n: inteiro inicio para n de 0 ate 29 faca escreval (30-n) fimpara 29

Estruturas de Controle de Fluxo Para finalizarmos nosso estudo das estruturas de controle de fluxo, vamos tratar do teorema que as originou: o Teorema da Programação Estruturada, conhecido como Teorema de Böhm-Jacopini. Enunciado em 1966 por Corrado Böhm e Giuseppe Jacopini, sendo resultado da teoria das linguagens de programação, O qual define que cada rotina computável pode ser descrita por um algoritmo que combine as instruções utilizando apenas três maneiras especificas: 1. Executar uma instrução, depois outra instrução (sequência); 2. Executar uma ou duas sequências de instruções de acordo com um valor booleano (condição); 3.Executar uma sequências de instruções até que um valor booleano seja verdadeiro (iteração). 30

Algoritmos e Programação 1)Receba do usuário um número entre 1 e 7, inclusive 1 e 7. Se ele digitar o número 1 mostre Hoje é Domingo, se ele digitar o número 2 mostre Hoje é Segunda... 2)Peça uma letra e mostre se ela é vogal ou consoante. 3) Peça três números e mostre o maior entre eles. 31

Algoritmos e Programação 1 - Receba do usuário um número entre 1 e 7, inclusive 1 e 7. Se ele digitar o número 1 mostre Hoje é Domingo, se ele digitar o número 2 mostre Hoje é Segunda... algoritmo "Dias da Semana seleção múltipla var num: inteiro inicio // Seção de Comandos escreval ("Digite um número de 1 a 7:") leia (num) escolha (num) caso 1 escreval ("Hoje é Domingo") caso 2 escreval ("Hoje é Segunda") caso 3 escreval ("Hoje é Terça") caso 4 escreval ("Hoje é Quarta") caso 5 escreval ("Hoje é Quinta") caso 6 caso 7 fimescolha escreval ("Hoje é Sexta") escreval ("Hoje pe Sábado") outrocaso escreval ("Número inválido") 32

Algoritmos e Programação 2 - Peça uma letra e mostre se ela é vogal ou consoante. algoritmo "Letras do Alfabeto seleção multipla Tudo na mesma var linha do algoritmo let: caracter inicio // Seção de Comandos escreval ("Digite uma letra do alfabeto:") leia (let) escolha (let) caso "a", "e", "i", "o", "u" escreval ("É uma vogal") caso "b", "c", "d", "f", "g", "h", "j", "k", "l", "m", "n", "p", "q", "r", "s", "t", "v", "x", "w", "y", "z" escreval ("É uma consoante") outrocaso escreval ("É outro caractere") fimescolha 33

Algoritmos e Programação 3 - Peça três números e mostre o maior entre eles. algoritmo "MAIOR var n1,n2,n3, maior: inteiro inicio // Seção de Comandos escreval ("Digite três números") leia (n1,n2,n3) se (n1>n2) e (n1>n3) entao maior:= n1 senao se (n2>n3) entao maior:= n2 senao maior:= n3 fimse fimse escreva (maior) 34

Algoritmos e Programação Exercícios 4. Faça um algoritmo para escrever os números pares de 0 a 100. 5. Faça um algoritmo para escrever a série de Fibonacci = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...) enquanto o termo a ser impresso for menor que 300. 6. 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 com uma precisão de dois dígitos (observar a divisão por 0). 35

Algoritmos e Programação 4. Faça um algoritmo para escrever os números pares de 0 a 100. algoritmo "par de 0 a 100 var par: inteiro Inicio para par de 0 ate 100 faca se(par%2)=0 entao escreval (par) fimse fimpara 36

Algoritmos e Programação 5. Faça um algoritmo para escrever a série de Fibonacci = (0, 1, 1, 2, 3, 5, 8, 13, 21, 34,...) enquanto o termo a ser impresso for menor que 300. algoritmo fibonacci var proximo, atual, anterior: inteiro Inicio proximo:= 0 atual:= 0 anterior:= 1 se proximo = 0 entao escreval (proximo) fimse enquanto (proximo<300) faca escreval (proximo) proximo:= (atual + anterior) anterior:= atual atual:= proximo fimenquanto 37

Algoritmos e Programação 6. 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 com uma precisão de dois dígitos. 38

Algoritmos e Programação Ex. 06 - algoritmo calculadora" var op1, op2: real operador: caractere inicio escreva ("Entre com o primeiro operando: ") leia (op1) escreva ("Entre com o segundo operando: ") leia (op2) escreva ("Entre com um dos operadores (+, -, *, /): ") leia (operador) escolha (operador) caso "+ escreva (op1," ",operador,op2," =",op1+op2:10:2) caso "-" escreva (op1," ",operador,op2," =",op1-op2:10:2) 39

Algoritmos e Programação Ex 6. Continuação caso "*" escreva (op1," ",operador,op2," =", op1*op2:10:2) caso "/" se (op2<>0) entao escreva (op1," ",operador,op2," =") escreval (op1/op2:10:2) senao escreva ("Não é possível efetuar a divisão!") fimse Outrocaso escreva ("Operação inválida! ") fimescolha 40

Algoritmos e Programação 7. Escreva um programa que requisita dois números e faz a soma deles e depois pergunta se o usuário quer fazer o cálculo novamente. 8. Escreva um programa que recebe um número e conta a partir deste número até 100. 9. Ler 10 números e dizer se cada um é: nulo, positivo ou negativo. 41

Algoritmos e Programação 7. Escreva um programa que requisita dois números e faz a soma deles e depois pergunta se o usuário quer fazer o cálculo novamente. algoritmo repete soma var n1, n2, soma: real resp: caracter Inicio repita escreval ("Digite dois numeros para serem somados:") leia (n1,n2) soma:= n1+n2 escreval ("A soma eh:",soma) escreval ("Digite algo p/ fazer novo calculo e fim p/ encerrar") leia (resp) ate (resp = fim") 42

Algoritmos e Programação 8. Escreva um programa que recebe um número e conta a partir deste número até 100. algoritmo Conta ate 100 var a: inteiro inicio escreval("digite um numero inteiro menor que 100") leia(a) repita a<-a+1 escreval (a) ate (a=100) 43

Algoritmos e Programação 9. Ler 10 números e dizer se cada um é: nulo, positivo ou negativo. algoritmo definir numero var n1: inteiro Inicio para n1 de 0 ate 10 faca escreval ("Digite um numero:") leia (n1) se (n1=0) entao escreval ("nulo") fimse se (n1<0) entao escreval ("Numero negativo") fimse se (n1>0) entao escreval ("Numero positivo") fimse fimpara 44

Algoritmos e Programação 10. Escreva um programa que calcula o valor do imposto de renda de uma pessoa física, com as seguintes condições: se o salário >= 3.000, alíquota será 15%. Se 3.000>salário>=1500, alíquota será 7%. Se salário < 1500, isento. 11. Escreva um algoritmo que calcule N!, sendo que N é um inteiro fornecido pelo usuário e que 0! =1, por definição. 12. Elabore um algoritmo para cada estrutura de repetição (enquanto, repita e para) imprimir a tabuada do número 5. 45

Algoritmos e Programação 10. Escreva um programa que calcula o valor do imposto de renda de uma pessoa física, com as seguintes condições: se o salário >= 3.000, alíquota será 15%. Se 3.000>salário>=1500, alíquota será 7%. Se salário < 1500, isento. algoritmo "Imposto de Renda" // Seção de Declarações var salario, imposto: real aliquota: caractere inicio // Seção de Comandos escreva(" Informe o valor do salário: ") leia(salario) // definicao da alíquota se (salario >= 3000) entao aliquota <- "c" senao se (salario < 1500) entao aliquota <- "a" senao aliquota <- "b" fimse fimse escolha aliquota caso "a" imposto <- 0 caso "b" imposto <- salario * 0.07 caso "c" imposto <- salario * 0.15 fimescolha escreval(" Valor do imposto de renda:",imposto) 46

Algoritmos e Programação 11. Escreva um algoritmo que calcule N!, sendo que N é um inteiro fornecido pelo usuário e que 0! =1, por definição. algoritmo "Fatorial de N" // Seção de Declarações var N, F, C: inteiro // entrada, fatorial e controle) inicio // Seção de Comandos Escreva ("Digite um número inteiro: ") leia(n) Se (N = 0)entao escreva ("Fatorial de ", N, " = 1") senao F <-1 para c de 1 ate n faca F <- F*C fimpara escreva ("Fatorial de ", N, " = ", F) Fimse Fimalgoritmo 47

Algoritmos e Programação 12. Elabore um algoritmo para cada estrutura de repetição (enquanto, repita e para) imprimir a tabuada do número 5. algoritmo "Tabuada do 5 usando enquanto" // Seção de Declarações var cont: inteiro inicio // Seção de Comandos cont <- 1 enquanto (cont <=10) faca escreval (cont, " x 5 = ", cont*5) cont <- cont +1 fimenquanto algoritmo "Tabuada do 5 usando para var cont: inteiro Inicio cont <- 1 para cont de 1 ate 10 faca escreval (cont, " x 5 = ", cont*5) cont <- cont +1 fimpara algoritmo "Tabuada do 5 usando repita" // Seção de Declarações var cont: inteiro inicio // Seção de Comandos cont <- 1 repita escreval (cont, " x 5 = ", cont*5) cont <- cont +1 ate (cont <10) 48