ces-10 introduÇÃo À computaÇÃo aulas práticas – 2013 capítulo ii confecção de tabelas

23
CES-10 INTRODUÇÃO À CES-10 INTRODUÇÃO À COMPUTAÇÃO COMPUTAÇÃO Aulas Práticas – 2013 Aulas Práticas – 2013 Capítulo II Capítulo II Confecção de Tabelas Confecção de Tabelas

Upload: internet

Post on 17-Apr-2015

105 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO

Aulas Práticas – 2013Aulas Práticas – 2013

Capítulo II Capítulo II

Confecção de TabelasConfecção de Tabelas

Page 2: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Programa 2.1: Numeração das linhasPrograma 2.1: Numeração das linhas

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

int i, n;int i, n;

printf ("Digite o numero de repeticoes: "); printf ("Digite o numero de repeticoes: ");

scanf ("%d", &n);scanf ("%d", &n);

i = 1;i = 1;

while (i <= n) {while (i <= n) {

printf ("\n%d Ola pessoal!", i);printf ("\n%d Ola pessoal!", i);

i = i + 1;i = i + 1;

}}

printf ("\n\nDigite algo para encerrar: "); printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

Seja o programa a seguir, quase igual ao Programa 1.3

Digitar, salvar e executar este programa

Digitar um valor ≥ 10 para ‘n’

Quando n ≥ 10, tem-se um desalinhamento

Page 3: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Alterar o programa para:Alterar o programa para:

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

int i, n;int i, n;

printf ("Digite o numero de repeticoes: "); printf ("Digite o numero de repeticoes: ");

scanf ("%d", &n);scanf ("%d", &n);

i = 1;i = 1;

while (i <= n) {while (i <= n) {

printf ("\n%4d Ola pessoal!", i);printf ("\n%4d Ola pessoal!", i);

i = i + 1;i = i + 1;

}}

printf ("\n\nDigite algo para encerrar: "); printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

%4d: escreve o valor de ‘i’ num espaço de 4 casas na tela

O valor de ‘i’ fica justaposto à direitaExemplo: se

Na tela:

i 43

43_

4 casas

Se fosse %-4d: justaposição à esquerda:

Na tela:

43 _

4 casas

Page 4: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Alterar o programa e executar:Alterar o programa e executar:

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

int i, n;int i, n;

printf ("Digite o numero de repeticoes: "); printf ("Digite o numero de repeticoes: ");

scanf ("%d", &n);scanf ("%d", &n);

printf ("\n i mensagem");printf ("\n i mensagem");

printf ("\n---------------------"); printf ("\n---------------------");

i = 1;i = 1;

while (i <= n) {while (i <= n) {

printf ("\n%4d Ola pessoal!", i);printf ("\n%4d Ola pessoal!", i);

i = i + 1;i = i + 1;

}}

printf ("\n\nDigite algo para encerrar: "); printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

Deixa a saída com formato de tabela

A tabela tem um cabeçalho bem simples

Page 5: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Alterar o programa e executar:Alterar o programa e executar:

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

int i, n;int i, n;

printf ("Digite o numero de repeticoes: ");printf ("Digite o numero de repeticoes: ");

scanf ("%d", &n);scanf ("%d", &n);

printf ("\n i | mensagem");printf ("\n i | mensagem");

printf ("\n-----|-----------------");printf ("\n-----|-----------------");

i = 1;i = 1;

while (i <= n) {while (i <= n) {

printf ("\n%4d | Ola pessoal", i);printf ("\n%4d | Ola pessoal", i);

i = i + 1;i = i + 1;

}}

printf ("\n\nDigite algo para encerrar: ");printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

Usa-se a barra vertical ‘|’ para demarcar a separação das colunas

A colocação de ‘|’ deve ser coerente nos 3 printf’s

Page 6: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Exercício: Colocar uma moldura na tabela, Exercício: Colocar uma moldura na tabela, como esta:como esta:

