Algoritmos e Técnicas de Programação · Algoritmos e Técnicas de Programação Prof. Kleber...

Preview:

Citation preview

Comandos de Entrada

Algoritmos e Técnicas de

Programação

Prof. Kleber Rezende

Considerações Iniciais

Da mesma maneira que necessitamos

enviar informações de dentro do

algoritmo para a tela do computador

também necessitamos receber informa-

ções de fora do algoritmo.

Considerações Iniciais

Considere, por exemplo, um sistema de locadora

Sempre que alugamos um filme, o sistema iránecessitar de algumas informações como, porexemplo: o nosso código de cliente (ou o nome) e

o nome do filme que estamos locando.

Essas informações são fornecidas ao sistemaa partir de comandos de entrada de dados.

Considerações Iniciais

Para realizarmos a entrada de dados

utilizaremos o comando LEIA.

Ao utilizar o comando LEIA o

programador deve saber de antemão

qual a variável que irá armazenar o valor

que será fornecido pelo usuário.

Considerações Iniciais

No caso do exemplo anterior, os valoresque seriam fornecidos pelo usuário sãoreferentes ao código do cliente e aonome do filme que o mesmo estálocando.

Sendo assim, é necessário declararvariáveis que possam armazenar valoresque sejam compatíveis com asinformações solicitadas ao usuário.

Considerações Iniciais

Por exemplo, a informação do código do cliente pode ser umvalor do tipo INTEIRO, então é necessário que declaremos noalgoritmo uma variável desse tipo;

A informação do nome do filme pode ser uma informação do tipoCADEIA, sendo também necessário que declaremos noalgoritmo uma outra variável para receber essa informação.

Algoritmo Locadora

Variavel

inteiro codigo_cliente

cadeia nome_filme

Inicio

...

FimAlgoritmo

Considerações Iniciais

Após declaradas as variáveis que receberãoos valores fornecidos pelo usuário podemosutilizar o comando LEIA para receber essesvalores.

Para isso devemos escrever LEIA seguido davariável que receberá os valores entreparênteses.

Em C, usa-se o comando:

scanf

Observe os exemplos a seguir:

Considerações Iniciais

Quando o algoritmo passar pela linha 6, o usuário doalgoritmo (ou do sistema) deverá digitar um valor dotipo Inteiro e, ao teclar ENTER, esse valor seráarmazenado na variável codigo_cliente.

Linha 1 ....

Linha 2 ....

Linha 3 ....

Linha 4 ....

Linha 5 ....

Linha 6 ....

Linha 7 ....

Linha 8 ....

Algoritmo Locadora

Variavel

inteiro codigo_cliente

cadeia nome_filme

Inicio

Leia(codigo_cliente)

Leia(nome_filme)

FimAlgoritmo

Considerações Iniciais

Logo em seguida, na linha 7, o usuário deverá digitarum valor do tipo cadeia e, ao teclar ENTER, essevalor será armazenado na variável nome_filme.

Linha 1 ....

Linha 2 ....

Linha 3 ....

Linha 4 ....

Linha 5 ....

Linha 6 ....

Linha 7 ....

Linha 8 ....

Algoritmo Locadora

Variavel

inteiro codigo_cliente

cadeia nome_filme

Inicio

Leia(codigo_cliente)

Leia(nome_filme)

FimAlgoritmo

Solicitando dados...

É possível avisarmos o usuário sobre qual tipo de informação o algoritmo está precisando.

Para isso, utilizamos o comando de saída de dados ESCREVA que pode imprimir na tela o que o usuário deve fazer. Por exemplo:

Algoritmo Locadora

Variavel

inteiro codigo_cliente

cadeia nome_filme

Inicio

Escreva(“digite código do cliente e tecle <enter>”)

Leia(codigo_cliente)

Escreva(“digite o nome do filme e tecle <enter>”)

Leia(nome_filme)

FimAlgoritmo

Solicitando dados...

Supondo que o usuário tenha o código 2030 e esteja alugando o filme de nome ‘A Ultima Ceia’, o algoritmo funcionaria da seguinte maneira:

