Mostrando postagens com marcador Algoritmo. Mostrar todas as postagens
Mostrando postagens com marcador Algoritmo. Mostrar todas as postagens

Uso da instrução scanf - Entrada de dados

Pertencente a biblioteca stdio.h (Standard Input/Output- entradas e saídas padrões), comando scanf é usado para entrada de dados à partir do teclado.


Sintaxe:

scanf("expressão de controle",argumentos);

onde expressão de controle indica o tipo do dado que será lido pelo computador. A tabela 1 abaixo mostra as expressões de controle usadas no scanf e o tipo de dado que cada expressão representa.

Tabela 1. Expressão de controle e os dados que a expressão representa.
nos argumentos o programador deve indicar o identificador da variável que receberá o valor digitado pelo usuário. Na figura 1, temos um exemplo de entrada de dados para dois tipos de dados de dados diferentes.
Figura 1. Declaração de variáveis e seus respectivos comandos de entrada de dados.

Note que no argumento é usado o símbolo & antes do identificador da variável (Não lembra o que é o identificador da variável? clique aqui e relembre). O uso desse símbolo é obrigatório e serve para avisar o compilador o endereço de memória onde a informação lida no teclado será guardada. Na figura 2 temos uma seta que indica o simbolo referido no texto.
Figura 2. Simbolo usado no argumento do scanf indicando o endereço de memorial que receberá o valor digitado.
Normalmente quando temos uma entrada de dados, um comando de saída de dados (printf) é associado ao scanf e servirá para instruir o usuário sobre o que ele deve fazer. Para entender melhor essa história de associar um printf com o scanf,  observe o código apresentado na figura 3.
Figura 3. Exemplo de programa usando 2 entrada de dados do tipo inteiro.
Conhecendo o código fonte do exemplo apresentado na figura 3 é fácil saber que o programa que irá receber 2 números inteiros, somar esses dois números e exibir o resultado da soma para o usuário que digitou os números. No entanto, quando não temos acesso ao código fonte não é tão fácil deduzir o que o programa vai fazer. Na figura 4 temos a tela do programa exibido na figura 3 após a compilação e execução do código.
Figura 4. Execução do programa apresentado na figura 3.
Notem que ao executar o programa é difícil saber o que deve ser feito, pois o usuário irá se deparar com uma tela preta com um cursor piscando. Neste caso o que deve ser feito? Devemos digitar uma palavra, um numero, esse numero deve ser inteiro, real? É impossível saber ao certo o que devemos fazer. Para ajudar o usuário, o programador deve criar mecanismos para  instruir o usuário sobre o que deve ser feito em cada parte do programa. Na figura 5 temos o código da figura 3 reescrito.

Figura 5. Código associando printf com a entrada de dados.
No código apresentado na figura 5 acrescentamos 3 printf's. O primeiro printf apresenta uma mensagem explicando o que o programa irá fazer, no segundo e terceiro printf o programador irá instruir o usuário sobre como ele deve interagir com o programa. Na figura 6 temos uma tela da execução do programa após as modificações. 
Figura 6. Execução do programa associando printf e scanf orientando o usuário.

Na figura 6 vemos o resultado com as alterações realizadas no código conforme apresentado na figura 5. Na tela de maior destaque temos a primeira parte do programa onde uma mensagem explicando a função do programa será exibida assim como a primeira instrução para o usuário indicando que ele deve digitar o primeiro numero. No quadrado vermelho em destaque, temos o programa após a exibição da soma entre os números. 
Notem que nessa nova versão é muito mais simples para o usuário entender o que deve ser feito ao longo da execução do programa.

Variação do comando:

Conforme o código apresentado na figura 7, um único comando scanf pode ser usado para receber mais de uma variável, no entanto, a pratica não é aconselhada, pois o usuário terá que digitar os dois números na sequencia o que pode gerar duvidas no momento da execução. Na figura 8 temos a execução do programa exibido na figura 7.
Figura 7. Comando scanf recebendo duas variáveis. 
Figura 8.  Execução do código exibido na figura 7.

  
Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Evolução da Informática - Dos primeiros computadores à internet

Apaixonado por todo tipo de história, eu não podia deixar de compartilhar um vídeo que mostra um pouco da historia do computador e da internet com reportagens aqui do Brasil. Tem gente que nem consegue imaginar um computador com somente 16 ou 256 cores.....O saudades do meu 1º computador, Deveria ter guardado de recordação. Vai aqui a configuração dele: 486 DLC 66 MHz com 8 Mb de RAM e HD de 100MB.

Aplicação do conceito de pseudocódigo