Page 7: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Exercício: Deslocar a tabela mais para o Exercício: Deslocar a tabela mais para o meio da tela, tal como:meio da tela, tal como:

Page 8: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Programa 2.2: Tabela para x versus xPrograma 2.2: Tabela para x versus x22 (x – (x – inteiro)inteiro)

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main ( ) {void main ( ) {

int x, n;int x, n;

printf ("Digite o limite superior da tabela: ");printf ("Digite o limite superior da tabela: ");

scanf ("%d", &n);scanf ("%d", &n);

printf ("\n x x^2");printf ("\n x x^2");

printf (“\n---------------------");printf (“\n---------------------");

x = 1;x = 1;

while (x <= n) {while (x <= n) {

printf (“\n%4d%10d", x, x*x);printf (“\n%4d%10d", x, x*x);

x = x + 1;x = x + 1;

}}

printf ("\n\nDigite algo para encerrar: "); printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

} }

O limite inferior é 1

O limite superior é ‘n’ (digitado)

Em cada linha, um valor de x e esse valor ao quadrado

Page 9: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Exercício: Demarcar a separação das Exercício: Demarcar a separação das colunas, fazer uma moldura e deslocar a colunas, fazer uma moldura e deslocar a tabela mais para o meio da tela, tal como:tabela mais para o meio da tela, tal como:

Page 10: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Programa 2.3: Tabela para x (int) versus Programa 2.3: Tabela para x (int) versus sqrt(x) (real)sqrt(x) (real)

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

#include <math.h>#include <math.h>

void main ( ) {void main ( ) {

int x, n;int x, n;

printf ("Digite o limite superior da tabela: ");printf ("Digite o limite superior da tabela: ");

scanf ("%d", &n);scanf ("%d", &n);

printf ("\n x sqrt(x)");printf ("\n x sqrt(x)");

printf ("\n---------------------");printf ("\n---------------------");

x = 1;x = 1;

while (x <= n) {while (x <= n) {

printf ("\n%4d%15.8f", x, sqrt(x));printf ("\n%4d%15.8f", x, sqrt(x));

x = x + 1;x = x + 1;

}}

printf ("\n\nDigite algo para encerrar: "); getch ();printf ("\n\nDigite algo para encerrar: "); getch ();

}}

%15.8f: escreve o valor real de sqrt(x) num espaço de 15 casas na tela, com 8 casas após o ponto decimal

Contém a função sqrt

Page 11: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Alterar para ler também o limite inferior, e Alterar para ler também o limite inferior, e executar:executar:

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

#include <math.h>#include <math.h>

void main ( ) {void main ( ) {

int x, m, n;int x, m, n;

printf ("Digite os limites inferior e superior da tabela: ");printf ("Digite os limites inferior e superior da tabela: ");

scanf ("%d%d", &m, &n);scanf ("%d%d", &m, &n);

printf ("\n x sqrt(x)");printf ("\n x sqrt(x)");

printf ("\n---------------------");printf ("\n---------------------");

x = m;x = m;

while (x <= n) {while (x <= n) {

printf ("\n%4d%15.8f", x, sqrt(x));printf ("\n%4d%15.8f", x, sqrt(x));

x = x + 1;x = x + 1;

}}

printf ("\n\nDigite algo para encerrar: "); getch ();printf ("\n\nDigite algo para encerrar: "); getch ();

}}

Page 12: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Alterar para ler também o limite inferior, e Alterar para ler também o limite inferior, e executar:executar:

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

#include <math.h>#include <math.h>

void main ( ) {void main ( ) {

int x, m, n;int x, m, n;

printf ("Digite os limites inferior e superior da tabela: ");printf ("Digite os limites inferior e superior da tabela: ");

scanf ("%d%d", &m, &n);scanf ("%d%d", &m, &n);

printf ("\n x sqrt(x)");printf ("\n x sqrt(x)");

printf ("\n---------------------");printf ("\n---------------------");

x = m;x = m;

while (x <= n) {while (x <= n) {

printf ("\n%4d%15.8f", x, sqrt(x));printf ("\n%4d%15.8f", x, sqrt(x));

x = x + 1;x = x + 1;

}}

printf ("\n\nDigite algo para encerrar: "); getch ();printf ("\n\nDigite algo para encerrar: "); getch ();

}}

