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

domingo, 4 de novembro de 2012

Como usar o gotoxy() no Dev C++

Para você que não consegue usar a função gotoxy(x,y).

Para você que sempre que vai usar a função gotoxy() e recebe como resposta do compilador a informação:

error: `gotoxy' undeclared (first use this function)

A solução é esta que apresento aqui, e logo abaixo:

1 – Faça o download deste arquivo: conioc.zip.

São apenas três arquivos:

O arquivo conio.c: coloque ele na pasta C:\Dev-Cpp\include
O arquivo conio.h: coloque ele na pasta C:\Dev-Cpp\include
O arquivo libconio.a coloque na pasta C:\Dev-Cpp\lib

Com isto você poderá usar as seguintes funções:

textcolor(), textbackground(), clrscr(), gotoxy() […] Use o seguinte também: #include<conio.c>

Configurando o Dev C/C++ para inserir código padrão.

Para quem faz programas de computadores com toda e qualquer IDE deve conhecer suas facilidades e recursos. É fundamental para que, se possa, produzir mais, e melhor. Pois bem! Seguindo esta tônica esta dica é para quem usa o Dev C/C++.

É o seguinte: se você usa as mesmas bibliotecas, não tem que digitar todas as linhas das bibliotecas. Neste caso, todas as vezes tenho que digitar várias linhas de bibliotecas. Então, você pode configurar o DEV C/C++ para inserir o código acima automaticamente. Para você configurar um código padrão você faz esta configuração em poucos cliques. Esta dica é para quem usa o DEV C/C++.

1) – Clique em TOOLS; depois clique em Editor Options.

Imagem 006

2) – Na tela do Editor Options você vai clicar em CODE. E depois na parte de baixo clique em Default Source

Imagem 009

Clique em OK. Todas as vezes que você for iniciar um novo arquivo, este bloco de código já aparece no novo arquivo, economizando tempo e digitação. Bem como evita erros, uma vez que você, terá este código inserido corretamente e automaticamente. Não vai deixar errado não é?

quarta-feira, 7 de dezembro de 2011

EXERCÍCIOS - ESTRUTURA DE SELEÇÃO (IF, IF - ELSE e SWITCH)

 

Vamos praticar um pouco um dos principais objetivos de nossa disciplina: aprender a aprender. Dado que todos já estudaram estrutura de seleção em pascal, vamos tentar utilizar este recurso de programação para responder os exercícios a baixo na linguagem C. Para isso consulte o livro e a apostila da UFMG disponibilizada no ambiente para identificar pequenas diferenças que existam entre o que vocês aprenderam em pascal e como se faz em C.

1. Fazer um programa para ler o nome, 2 notas, mostrar a média com a mensagem:

  • Inferior a 5,0 – “Reprovado”
  • De 5,1 a 6,9 – “Recuperação”
  • De 7,0 a 10 – “Aprovado”
  • Obs: mostrar o nome.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

main()

{

char nome[15];

float nota1,nota2,media;

printf("Nome do Aluno: ");

scanf("%s",& nome);

printf("A primeira nota: ");

scanf("%f",& nota1);

printf("A segunda nota: ");

scanf("%f",& nota2);

media = (nota1 + nota2) / 2;

if (media >=7){

printf ("*************************************************************\n\n");

printf ("%s foi APROVADO! Media final ‚ %2.2f\n\n",nome,media);

printf ("*************************************************************\n\n");

}

if ((media >5.1) && (media < 5.9)){

printf ("*************************************************************\n\n");

printf ("%s esta de RECUPERACAO... Media final ‚ %2.2f\n\n",nome,media);

printf ("*************************************************************\n\n");

}

if (media <5){

printf ("*************************************************************\n\n");

printf ("%s foi REPROVADO... Media final ‚ %2.2f\n\n",nome, media);

printf ("*************************************************************\n\n");

}

getch();

}

3. Faça um programa que receba dois números inteiros, digitados pelo usuário e mostre o maior e o menor número digitado.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

main()

{

float numero1,numero2;

printf("Numero 1: ");

scanf("%f",& numero1);

printf("Numero 2: ");

scanf("%f",& numero2);

if (numero1 > numero2){

printf ("*************************************************************\n\n");

printf ("O Numero 1:[ %2.2f ] EH! MAIOR QUE o Numero 2: [ %2.2f ] \n ",numero1,numero2);

printf ("*************************************************************\n\n");

}

else

printf ("*************************************************************\n\n");

printf ("O Numero 2: [ %2.2f ] EH! MAIOR QUE o Numero 1: [ %2.2f ]\n",numero2,numero1);

printf ("*************************************************************\n\n");

getch();

}:

4. Faça um programa que receba a idade de uma pessoa e mostre na saída em qual categoria ela se encontra:

  • 10-14 infantil
  • 15-17 juvenil
  • 18-25 adulto

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

main()

{

int faixaetaria;

printf("Digite a idade [0 PARA SAIR]: ");

scanf("%d",&faixaetaria);

if ((faixaetaria >=10)&& (faixaetaria <=14))

{

printf ("*************************************************************\n\n");

printf ("Esta idade %d Eh Classificada como INFANTIL \n\n ",faixaetaria);

printf ("*************************************************************\n\n");

}

if ((faixaetaria >=15)&& (faixaetaria <=17))

{

printf ("*************************************************************\n\n");

printf ("Esta idade %d Eh Classificada como JUVENIL \n ",faixaetaria);

printf ("*************************************************************\n\n");

}

if ((faixaetaria >=18)&& (faixaetaria <=25))

{

printf ("*************************************************************\n\n");

printf ("Esta idade %d Eh Classificada como ADULTO \n\n ",faixaetaria);

printf ("*************************************************************\n\n");

}

if (faixaetaria <=10)

{

printf ("*************************************************************\n\n");

printf ("Esta idade %d Eh Classificada como CRIANCA \n\n ",faixaetaria);

printf ("*************************************************************\n\n");

}

getch();

}

5. Dada uma letra, escreva na tela se essa letra é ou não uma vogal. Dica: a função toupper(letra) converte um char para caixa alta (maiúsculo) e a função tolower(letra) converte um char para caixa baixa (minúsculo).

#include <stdio.h>

#include <ctype.h> // para toupper

#include <conio.h>

#include <stdlib.h>

int main()

{

char letra;

printf("***************************************************\n");

printf("* ATENCAO: LETRAS SERAO CONVERTIDAS EM MINUSCULAS *\n");

printf("***************************************************\n");

printf("\n\n");

printf("Digite uma Letra: ");

scanf("%c", &letra);

//converte o conteudo digitado na variavel para minusculo

// poderia usar toupper para converter para maiúsculas.

letra = tolower(letra);

switch(letra)

{

case 'a': printf("VOGAL %c\n",letra); break;

case 'e': printf("VOGAL %c\n",letra); break;

case 'i': printf("VOGAL %c\n",letra); break;

case 'o': printf("VOGAL %c\n",letra); break;

case 'u': printf("VOGAL %c\n",letra); break;

default : printf("CONSOANTE %c:\n ",letra);

}

getch();

}

6. Elabora um programa que ao receber um numero inteiro determine retorne se o mesmo é par ou impar.

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

main()

{

int numero;

while (numero >1){

system("cls");

printf("*********************************************\n");

printf("* VERIFICAÇÃO DE NUMERO PAR E IMPAR 0= SAIR *\n");

printf("*********************************************\n");

printf("\n\n");

printf("Digite um NUMERO: ");

scanf("%d", &numero);

system("cls");

if (numero % 2 == 0)

{

printf("\n\n %d Um numero PAR",numero);

}

else

{

printf("\n\n %d Um numero IMPAR ",numero );

}

getch();

}

}:

7. Faça um programa que informe o mês de acordo com o número informado pelo usuário. (Exemplo: Entrada: 4. Saída: Abril).

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

main()

{

int numero;

char nomeMes;

printf("Numero: ");

scanf("%d",&numero);

switch (numero){

case 1: printf("\nMES DE JANEIRO"); break;

case 2: printf("\nMES DE FEVEREIRO"); break;

case 3: printf("\nMES DE MARÇO"); break;

case 4: printf("\nMES DE ABRIL"); break;

case 5: printf("\nMES DE MAIO"); break;

case 6: printf("\nMES DE JUNHO"); break;

case 7: printf("\nMES DE JULHO"); break;

case 8: printf("\nMES DE AGOSTO"); break;

case 9: printf("\nMES DE SETEMBRO"); break;

case 10: printf("\nMES DE OUTUBRO"); break;

case 11: printf("\nMES DE NOVEMBRO"); break;

case 12: printf("\nMES DE DEZEMBRO"); break;

default : printf("NUMERO DE MES INVALIDO");

}

getch();

}:

8. Faça um programa que leia 3 número inteiro os imprima em ordem crescente

#include <stdlib.h>

#include <conio.h>

#include <stdio.h>

main ()

{

int a,b,c;

int aux;

printf("entre com tres numeros: ");

scanf("%d %d %d",&a,&b,&c);

if(a>b)

{

aux=a;

a=b;

b=aux;

}

if(a>c)

{

aux=a;

a=c;

c=aux;

}

if(b>c)

{

aux=b;

b=c;

c=aux;

}

printf("\n\n");

printf("****************** ORDENADO ********************\n");

printf("%d * %d * %d\n", a,b,c);

printf("****************** ORDENADO ********************\n");

system("pause");

}

Eis acima vários exercicios respondidos. Assim, creio que os professores farão novas listas.

 

quarta-feira, 22 de junho de 2011

Lista de exercicio de Algoritmo: exercicio 3

Da lista, o exercício 3 pede o seguinte:

Ler 3 números reais em  vetor e depois exibir os números localizados nas posições impares.

DO PROFESSOR NO VISUALG

programa vetorIverso

var
tipo VETOR: vetor [1..30] de real;
num: VETOR;

i : inteiro;

inicio

para i de 1 ate 30 faca
escreva(“Entre com o “, i, “valor:”);
leia( num[i]);

fimpara;

para i de 1 ate 30 faca
se (( i mod 2) = 1) entao
escreva (num[i] );
fimse;
fimpara;
fim.

algoritmo "30 vetores e os impares"

var
numeros: vetor [1..30] de real
i : inteiro

inicio

para i de 1 ate 30 faca
    escreva("Entre com o ", i, " valor: ")
    leia( numeros[i])
fimpara

para i de 1 ate 30 faca
   se (( i mod 2) = 1) entao
     escreva (numeros[i])
   fimse
fimpara

fimalgoritmo

Acima você tem dois códigos. O código da esquerda em azul funciona no VisualG. Assim você pode vê o algoritmo em ação.

Bons Estudos.

terça-feira, 14 de junho de 2011

Comparação desproporcional entre campus

Veja na imagem abaixo como estão descritas no site do campus IFBA de Eunápolis. É de dá inveja, e morder a testa.

ifba-eunapolis

Como diz o professor: isto não é necessário para o curso, não agora! Quando será?

quarta-feira, 13 de abril de 2011

Bom livro a disposição

Já está disponível na pasta de Compartilhamento do 4shared da Turma Subsequente o Livro Algoritmo Teoria e Prática.

- Algoritmo Teoria e Prática

É um super livro e tem ótimas referências. Aproveitem. É muito útil. Só não dá para imprimir, afinal, são mais de 900 páginas.

Bons estudos!

terça-feira, 12 de abril de 2011

Compilado e Interpretado

Os termos compilado e interpretado foram usados muitas vezes na aula de algoritmo e vários colegas ficaram sem saber o que é isto, por que, como, e quando se utiliza um e outro. Vamos primeiro explicar o que é um e outro, depois mostrar imagens diferentes.

Compilado

Arquivo compilado nada mais é do que um processo que o código que você escreve passa para se transformar em outro tipo de linguagem para que o computador entenda e executa as instruções. Funciona assim:

1. Você escreve as instruções em Alto Nível;

2. Depois vai executar um programa – o compilador – e este programa vai transformar o que você escreveu em linguagem de máquina. Veja uma imagem de um arquivo depois de compilado.

compilado

Interpretado

Interpretado são todos os programas em que, o que você escreve, o que você programa, o que você instruem ao computador, ele não passa por nenhum processo de transformação. O que existem são programas específicos que leem, entendem e apresentam o resultado do que foi lido. Eles apenas interpretam o código e apresentam na sua tela.

Para você entender o que é a interpretação do código, veja este código em HTML, a linguagem de criação de página de internet.

<html>
<head>

<title> Este é meu código Escrito </title>

<body>

<h1>

<ul>

<li>Item 1 </li>
<li>Item 2 </li>

<br>
<br>
<table border=1>

<tr>
<td>Coluna 1</td>
<td>Coluna 2</td>
<td>Coluna 3</td>
</tr>

<tr>
<td>Linha 1</td>
<td>Linha 2</td>
<td>Linha 3</td>
</tr>

</table>

</li>

</h1>

</body>
</html>

Isto acima é tudo que o programador escreveu no código. E, ele faz pouca coisa na tela. Veja como este código é INTERPRETADO pelo navegador da internet.

interpretado

As instruções no código dizem o seguinte:

  • Escreva no título o seguinte: Este é meu código Escrito. Veja na parte de cima da imagem o título.
  • Escreva em letras tamanho H1 a lista: Item 1 e Item 2.
  • Crie uma tabela com os seguintes itens: coluna 1, coluna 2, coluna 3.
  • E também, na tabela, coloque uma linha abaixo com Linha 1, linha 2 e linha 3.

Todas as vezes que o navegador da internet lê o arquivo, vai interpretar cada comando, e vai montar uma página com estas informações.

Isto é suficiente para explicar o que é um programa compilado e outro interpretado.

Entendendo, resolvendo os exercícios de Algoritmo!

A aula de Algoritmo hoje deixou muitos colegas sem entender o conteúdo. Eu afirmei ao professor que a linha de explicação dele estava mais para baixo nível, do que de alto nível. Entende-se o seguinte:

  • Baixo Nível é quando o programador de computador entende tanto de programação, entende tanto de código, que é capaz de escrever num nível quase parecido como o processador faz suas funções. Os programas escritos em modo de linguagem de baixo nível, são bem menores em questão de tamanho do que em Alto Nível.
  • Alto Nível é quando o programador não usa o tipo de linguagem acima citado, pelo contrário, ele escreve de uma maneira que qualquer pessoa alfabetizada seja capaz de identificar o que está escrito, ainda que, o que está escrito são códigos e  instruções ao computador.

Na aula foi abordado superficialmente a solução de alguns problemas, e ai, foi que alguns ou vários colegas não entenderam.

1.    Faça um algoritmo que receba o ano de nascimento de uma pessoa e o ano atual. Calcule e imprima a idade dessa pessoa.

Este problema é de fácil solução. O que se quer, é que você pense o seguinte: Como é que você, calcularia a idade de uma pessoa qualquer? Coisa muito simples, não é? Basta você perguntar: em que ano você nasceu? A pessoa responde. Em seguida você pega o valor do ano atual, e diminui do ano informado pela pessoa. Neste caso, basta você fazer a seguinte conta: IDADE=(ANO ATUAL – ANO DE NASCIMENTO)

Veja esta imagem para entender como é que você programará seu computador.

  • Você vai criar um formulário para que o usuário possa digitar as informações.

calcular-idade

Depois do usuário informar o ano de nascimento, e clicar em OK é que o processador recebe a instrução e faz os calculos da expressão: IDADE=(ANO ATUAL – ANO DE NASCIMENTO).

Por último, exibe no quadro: “A idade é:” o resultado da operação. Esta expressão: idade=(ano atual – ano de nascimento) não é visto pelo usuário; só o programador é quem cria e escreve a instrução e o processador executa, longe da visão do usuário. O usuário só vê o que ele digitou, e em seguida a resposta.

2.    Faça um algoritmo que receba o salário de um funcionário, calcule e imprima o valor do imposto de renda a ser pago, sabendo que o imposto equivale a 5% do salário.

Primeiro, entender o problema. ou seja, primeiro você deve receber a informação de quanto o funcionário ganha. Depois você vai calcular 5% do valor e apresentar na tela o valor do imposto. Pense no seguinte formulário de entrada de informações.

cinco-porcento

Depois que o usuário insere o valor do salário; depois que se clicar no OK é que o processador vai fazer o seguinte cálculo: imposto=(salario*5)/100 ou seja: valor do salário  multiplicado 5 e dividido por 100. E o resultado desta conta, que é invisível ao usuário, vai aparecer no quadro, valor do imposto.

3.    Faça um algoritmo que receba duas notas de um aluno e seus respectivos pesos, calcule e mostre a média ponderada dessas notas. Média ponderada = (nota1*peso1) + (nota2*peso2) / (peso1 + peso2)

Mesmo principio de solução. Primeiro você deve entender como é que vai calcular a média ponderada, e a solução está proposta assim: Média ponderada = (nota1*peso1) + (nota2*peso2) / (peso1 + peso2). Agora você imagina a entrada dos dados no formulário, sabendo também que os pesos citados podem ser valores fixados antes do processo. Veja o formulário para entender.

media-ponderada

Depois de inserir os valores da nota, e clicar em OK é que o processo de calcular a média será executado. Vamos entender que o valor das notas é informada pelo usuário e o valor dos pesos pode ser fixo. Neste caso, pense que a nota 1 é o número 6, na nota 2, temos o número 8, e que o peso 1 é igual a 3, e o peso 2 é igual a 5. Assim teríamos o seguinte cálculo: MP=(6x3)+(8x5) dividido por (3+5) = 7,25

4.    Faça um algoritmo que receba a idade de uma pessoa em anos, calcule e imprima essa idade em: Meses, Dias, Horas e Minutos.

Este último é todo seu!