Em nossa postagem sobre formas de representar algoritmos vimos as instruções básicas para desenvolver um pseudocódigos (quem quiser relembrar a postagem clique aqui). Com base nas instruções apresentadas vamos resolver alguns exercícios para treinar. O primeiro passo para resolver os exercícios é conhecer a estrutura lógica para o desenvolvimento de programas. 
Diagrama de estrutura lógica para desenvolvimento de algoritmos.

Com base no diagrama acima, devemos analisar nossos problemas e visualizar como devemos distribuir as instruções de nosso pseudocódigo. Sempre em nossos programa devemos seguir essa sequencia:

1º Devem ser realizadas as entradas de dados
2º A partir da entrada como esses dados serão processados?
3º Depois dos dados processados - o que será feito com esse dado?

Para ajudar o entendimento do uso do diagrama, vamos pegar alguns exercícios para facilitar nosso entendimento. Clique aqui e veja nossa postagem com os exercícios.

Fazer um algoritmo que calcule e exiba a área do quadrado onde o valor do lado do quadrado será digitado via teclado.


1º Analisar o problema - Verificar qual necessidade deve ser suprida pelo nosso programa. Neste caso nosso programa deve calcular a área do quadrado.

2º Analisado o problema, identificar como esse calculo é feito - Neste caso:  Área= lado x lado
Esse calculo é o processamento que o computador deve fazer, logo vamos preencher nosso diagrama:
Diagrama mostrando qual processamento deve ser feito
3º Definir as entradas de dados: Apesar de esse passo ser simples é necessário atenção e concentração. Já sabemos o que nosso programa deve fazer, ou seja, calcular a Área do quadrado. 
Para realizar esse calculo é necessário saber o tamanho do lado. Todos os valores usados para a realização do calculo serão considerados entradas de dados.
Definido no diagrama qual será a entrada de dados neste exemplo.
4º Definir as saídas de dados: o ultimo passo é o mais simples. O programa será feito para calcular a área de um quadrado logo quem usar o programa desejará ver o resultado do calculo da area feito no processamento - Ou seja, a saída de dados sempre irá mostrar o resultado do processamento...
Finalização do diagrama

Um passo importante em nosso desenvolvimento é determinar o numero de variáveis necessárias para a realização de nosso programa. Sempre necessitamos criar uma variável para cada entrada de dado e uma variável para cada saída de dado. Neste caso teremos 2 variáveis: Area lado.

Com base na postagem sobre pseudocódigos vamos a resolução de nosso exercícios. Se o diagrama que estamos usando é o diagrama de estrutura lógica para desenvolvimento de algoritmos, logo precisamos definir quais instruções são usadas como entrada de dado, como é feito o processamento e quais instruções são usadas na saída de dados.
Instruções em pseudocódigo na parte superior do diagrama - Seta vermelha indica sequencia de leitura  



Algortimo Area_quadrado
Var
    Area : Real
    lado   : Real

Inicio
   leia lado   
   Area lado * lado
   escreva Area 

Fim



Note que a partir do inicio, a solução lógica de nosso algoritmo segue exatamente a sequencia definida em nosso diagrama de entrada, processamento e saída....

Vamos pegar outro exemplo em nossa postagem de exercícios:

Fazer um algoritmo que calcule e exiba no monitor a área de uma circunferência onde o valor do raio será digitado via teclado.
A formula para esse calculo é: Area = π.r ²  e nosso diagrama ficará:
Estrutura lógica usada no programa do calculo da área do circulo.

Algortimo Area_circulo
Var
    Area : Real
    r        : Real

Inicio
   leia r   
   Area =  3,14 * (r*r)
   escreva Area 

Fim


Neste primeiro momento é possível notar que todos os exercícios seguem essa sequencia, primeiro vem o comando leia, após a entrada de dados o calculo é efetuado e por fim a instrução escreva. Essa sequencia sempre acontecerá independente do numero de entrada de dados ou saída. Só para finalizar nossa postagem, vamos mostrar um ultimo exemplo.

Fazer um algoritmo que ajude um estudante de física a calcular a velocidade de um carro utilizando o conceito de Movimento Retilíneo Uniforme.

Neste caso o processamento é dado pela formula:
Logo nosso diagrama será:


Neste caso será necessário usar 4 entrada de dados, em consequência usaremos 5 variaveis(4 entradas e 1 saída). Com base no diagrama nosso pseudocódigo será:

Algortimo velocidade
Var
    velocidade : Real
    s1, s2, t1, t2        : Real

Inicio
   leia s1 
   leia s2
   leia t1
   leia t2    
   velocidade =  (s2 - s1)/ (t2 - t1)
   escreva velocidade 