Haverá problema para x < 0

Page 13: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Uma solução: usar comando Uma solução: usar comando ifif::

#include <stdio.h>#include <stdio.h>#include <conio.h>#include <conio.h>#include <math.h>#include <math.h>

void main ( ) {void main ( ) {int x, m, n;int x, m, n;printf ("Digite os limites inferior e superior da tabela: ");printf ("Digite os limites inferior e superior da tabela: ");scanf ("%d%d", &m, &n);scanf ("%d%d", &m, &n);printf ("\n x sqrt(x)");printf ("\n x sqrt(x)");

printf ("\n---------------------");printf ("\n---------------------");x = m;x = m;while (x <= n) {while (x <= n) {

if (x >= 0)if (x >= 0)printf ("\n%4d%15.8f", x, sqrt(x));printf ("\n%4d%15.8f", x, sqrt(x));

elseelse printf ("\n%4d%15s", x, "----------");printf ("\n%4d%15s", x, "----------");

x = x + 1;x = x + 1;}}

printf ("\n\nDigite algo para encerrar: "); getch ();printf ("\n\nDigite algo para encerrar: "); getch ();}}

Comando condicional if-else:

Se x >= 0, executa o primeiro printfSenão, executa o segundo printf %15s: formato

para escrever uma cadeia de caracteres

Escreve ---------- num espaço de 15 casas justaposto à direita

Page 14: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Exercício do Lab 2: Fazer um programa para Exercício do Lab 2: Fazer um programa para exibir uma única tabela com as seguintes exibir uma única tabela com as seguintes funções:funções:

Função 1: Função 1: xx33 - 8x - 8x22 - 20 - 20 Função 2: Função 2: tan (x*tan (x*/180)/180) Função 3: Função 3: xx55/log/log1010xx

Os limites Os limites mm e e nn do intervalo são inteiros e do intervalo são inteiros e devem ser digitados pelo operadordevem ser digitados pelo operador

A tabela deve ter demarcação da separação A tabela deve ter demarcação da separação das das colunascolunas, , molduramoldura e e deslocamentodeslocamento mais mais para o meio da telapara o meio da tela

No intervalo [m, n]

Page 15: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Função tan (x), para x dado em grausFunção tan (x), para x dado em graus

O arquivo O arquivo math.hmath.h tem a função tem a função tan (x)tan (x), para , para xx dado em dado em radianosradianos

Então, para cada valor de Então, para cada valor de xx em graus, a em graus, a chamada da função deve ser:chamada da função deve ser:

tan (x*tan (x*ππ/180)/180), ou seja, , ou seja, tan (x*3.14159/180)tan (x*3.14159/180)

A precisão de A precisão de ππ fica a critério do programador fica a critério do programador

Para Para x = x = 90 90 e e 270 270 a função tem a função tem problemasproblemas

Page 16: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Função xFunção x55/log/log1010x :x :

O arquivo O arquivo math.hmath.h tem as seguintes funções: tem as seguintes funções:

pow (x, y)pow (x, y), para calcular , para calcular xxyy

log10 (x)log10 (x), para calcular , para calcular loglog1010xx

Para Para x x 0 0 e e x = 1x = 1, a função tem problemas, a função tem problemas

Page 17: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Exemplo para as três funções pedidas:Exemplo para as três funções pedidas:

Page 18: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Programa 2.4: Variáveis e valores do tipo Programa 2.4: Variáveis e valores do tipo caracterecaractere

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

char c;char c;

printf ("Aperte uma tecla: ");printf ("Aperte uma tecla: ");