Ao passar pela linha 6 será escrito na tela do computador a frase: digite o código do cliente e tecle <enter>.

Ao passar para a linha 7 o algoritmo ficará esperando pelo valor que o usuário deve digitar, que para esse exemplo deverá ser 2030.

Após digitar esse valor o comando Leia(codigo_cliente) irá armazenar o valor 2030 na variável codigo_cliente.

O algoritmo irá para a linha 8 e irá escrever na tela do computador a frase: digite o nome do filme e tecle <enter>.

Ao passar para a linha 9 o algoritmo ficará esperando pelo valor que o usuário deve digitar, que para esse exemplo deverá ser A Ultima Ceia.

Após digitar esse valor o comando Leia(nome_fita) irá armazenar o valor ‘A Ultima Ceia’ na variável nome_filme.

Solicitando dados...

Em C teríamos:

main()

{

int codigo_cliente;

char nome_filme[41];

printf("digite o nome do filme e tecle <enter>: ");

scanf ("%s", nome_filme);

printf("digite código do cliente e tecle <enter>: ");

scanf ("%d", &codigo_cliente);

}

Solicitando dados...

O resultado na tela do computador seria

algo parecido com a tela a seguir:

Exercícios

Desenvolva algoritmos para fazer a

leitura:

1. Do nome, da idade e do sexo de uma

pessoa.

2. Das 3 notas de um aluno.

3. Do nome, fabricante e do ano de um

carro.

Utilizando a Entrada e a Saída de

dados para construir um programa

Utilizando os comandos de entrada e de saída emum mesmo algoritmo podemos começar a resolverpequenos problemas de programação.

Como comentado em aulas anteriores, dividimos umproblema em basicamente três partes:

1) Entrada, 2) Processamento e 3) Saída.

Por exemplo, suponha que precisamos de umalgoritmo que calcule a média de idade entre duaspessoas, podemos realizar as seguintes perguntas:

1)Quais seriam os valores de entrada para esse problema?

2)Qual seria o processamento que deve ser realizado?

3)Qual o valor de saída que deve ser mostrado para o usuário?

1 - Quais seriam os valores de

entrada para esse problema? Analisando o problema mais detalhadamente,

percebemos que os valores das idades das duaspessoas são informações que deverão serfornecidas pelo usuário;

Sendo assim, é necessário definirmos variáveispara armazenar esses dados;

Mas qual o tipo que uma variável que armazena aidade de uma pessoa deve ter?

Se quisermos armazenar a idade em anos, o tipodeve ser INTEIRO.

Portanto, teríamos duas variáveis do tipo inteiro,podendo ser elas: idade1 e idade2.

1 - Quais seriam os valores de

entrada para esse problema?

Desta forma, teríamos duas variáveis

do tipo inteiro, podendo ser elas:

idade1 e idade2.

Algoritmo media_idade

Variavel

inteiro idade1, idade2

Inicio

main()

{

int idade1, idade2;

}

1 - Quais seriam os valores de

entrada para esse problema? Essas variáveis receberão os seus valores

por meio do comando LEIA.

Para contemplar essa etapa o nossoalgoritmo ficaria mais ou menos assim:

Algoritmo media_idade

Variavel

inteiro idade1, idade2

Inicio

Escreva(‘Digite a primeira idade’)

Leia(idade1)

Escreva(‘Digite a segunda idade’)

Leia(idade2)

1 - Quais seriam os valores de

entrada para esse problema?

Em C....

main()

{

int idade1, idade2;

printf("Digite a primeira idade: ");

scanf ("%d", &idade1);

printf("Digite a segunda idade: ");

scanf ("%d", &idade2);

}

2 - Qual seria o processamento

que deve ser realizado?

Para calcular a média entre doisvalores precisamos somar esses doisvalores (que estarão armazenados nasvariáveis idade1 e idade2) e dividí-lospor 2.

Ainda, é necessário que o resultadoseja armazenado em uma variável dotipo REAL, já que o resultado de umadivisão pode ser fracionário.

2 - Qual seria o processamento

que deve ser realizado?

Continuando com o nosso algoritmo,

teremos que declarar uma variável

media do tipo REAL (ou float/double,

em C);