Fim

Agora tente fazer os outros exercícios de nossa lista de exercícios clicando aqui.

Ainda ta com duvida, curta nossa pagina no facebook e poste sua duvida lá....

Meus primeiros exercícios de Algoritmos...

1- Fazer um algoritmo que calcule e exiba a área do quadrado onde o valor do lado do quadrado será digitado via teclado. A fórmula para calcular a área do quadrado é: 

Área= lado x lado


2- Fazer um algoritmo que calcule e exiba a área do retângulo onde os valores dos lados do retângulo serão digitados via teclado.

Área= base x altura


3- Fazer um algoritmo que calcule e exiba no monitor a área de uma circunferência onde o valor do raio será digitado via teclado. A fórmula para calcular a área de uma circunferência é: 

A = π.r²   Sendo que π= 3.14159

Quer entender porque a área do circulo é calculada assim? Assista o vídeo (em espanhol) abaixo:



4- Fazer um algoritmo que calcule e exiba a área do triangulo onde os valores da base e da altura serão digitados via teclado.

Área = (base*altura)/2

5- Fazer um algoritmo que calcule e exiba a área e o perímetro de um retângulo onde os valores dos lados do retângulo serão digitados via teclado.

6- Fazer um algoritmo que receba um número via teclado e exiba o numero anterior e o numero posterior ao numero digitado. 

7- Fazer um algoritmo que recebe um numero inteiro via teclado e mostre o valor desse número elevado ao cubo.

8- Fazer um algoritmo que ajude um estudante de física a calcular a velocidade de um carro utilizando o conceito de Movimento Retilíneo Uniforme.
Neste caso o estudante irá digitar o tempo inicial (t1), o tempo fina (t2) a distancia inicial (s1) e a distancia final (s2) via teclado.

8- Continuando a ajudar nosso aluno de física, faça um algoritmo que mostre força mínima que deve ser feita para levantar um automóvel onde o valor da massa (m) do automóvel será digitada via teclado. Considere g=10.

F=m.g

9- Fazer um algoritmo que calcule e exiba as raízes de uma equação de segundo grau onde os valores de A, B e C serão digitados via teclado.


10- Faça o teste de mesa dos exercícios abaixo e fale o que será exibido na tela do computador.

a)
Algoritmo Não_sei
Var
            A : Real
            B: Real
            C: Real
Inicio
            A=10
            B= 30
            C=A
            A=B
            B=C
            Escreva A
            Escreva B
Fim

b)
Algoritmo Não_sei
Var
            A : Real
            B: Real
            C: Real
Inicio
            A=5
            B= 30
           C=0
            A=A-2
            C=B*5
            Escreva A
            Escreva B
Fim



Algortimos - O que são - Para que servem.....

A palavra Algoritmo pode ser utilizada em vários domínios como matemática, automação, informática, etc.....
Apesar do uso dos algoritmos em diferentes áreas da ciência e de suas diferentes definições, podemos dizer que algoritmos são:

..."regras, procedimentos e operações usadas para a solução de um problema"...

Ou seja, criar um algoritmo é organizar procedimentos em uma sequencia lógica para chegar a um determinado objetivo. Um exemplo tradicional usado para mostrar como o algoritmo funciona é ato de fazer um bolo. Para fazer o bolo temos os seguintes passos

- Comprar os ingredientes do bolo
- misturar os ingredientes
- colocar os ingredientes misturados numa forma
- ligar o forno e esperar aquecer
- colocar a forma no forno
- esperar o tempo necessário para retirar a forma do forno e pronto temos um bolo.....

essa é a sequencia lógica para fazer um bolo, agora imagine os seguintes casos abaixo e compare com sequencia logica apresentada anteriormente:

CASO 1:

- Comprar os ingredientes do bolo
- misturar os ingredientes
- ligar o forno e esperar aquecer
- colocar a forma no forno
- colocar os ingredientes misturados numa forma

Nesta sequencia teremos bolo??? Não, pois não adianta colocar a forma no forno sem os ingredientes misturados nela....

CASO 2:

- Comprar os ingredientes do bolo
- misturar os ingredientes
- colocar os ingredientes misturados numa forma
- ligar o forno e esperar aquecer
- esperar o tempo necessário

Neste caso a forma com os ingredientes não foi colocada no forno, logo também não teremos bolo!!!!

Notamos que se não for realizada cada etapa do processo (fazer bolo) no tempo e sequencia certa, não teremos bolo para comer, logo é de extrema importância que cada etapa do processo seja pensada e organizada de maneira a chegar ao objetivo final.....

Quer saber como isso será aplicado em informática, clique aqui e confira.....