c = getche ();c = getche ();

printf ("\ndecimal = %d, caractere = %c", c, c);printf ("\ndecimal = %d, caractere = %c", c, c);

printf ("\n\nDigite algo para encerrar: ");printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}Variável do tipo caractere: destina-se a guardar um caractere num dado momento

Page 19: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Caractere Caractere é um símbolo de grafiaé um símbolo de grafia

Exemplos de caracteres:Exemplos de caracteres:

Letras maiúsculas e minúsculas: Letras maiúsculas e minúsculas: A, B, ... , Z, A, B, ... , Z, a, b, ... , za, b, ... , z

Dígitos decimais: Dígitos decimais: 0, 1, 2, ... , 8, 90, 1, 2, ... , 8, 9 Operadores aritméticos: Operadores aritméticos: +, -, *, /+, -, *, / Separadores: Separadores: (, ), [, ], {, }(, ), [, ], {, } Caracteres de pontuação: Caracteres de pontuação: . , ; ! ? :. , ; ! ? : Caracteres especiais: Caracteres especiais: @, #, $, %, &@, #, $, %, & Caracteres de controle: muda linha Caracteres de controle: muda linha (nl)(nl), ,

tabulação tabulação (ht), (ht), etc.etc.

Page 20: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

Cada caractere tem sua Cada caractere tem sua representação internarepresentação interna segundo a segundo a tabela ASCIItabela ASCII::

0 1 2 3 4 5 6 7 8 9

0 nul

bel

bs ht

10 nl cr

20 esc

30 sp ! “ # $ % & ‘

40 ( ) * + , - . / 0 1

50 2 3 4 5 6 7 8 9 : ;

60 < = > ? @ A B C D E

70 F G H I J K L M N O

80 P Q R S T U V W X Y

90 Z [ \ ] ^ _ ` a b c

100

d e f g h i j k l m

110

n o p q r s t u v w

120

x y z { | } ~ del

Exemplos:

ASCII (‘K’) = 75

ASCII (‘&’) = 38

ASCII (‘{’) = 123

Esses valores são as representações internas dos caracteres

Page 21: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

char c;char c;

printf ("Aperte uma tecla: ");printf ("Aperte uma tecla: ");

c = getche ();c = getche ();

printf ("\ndecimal = %d, caractere = %c", c, c);printf ("\ndecimal = %d, caractere = %c", c, c);

printf ("\n\nDigite algo para encerrar: ");printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

Algumas execuções:

c = getche() : espera o operador digitar uma tecla

Em seguida, a variável ‘c’ recebe o caractere correspondente a essa tecla

Então o resultado da função “getche” é o caractere lido da digitação

Page 22: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

char c;char c;

printf ("Aperte uma tecla: ");printf ("Aperte uma tecla: ");

c = getche ();c = getche ();

printf ("\ndecimal = %d, caractere = %c", c, c);printf ("\ndecimal = %d, caractere = %c", c, c);

printf ("\n\nDigite algo para encerrar: ");printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

Algumas execuções:

%d: escreve a representação interna do caractere guardado na variável ‘c’

%c: escreve o próprio caractere guardado na variável ‘c’

Page 23: CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2013 Capítulo II Confecção de Tabelas

#include <stdio.h>#include <stdio.h>

#include <conio.h>#include <conio.h>

void main () {void main () {

char c;char c;

printf ("Aperte uma tecla: ");printf ("Aperte uma tecla: ");

c = getche ();c = getche ();

printf ("\ndecimal = %d, caractere = %c", c, c);printf ("\ndecimal = %d, caractere = %c", c, c);

printf ("\n\nDigite algo para encerrar: ");printf ("\n\nDigite algo para encerrar: ");

getch ();getch ();

}}

Algumas execuções:

Diferença entre getche e getch:

getche: o caractere digitado aparece no vídeo (dá eco no vídeo)

getch: não dá eco no vídeo