E inserir a linha de código onde a

media irá receber o resultado da

operação.

2 - Qual seria o processamento

que deve ser realizado?

Observe as alterações no algoritmo:

Algoritmo media_idade

Variavel

inteiro idade1, idade2

real media

Inicio

Escreva(„Digite a primeira idade‟)

Leia(idade1)

Escreva(„Digite a segunda idade‟)

Leia(idade2)

media ← (idade1 + idade2)/2

2 - Qual seria o processamento

que deve ser realizado?

Observe as alterações no código C:

main()

{

int idade1, idade2;

float media;

printf (“Digite a primeira idade: ”);

scanf (“%d”, &idade1);

printf (“Digite a segunda idade: ”);

scanf (“%d”, &idade2);

media = (idade1 + idade2) / 2.0; //Atenção ao 2.0!!!

}

3 - Qual o valor de saída que deve

ser mostrado para o usuário?

O valor de saída deve ser a média que foi calculada;

Para mostrá-la na tela utilizaremos o comandoESCREVA, da seguinte maneira:

Algoritmo media_idade

Variavel

inteiro idade1, idade2

real media

Inicio

Escreva(„Digite a primeira idade‟)

Leia(idade1)

Escreva(„Digite a segunda idade‟)

Leia(idade2)

media ← (idade1 + idade2)/2

Escreva(‘A media das idades é igual a ‘, media)

FimAlgoritmo

3 - Qual o valor de saída que deve

ser mostrado para o usuário?

Em C ....

main()

{

int idade1, idade2;

float media;

printf (“Digite a primeira idade: ”);

scanf (“%d”, &idade1);

printf (“Digite a segunda idade: ”);

scanf (“%d”, &idade2);

media = (idade1 + idade2) / 2.0; //Atenção ao 2.0!!!

printf (“A media das idades é igual a %f“, media);

}

Para casa ...

Construindo os primeiros algoritmos...

1) Elabore um algoritmo que leia um número inteiro e imprima seusucessor e seu antecessor. Por exemplo, suponha que o usuáriodigite o número 7, o algoritmo deverá imprimir (escrever) na tela oseu antecessor (número 6) e o seu sucessor (o número 8).

2) Elabore um algoritmo que leia dois números inteiros e imprima aseguinte saída:

Dividendo:

Divisor:

Quociente:

Resto:

Para a resolução desse algoritmo utilize os comandos MOD(%) eDIV(/) para o cálculo do resto e do quociente da divisão.

Para casa ...

Construindo os primeiros algoritmos...

3. Elabore um algoritmo que leia três números reais, num1,num2 e num3 e imprima o valor de y, sabendo-se que:

21*213

21 numnum

numnum

numnumy

4. Elabore um algoritmo que leia uma temperatura em grauscentígrados e apresente-a convertida em graus Fahrenheit. Afórmula de conversão é:

F é a temperatura em Fahrenheit e C é a temperatura emcentígrados.

32*5

9 CF

Para casa ...

Construindo os primeiros algoritmos...

5. Para vários tributos, a base de cálculo é o saláriomínimo. Elabore um algoritmo que leia o valor dosalário mínimo e o valor do salário de uma pessoa.Calcular e imprimir quantos salários mínimos essapessoa ganha.

6. Elabore um algoritmo que leia o peso de umapessoa em Kg (só a parte inteira), calcule eimprima:

a. O peso da pessoa em gramas

b. O novo peso da pessoa, em gramas, se a pessoa engordar 12%

Para casa ...

Construindo os primeiros algoritmos...

7. Faça um algoritmo que leia um valor inteiro positivo e menor que 1000, armazene-o em uma variável inteira e determine a soma dos dígitos que formam o valor. Exemplo: o valor 453 tem soma dos dígitos igual a 12 (4 + 5 + 3).

8. Faça um algoritmo que leia dois números inteiros positivos com 5 dígitos cada e gere um terceiro número inteiro com 10 dígitos, sendo que estes sejam os dígitos dos dois primeiros intercalados.

Exemplo :

Número_1 = 12345

Número_2 = 67890

Número_3 = 1627384950

Recommended