Вы находитесь на странице: 1из 41

CADERNO DE APLICAÇÕES

INFORMÁTICAS
Programas em C
Índice
Aulas 1, 2 – 19/09/2017 – T2 (Foram os dois turnos) ................................................................... 3
Reflexão Pessoal:....................................................................................................................... 3
Objetivo de Vida .................................................................................................................... 3
SMART ................................................................................................................................... 3
Missão ................................................................................................................................... 3
Meta ...................................................................................................................................... 4
Visão ...................................................................................................................................... 4
Valores................................................................................................................................... 4
Aulas 3,4 (T2) – 20/09/2017 – Todos ............................................................................................ 4
Aulas 3, 4 – 21/09/2017 – T1 (Foram os dois turnos) ................................................................... 4
Aulas 5, 6 – 26/09/2017 – T2 ........................................................................................................ 5
Aulas e 7,8 T2 – 27/09/2017 – Todos............................................................................................ 5
Aulas 9, 10 – 03/10/2017 – T2 ...................................................................................................... 5
Programa 1 ................................................................................................................................ 5
Aulas 11, 12 (T2)– 04/10/2017 – Todos ........................................................................................ 7
Programa 2 ................................................................................................................................ 7
Programa 3 ................................................................................................................................ 8
Aulas 13, 14 – 10/10/2017 – T2 .................................................................................................... 9
Programa 4 ................................................................................................................................ 9
Programa 5 .............................................................................................................................. 10
Programa 6 .............................................................................................................................. 11
Programa 7 .............................................................................................................................. 11
Programa 8 .............................................................................................................................. 12
Aulas 15, 16 (T2) – 11/10/2017 – Todos .................................................................................... 12
Programa 9 .............................................................................................................................. 12
Programa 10 ............................................................................................................................ 13
Aulas 17, 18 – 17/10/2017 .......................................................................................................... 13
Programa 11 ............................................................................................................................ 13
Programa 12 ............................................................................................................................ 14
Programa 13 ............................................................................................................................ 15
Aulas 19, 20 (T2)– 18/10/2017 – Todos ...................................................................................... 17
Programa 14 ............................................................................................................................ 17
Programa 15 ............................................................................................................................ 18
Aulas 21, 22 – 31/10/2017 – T2 .................................................................................................. 19
Programa 16 ............................................................................................................................ 19

1
Programa 17 ............................................................................................................................ 20
Aulas – 07/11/2017 – T1 (21, 22) e T2 (23, 24) ........................................................................... 22
Matrizes ou Arrays (bidimensionais)....................................................................................... 22
Operações básicas com matrizes ........................................................................................ 22
Programa 18 ............................................................................................................................ 22
Aulas – 08/11/2017 – T1 (23, 24) e T2 (25, 26) ........................................................................... 23
Exercício Voluntário Anos/Meses/Dias ................................................................................... 23
Programa 19 ............................................................................................................................ 24
Programa 20 ............................................................................................................................ 25
Aulas – 09/11/2017 – T1 (25, 26) e T2 (27, 28) ........................................................................... 26
Programa 21 ............................................................................................................................ 26
Aulas – 14/11/2017 – T1 (27, 28) e T2 (29, 30) ........................................................................... 27
Programa 22 ............................................................................................................................ 27
Aulas – 15/11/2017 – T1 (29, 30) e T2 (31, 32) ........................................................................... 28
Programa 24 ............................................................................................................................ 28
Programa 25 ............................................................................................................................ 30
Aulas – 16/11/2017 – T1 (31, 32) e T2 (33, 34) ........................................................................... 31
Programa 26 ............................................................................................................................ 31
Programa 27 ............................................................................................................................ 32
Programa 28 ............................................................................................................................ 34
Aulas – 21/11/2017 – T2 (35, 36) ................................................................................................ 35
Exercício proposto com funções – 4 ....................................................................................... 35
Exercício proposto com arrays - 4 ........................................................................................... 36
Teste Grupo II .......................................................................................................................... 38
Teste Grupo III – A ................................................................................................................... 39

2
Aulas 1, 2 – 19/09/2017 – T2 (Foram os dois turnos)

Sumário

 Apresentação da disciplina.
 Apresentação da professora, alunos(as), disciplina;
 Critérios de Avaliação e Métodos de Avaliação;
 Organização da disciplina, das equipas de trabalho a pares e
forma de disseminação da informação;
 Metodologia de Projeto (de Vida e Individual) – objetivos, metas,
valores, missão e visão;
 Desenvolvimento Pessoal – Ferramenta de análise individual – Roda da Vida.

Reflexão Pessoal:

Objetivo de Vida
 Desde sempre que me vejo como alguém que diverge da sociedade em que se insere
em termos de valores e interesses. Nessa perspetiva, creio que a minha missão é
trazer algo de diferente, de novo, à sociedade, quer seja algo físico ou não.
 Pretendo ser alguém pragmático, que continuamente questiona aquilo que acontece à
sua volta, mas que se mantém fiel as seus valores e convicções. Gostaria de alcançar
um cargo de alguma importância no qual lidasse com situações de liderança, situação
na qual me imagino consigo passar o melhor de mim.

SMART
 S – Já que se trata de um objetivo de vida, a sua especificidade é de certa forma
relativa. Deste modo, considero por objetivo: integrar um grupo de pessoas capazes de
criar algo de novo que tivesse um impacto positivo e útil na vida das pessoas, sempre
com o intuito de “deixar o mundo melhor do que como o encontrámos”.
 M – O objetivo seria mensurável através da criação de uma determinada coisa e pela
reação das pessoas a essa coisa.
 A- O objetivo seria alcançável através da reunião de pessoas com características
imaginativas, percecionistas, técnicas e práticas, características essas que levariam à
concretização do objetivo.
 R – O objetivo é relevante, já que qualquer que seja a inovação para a Humanidade,
esta representa necessariamente progresso.
 T – Como objetivo abstrato que é, não pode ser imposto uma data limite, já que
falamos de objetivos para a vida, a qual, por si só, representa um intervalo de tempo.

Missão
 Ser alguém que respeita e é respeitado por amigos, família, colegas e pela sociedade
em geral, nunca escondendo ser algo que não é. Ter como base ser pragmático e
convicto nas próprias ideias e juízos - no entanto nunca aceitar nada como garantido.
Lidar honesta e justamente com todas as pessoas, não julgando nunca por fatores que

3
não se baseiem em factos. Deixar a marca de paixão, entreajuda, entrega e dedicação
em tudo o que faço presente nos outros para que a levem como exemplo.

Meta
 Creio que como meta tenho que a minha existência traga alguma influência à
existência de outros a meu redor, seja ela direta ou indireta. Gostava de sentir me
realizado a ponto de poder dar um “pouco” de mim a cada um e que esse “pouco”
servisse bem as pessoas.

Visão
 Ser mais tolerante quanto a ideias divergentes do meu pensamento. Arranjar uma
maneira de lidar com as adversidades mais tranquilamente e sem mudar
temperamentos. Viver mais o presente, continuando a perspetivar o futuro, no
entanto sem tantas preocupações.

Valores
 Ser honesto e transparente para tudo e todos. Ser assertivo e frontal, tomando um
elevado grau de pragmatismo e convicção no mundo. Ter uma relação forte com
família e alguns amigos. Dedicar tempo suficiente ao trabalho para ter a possibilidade
de fazer aquilo que mais gosto com aqueles que mais gosto.

Aulas 3,4 (T2) – 20/09/2017 – Todos

Sumário
 Verificação das senhas de acesso dos alunos ao Sistema Informático da escola.
 Computadores e Linguagens de Programação. Estrutura e funcionamento de um
computador. Algoritmos e Lógica da Programação. Linguagens naturais e formais.
 Suporte físico à programação. Níveis de um Sistema Informático.
 Linguagens de Programação. Da linguagem natural à linguagem máquina.

Aulas 3, 4 – 21/09/2017 – T1 (Foram os dois turnos)

Sumário
 Computadores e Linguagens de Programação. Estrutura e funcionamento de um
computador. Algoritmos e Lógica da Programação.
 Ambientes de programação. Evolução das linguagens de programação. Paradigmas das
linguagens de programação. A lógica da programação.
 Fases típicas na elaboração de um programa.
 Entidades fundamentais da lógica de programação. Exemplos.
 Conceito de algoritmo. Formas de representar algoritmos. Ciclo de obtenção do
produto final.
 Abordagem estruturada. Componentes fundamentais de um programa. Dados.
Instruções básicas. Expressões.

4
Aulas 5, 6 – 26/09/2017 – T2
Sumário
 Ciclos de controle: If...then...else; do..while. Resolução de exercícios em pseudocódigo.

Aulas e 7,8 T2 – 27/09/2017 – Todos


Sumário
 Ciclos de controle: If...then...else; do..while. Resolução de exercícios em pseudocódigo.

Aulas 9, 10 – 03/10/2017 – T2
Sumário
 Resolução de Exercício demonstrativo número 1: Projeto 1.

 Utilização dos ciclos de controle: switch; do..while.

Programa 1

#include <stdio.h>

main()

char Opcao;

do

printf ("O utilizador deve escolher a opcao prssionando a primeira letra da palavra");

printf ("\tMenu Principal\n");

//\t Tabulação Horizontal

//\n Mudança de Linha

printf("\n\n\t\tClientes");

printf("\n\n\t\tFornecedores");

printf("\n\n\t\tEncomendas");

printf("\n\n\t\tSair");

printf("\n\n\n\t\tOpcao");

scanf(" %c", &Opcao);

5
//%C Diz respeito a um único caracter, o programa está à espera de um único caracter.

fflush(stdin);

//Limpar o buffer do teclado

switch (Opcao)

case 'c':

case 'C': puts("Opcao Clientes");break;

case 'f':

case 'F': puts ("Opcao Fornecedores");break;

case 'e':

case 'E': puts ("Opcao Encomendas");break;

case 's':

case 'S': break;

default : puts("Opcao Invalida");

getchar(); /*Parar o ecrã.*/

while (Opcao != 's' && Opcao != 'S');

// != -> Diferente

6
Aulas 11, 12 (T2)– 04/10/2017 – Todos
Sumário
 Blibliotecas da Linguagem C.
 Elaboração de exercícios sobre a estrutura de controlo: If ... else: Projeto 2 e Projeto 3

Programa 2

/*RICARDO EZEQUIEL E RITA COSTA*/

#include <stdio.h>

#include <math.h>

/*programa 2

Desenvolver um algoritmo que leia um numero inteiro e verifique se um numero é divisível por
cinco e por três ao mesmo tempo*/

int main()

int numero;

printf("\n\n\tNumero inteiro a Verificar");

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

if (((numero % 5)==0) && ((numero % 3)==0))

printf("\n\tO NUMERO E DIVISIVEL\n");

else

printf("\n\tO NUMERO NAO E DIVISIVEL\n");

7
Programa 3

//RITA COSTA E RICARDO EZEQUIEL

#include <stdio.h>

#include <math.h>

/*Programa 3

Dados 4 numeros distintos, desenvolver um algoritmo que determine imprima a soma dos 3
numeros menores*/

int main()

printf("Introduza 4 numeros inteiros");

int numero1, numero2, numero3, numero4, soma;

scanf("%d", &numero1);

scanf("%d", &numero2);

scanf("%d", &numero3);

scanf("%d", &numero4);

if (numero1 > numero2 && numero1 > numero3 && numero1 > numero4)

soma = numero2 + numero3 + numero4;

printf("\t\t%d\n",soma);

else if(numero2 > numero1 && numero2 > numero3 && numero2 > numero4)

soma = numero1 + numero3 + numero4;

printf("\t\t%d\n",soma);

else if (numero3 > numero1 && numero3 > numero2 && numero3 > numero4)

8
soma = numero1 + numero2 + numero4;

printf("\t\t%d\n",soma);

else if(numero4 > numero1 && numero4 > numero2 && numero4 > numero3)

soma = numero1 + numero2 + numero3;

printf("\t\t%d\n",soma);

return 0;

Aulas 13, 14 – 10/10/2017 – T2


Sumário
 Projetos elaborados em C no IDE CodeBlocks:
 Programa 4 - Variáveis em C
 Programa 5 - Utilizar variáveis float
 Programa 6 - Variáveis float e char
 Programa 7 - Carateres da Língua Portuguesa
 Programa 8 - Ciclo For

Programa 4

//Ricardo Ezequiel 10-10-2017

#include <stdio.h>

//inicializar o programa

int main()

//Reservar espaço na memória para a variavel

//declarar variavel

int MinhaIdade;

//Inicializar a variavel

MinhaIdade = 27;

9
//declarar e inicializar variaveis (so numa linha de codigo)

int MaeIdade = 45;

int PaiIdade = 47;

int IdadeTotal;

IdadeTotal = MinhaIdade + PaiIdade + PaiIdade;

printf ("MinhaIdade = %i.\nMaeIdade = %i.\nPaiIdade = %i. ", MinhaIdade, MaeIdade,


PaiIdade);

// %i => Variavel inteira

printf ("\nMinha Idade = %i.\n", MinhaIdade);

printf ("\nO total das idades dos membros da familia = %i", IdadeTotal);

return 0;

Programa 5

//Ricardo Ezequiel

#include <stdio.h>

int main()

int num1 = 5;

float num2 = 2;

float resultado = num1/num2;

printf("O resultado da divisao e = %f\n", resultado);

return 0;

10
Programa 6

#include <stdio.h>

int main()

int inteira = 10;

float decimal = 10.5;

//declarar um caratere

char caratere = 'a';

printf("Imprime a variavel inteira %i\n", inteira);

printf("Imprime a variavel decimal %f\n", decimal);

printf("Imprime a variavel caratere %c\n", caratere);

return 0;

Programa 7

//Pôr alfabeto português

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

int main (void)

setlocale(LC_ALL, "Portuguese");

printf("\n\n\n\tVamos utilizar carateres e acentuação da língua portuguesa!!");

system ("pause");

return 0;

11
Programa 8

#include <stdio.h>

int main ()

int contador;

int num = 1;

//for(inicialização, condição, incremento)

for (contador = 1; contador < 10; contador = contador +1)

printf ("Teste\n");

printf ("Portugal\n");

return 0;

Aulas 15, 16 (T2) – 11/10/2017 – Todos


Sumário
 Projetos elaborados em C no IDE CodeBlocks:

Programa 9

#include <stdio.h>

#include <stdlib.h>

#include <locale.h> //necessário para usar setlocale

int main(void)

printf("\n****** Verificando a localidade corrente ********\n\n");

printf ("Localidade corrente: %s\n", setlocale(LC_ALL,NULL) );

printf("Não é possível usar acentuação ou ç corretamente...\n\n");

printf("\n****** Alterando para a localidade do sistema********\n\n");

//alterando para o padrão do sistema operativo

12
printf("A localidade corrente agora é %s \n",setlocale(LC_ALL,""));

printf("Agora não tem mais problema algum!\n");

printf("Já posso usar acentuação e também o caracter ç...\n\n\n");

system("pause");

return 0;

Programa 10
#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

int main(void)

setlocale(LC_ALL, "Portuguese");

printf("Utilizando caracteres e acentuação da língua portuguesa!\n\n");

system("pause");

return 0;

Aulas 17, 18 – 17/10/2017


Sumário
 Realização dos Programas: 11, 12 e 13.

Programa 11

#include<stdio.h>

#include<locale.h>

/**Ricardo Ezequiel - 17/10/2017

Ciclo While

Inicializar o programa*/

int main ()

setlocale (LC_ALL, "Portuguese");

int contador = 1;

13
/**Para comparar ou igualar ==

Para diferente !=*/

while (contador != 5)

printf("%i\n", contador);

++contador;

/**++contador é o mesmo que contador++ e contador = contador +1*/

system("pause");

return 0;

Programa 12
/**include Ricardo Ezequiel - 17/10/2017

Ciclo If .....Else

Calculo do IMC - Se o IMC for maior ou igual a 30, a pessoa precisa de emagrecer,

caso contário pessoa não é obesa.

Inicializar como programa*/

#include<stdio.h>

#include<locale.h>

#include<math.h>

#define LIMITE 30

int main()

setlocale (LC_ALL, "Portuguese");

float altura, peso, imc;

printf("Digite a sua altura: \n");

scanf("%f", &altura);

printf("\nDigite o seu peso: \n");

scanf("%f", &peso);

14
imc = peso/pow(altura, 2);

printf("\nO seu IMC é: %2.2f \n\n", imc);

if (imc <= LIMITE)

printf("\nNão é obeso(a).");

else

printf("Tas Obeso pah...É melhor pores-te a mexer!!!\n");

getchar();

system ("pause");

return 0;

Programa 13

/**Desenvolver um algoritmo que leia os coeficiente (a,b,c) de uma equação do segundo grau

e calcule as suas raízes. O programa deve mostrar quando possível o valor das raízes calculadas

e a classificação das reaízes */

//Ricardo Ezequiel 18-10-2017

#include <stdio.h>

#include <locale.h>

#include <math.h>

int main()

setlocale (LC_ALL, "Portuguese");

float a, b,c, x1, x2, delta;

printf("\n\n\t\t\tax^2+bX+c=0 \n");

printf("\n\n\tIntroduza os valores com vírgulas e não pontos");

15
printf("\n\n\tIntroduza o valor de a -> ");

scanf("%f", &a);

printf("\n\n\tIntroduza o valor de b -> ");

scanf("%f", &b);

printf("\n\n\tIntroduza o valor de c -> ");

scanf("%f", &c);

delta = (pow(b,2)-4*a*c);

x1 = (-b+sqrt(delta)/(2*a));

x1 = (-b+sqrt(delta)/(2*a));

printf("\n\n\tO valor do binómio discriminante é : %f\n\n", delta);

if (delta < 0)

printf("\n\n\tRaízes imaginárias. Sem solução.\n\n");

else if (delta == 0)

printf("\n\n\tRaíz única.\n\n");

printf("\n\n\tSolução única = %f\n\n", x1);

else if (delta>0)

printf("\n\tDuas raízes distintas:\n\n");

printf("\n\tPrimeira solução = %f\n\n", x1);

printf("\n\tSegunda solução = %f\n\n", x2);

system("pause");

return 0;

16
Aulas 19, 20 (T2)– 18/10/2017 – Todos
Sumário
 Realização dos Programas: 13, 14 e 15.

Programa 14
#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

/**Desenvolver um programa para ler um número x e calcular e imprimir o valor de y de


acordo com as condições

y=x se x<1;

y=0 se x=1;

y=x^2 se x>1;*/

int main()

setlocale(LC_ALL, "Portuguese");

float x, y;

printf("\n\n\tIndique qual a variável (vírgulas):");

scanf("%f", &x);

if (x<1)

y=x;

printf("\n\n\tO valor é: %f\n", y);

else if (x==1)

y=0;

printf("\n\n\tO valor é: %f\n", y);

17
else

y=pow(x, 2);

printf("\n\n\tO valor é %f\n", y);

system("pause");

return 0;

Programa 15
#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

/**Desenvolver um algoritmo para pedir um mês e um ano e exibir o número de dias do


mês/ano digitados*/

int main()

setlocale(LC_ALL, "Portuguese");

int ano, anobissexto, mesfevereirobissexto;

char mes[15];

printf("\n\n\tIndique o mês: ");

scanf("%s", mes);

printf("\n\n\tIndique o ano: ");

scanf("%d", ano);

system("pause");

return 0;

18
Aulas 21, 22 – 31/10/2017 – T2
Sumário
 Resolução de Exercícios: Projetos 16 e 17.

Programa 16
/**Fazer um algoritmo que calcule a média aritmética das 3 notas de um aluno e mostre, além
do valor da média,

uma mensagem de "Aprovado" casoa média seja igual ou superior a 10, ou a mensagem
"reprovado",caso contrário.**/

#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

int main()

setlocale(LC_ALL, "Portuguese");

float nota1, nota2, nota3, media;

printf("\n\n\tInsira a primeira nota: ");

scanf("%f", &nota1);

printf("\n\n\tInsira a segunda nota: ");

scanf("%f", &nota2);

printf("\n\n\tInsira a terceira nota: ");

scanf("%f", &nota3);

media = (nota1 + nota2 + nota3)/3;

if (media >= 10.00 && media <= 20.00)

printf("O aluno está APROVADO\n");

printf("MEDIA = %.2f", media);

19
else if (media < 10.00)

printf("O aluno está REPROVADO\n");

printf("Media = %.2f", media);

else if (media < 0.00 || media > 20.00)

printf("ERRO: VERIFICAR VARIÁVEIS\n\n");

system("pause");

return 0;

Programa 17

/**Ricardo Ezequiel nº16*/

#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

/*Desenvolver um algoritmo para ler o nºo da sala de aula, a sua capacidade e o total de
alunos inscritos na mesma

e imprimir uma linha mostrando o número da sala, a sua capacidade, o número de cadeiras
ocupadas e a sua disponibilidade

indicando se a sala está lotada ou não*/

int main()

setlocale(LC_ALL, "Portuguese");

int nsala, nlugares, nalunos, nocupados, nlivres;

printf("Número da sala\t");

scanf("%i", &nsala);

20
printf("Número de lugares\t");

scanf("%i", &nlugares);

printf("Número de alunos\t");

scanf("%i", &nalunos);

nocupados = nalunos;

nlivres = nlugares - nalunos;

printf("\n\nO número da sala é %i", nsala);

printf("\nA capacidade da sala é de %i lugares", nlugares);

printf("\nO numero de lugares ocupados é de %i lugares", nocupados);

if (nlivres == 0)

printf("\n\nA sala está lotada");

else if (nlivres > 0)

printf("\n\nA sala não está lotada, sobrando %i lugares\n", nlivres);

else if (nlivres < 0)

printf("\n\nA sala está sobrelotada, sobrando %i lugares\n", -nlivres);

system("pause");

return 0;

21
Aulas – 07/11/2017 – T1 (21, 22) e T2 (23, 24)
Sumário
 Arrays em Pascal e em C (diferenças entre as linguagens de programação).
 Programa 18 - Vetores (Arrays unidimensionais).

Matrizes ou Arrays (bidimensionais)


Utilizam duas variáveis de índice uma para linha, outra para coluna, para o acesso aos seus
elementos. Graficamente é representado por uma tabela de dupla entrada (linha x coluna)

Exemplo:

Período/Alunos 1 2 3 4 5
1 C(1,1) = 14 C(1,2)=15 C(1,3)=15 C(1,4)=15 C(1,5)=15
2 C(2,1)= 10 C(2,2)=15 C(2,3)= 15 C(2,4)=17 C(2,5)=18
3 C(2,3) = 13 C(3,2)= 16 C(3,3)=9 C(3,4)=19 C(3,5)=17

Classificação -> C (Classifica [L,C]) -> tabela

Operações básicas com matrizes

São declaradas na parte declarativa do programa (onde se declaram todas as variáveis globais.)
Para declarar a matriz é usada a palavra Var (PASCAL)

Var temperatura array[1...2 , 1…3] of real;

Var <Nome variável> array [1…n , 1…m] of <tipo de dados>;

Programa 18

(não concluído/ realizado em aula)

22
Aulas – 08/11/2017 – T1 (23, 24) e T2 (25, 26)
Sumário
 Programa 19 - Arrays.
 Programa 20 - Arrays.

Exercício Voluntário Anos/Meses/Dias

#include<stdio.h>

#include<math.h>

#include<locale.h>

main()

setlocale(LC_ALL, "Portuguese");

int diastotal, dias, meses, anos;

printf("Introduza o número de dias: \n");

scanf("%d", &diastotal);

anos = (diastotal/365);

meses = ((diastotal-(anos*365))/30);

dias = (diastotal-(anos*365)-(30*meses));

printf("anos = %d, meses= %d dias= %d", anos, meses,dias);

system("pause");

return 0;

23
Programa 19
#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

/**Realiza a leitura dos salários pagos a u indivíduo durante um ano*/

main()

setlocale(LC_ALL, "Portuguese");

float sal[12]; //float refere-se a um número de meses

float total;

int i;

for (i=0; i<=11; i++)

printf("\nIntroduza o salário do mês %d: ", i+1);

scanf("%f", &sal[i]);

//Mostrar os valores mensais e calcular o total

puts ("Mês Valor");

for (i=0, total= 0.0; i<=11; i++)

printf(" %3d %f\n", i+1, sal[i]);

total+=sal[i];//isto é igual a: total = total + sal[12]

printf("Total Anual: %9.2f\n", total);

system("pause");

return 0;

24
Programa 20
#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

#define DIM 3

main()

setlocale(LC_ALL, "Portuguese");

char Galo [DIM][DIM] = {{' ',' ',' '},{' ',' ',' '},{' ',' ',' '}};

int i,j;

Galo[0][0] = 'X';

Galo[0][2] = 'O';

Galo[1][1] = 'X';

Galo[2][2] = 'O';

for (i=0; i<DIM; i++)

for (j=0; j<DIM; j++)

printf("%c %c", Galo[i][j], j==DIM-1?' ':'|');

if (i!=DIM-1)

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

system("pause");

return 0;

25
Aulas – 09/11/2017 – T1 (25, 26) e T2 (27, 28)
Sumário
 Programa 21 - Arrays.
 Programa 22 - Arrays.

Programa 21
/**Programa 21- Escrever um programa que leia um vetor de 8 elementos inteiros

que são maiores do que a media dos valores digitados*/

#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

int main()

setlocale(LC_ALL, "Portuguese");

int vetor [8], i;

float total, media;

media= 0;

total= 0;

for (i=0; i<8; i++)

printf ("Introduza um número inteiro %d: \n", i+1);

scanf("%d", &vetor [i]);

total=total+vetor[i];

media = total/8;

printf("A média é %.2f: \n", media);

printf("Os valores acima da média são: \n");

for (i=0; i<8; i++)

26
if (vetor[i]>media)

printf("\t%d\n", vetor[i]) ;

system("pause");

return 0;

Aulas – 14/11/2017 – T1 (27, 28) e T2 (29, 30)


Sumário
 Funções. Programa 22.
 Apontadores.

Programa 22
/** Programa 22 - Escrever um programa que leia nomes e apelidos das pessoas e os mostre
no ecrã

no formato Apelido, Nome. O programa deve terminar quando um nome for introduzido
vazio.*/

#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

#define DIM 20

#define SEP_NOME ","

main()

setlocale(LC_ALL, "Portuguese");

char Nome [DIM+1], Apelido [DIM+1], Completo[2*DIM+1];

while(1)

27
{

printf("Nome: "); gets(Nome);

if (strlen(Nome)==0) break;;//Comprimento do nome

/**Colocar o Apelido,Nome na string completo*/

printf("Apelido: "); gets (Apelido);

strcpy(Completo,Apelido);//Copiar o apelido

strcat(Completo, SEP_NOME);//Juntar o separador/vírgula

strcat(Completo, Nome);//Juntar o primeiro nome

puts (Completo);

system("pause");

return 0;

Aulas – 15/11/2017 – T1 (29, 30) e T2 (31, 32)


Sumário
 Programa 24 - Apontadores.
 Programa 25 – Funções.

Programa 24
#include<stdio.h>

#include<math.h>

#include<locale.h>

#include<stdlib.h>

#include<string.h>

/**O nome de um vetor corresponde ao endereço do seu primeiro elemento isto é:

se v for um vetor v==&v[0]*/

/**Existem duas formas de colocar um apontador ptr a apontar para o primeiro elemento de
v:

1.ptr = &v[0];

2.ptr= v;

*/

/**Ao contrário de v que é um vetor (apontador constante associado à sua própria memória)

28
ptr é um apontador puro, pelo que pode ser alterado com endereços diferentes

ao longo do tempo de execução do programa*/

/**Programa 24 - Escrever um programa que mostre uma string no ecrã pela ordem que está
escrita

e pelo ordem contrária*/

main()

setlocale(LC_ALL, "Portuguese");

char s[100];

char *ptr = s; ///aponta para o primeiro carater de s

printf("Introduza uma string até 100 carateres ");

gets(s);

if (*ptr==0)

return 0;///ou return/ string vazia

///Imprimir a string normalmente

while (*ptr!= '\0')

putchar(*ptr++);

printf("\n\n");

///Imprimir string ao contrário

ptr--;///Por causa do '\0'

while (ptr>=s)///Enquanto ptr for maior ou igual que &s[0]

putchar(*ptr--);

system ("pause");

return 0;

29
Programa 25
///Implementar a função potência(Pot)

#include<stdio.h>

#include<stdlib.h>

#include<locale.h>

float Pot (float x, int n)

float res;

int i;

for (i=1, res=1.0; i<=n; i++)

res *= x;

return res;

main()

setlocale(LC_ALL, "Portuguese");

float b;

int e;

printf("Introduza os valores da base e do expoente: " );

scanf("%f %d", &b, &e);

printf("%.2f elevado a %d é igual a: %.2f\n", b, e, Pot(b,e));

system("pause");

return 0;

30
Aulas – 16/11/2017 – T1 (31, 32) e T2 (33, 34)
Sumário
 Exercícios - Funções: Programa 26.
 Programa 27 e 28.

Programa 26

/**Programa 26 - Escreva um programa que recorrendo a 3 funções distintas

escreva no ecrã o seguinte output:

"***"

"****"

"*****"

"****"

"***"

*/

#include<stdio.h>

char linhageral(int n)

int i;

for (i=1; i<=n; i++)

putchar('*');

putchar('\n');

main()

printf("%c%c%c%c", linhageral(3),linhageral(5),linhageral(7),linhageral(5),linhageral(3));

system("pause");

return 0;

31
Programa 27
/**Programa_27: Dadas as funções tiro e liro*/

#include<stdio.h>

#include<stdlib.h>

#include<locale.h>

void tiro (int x)

switch(x)

case 1: printf("\nEste teste é mesmo fácil.");

case 2: printf("\nAi de quem diga o contrário...");

return;

case 3: printf("\nEstou no tiro e x=%d", x);

liro(x++);

break;

printf("\nVou sair do tiro");

default: printf("\n Entrei pelo default");

liro(x);

void liro(int x)

switch(x)

case 2: return;

printf("\nOlarailarilolela");

break;

case 3: printf("\nEu percebo Himalaias de C.");

break;

printf("Sou mesmo Bom!!!");

break;

32
case 4: printf("\nNão percebo nada disto!!!");

liro(2);

return;

default:printf("\nCá estou eu mais uma vez");

tiro(x--);

main()

setlocale(LC_ALL, "Portuguese");

tiro(1);

tiro(3);

liro(2);

liro(4);

liro(5);

system("pause");

return 0;

33
Programa 28

#include<stdio.h>

#include<locale.h>

void inic(int s[])

int i;

for (i=0; i<10; i++)

s[i]=0;

main()

setlocale(LC_ALL, "Portuguese");

int v[10], i;

inic(v);

for (i=0; i<10;i++)

v[i]=1;

for (i=10-1; i>=0; i--)

printf("%d\n", v[i]);

34
Aulas – 21/11/2017 – T2 (35, 36)
Sumário
 Momento de Avaliação.

Exercício proposto com funções – 4

#include<stdio.h>

int i, j, filas;

int pexclamacao (int x)

for (i=1; i<=x; i++)

for (j=0;j<i; j++)

printf("!");

printf("\n");

main()

printf("Introduza o número de filas desejadas: ");

scanf("%d", &filas);

pexclamacao(filas);

system("pause");

return 0;

35
Exercício proposto com arrays - 4

#include<stdio.h>

main()

int l, c, m[5][5];

for (l=0;l<5;l++)

for(c=0;c<5;c++)

if (l==c)

printf("1\t");

else

printf("0\t");

printf("\n");

system ("pause");

return 0;

36
Exercício 2 – Idades

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

int main ()

setlocale(LC_ALL, "Portuguese");

int MinhaIdade, IdadePai, IdadeMae, IdadeTotal;

printf("Vamos calcular a idade total da sua família!!");

printf("\n\tA sua idade é -> ");

scanf(" %i", &MinhaIdade);

printf("\n\tA idade da sua mãe é -> ");

scanf(" %i", &IdadeMae);

printf("\n\tA idade do seu pai é -> ");

scanf(" %i", &IdadePai);

IdadeTotal = MinhaIdade + IdadeMae + IdadePai;

printf ("\nO total das idades dos membros da familia = %i", IdadeTotal);

return 0;

37
Teste Grupo II

#include<stdio.h>

#include<locale.h>

main()

setlocale(LC_ALL, "Portuguese");

///Declarar as variáveis

float l1,l2,l3;

///Introduzir imagem exemplificativa

printf("\n * ");

printf("\nL1 *** L2");

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

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

printf("\n L3 ");

///Indicação ao utilizador

printf("\n\nIntroduza o valor dos três lados do triângulo,\narredondados às centésimas e


separados por vírgulas: ");

///Recebe as variáveis

scanf("\n%f\n%f\n%f", &l1, &l2, &l3);

///Condições para que o triângulo seja equilátero, isósceles ou escaleno e imprimir o tipo de
acordo com a condição

if (l1!=l2 && l2!=l3 && l1!=l3)

printf("O triângulo é ESCALENO\n");

else if (l1==l2 && l2==l3 && l1==l3)

printf("O triângulo é EQUILÁTERO\n");

else

38
printf("O triângulo é ISÓSCELES\n");

system("pause");

return 0;

Teste Grupo III – A

#include<stdio.h>

#include<locale.h>

#include<stdlib.h>

#include<math.h>

#include<string.h>

main()

setlocale(LC_ALL, "Portuguese");

///Declaração de variáveis

float Atual[5],Aumento[5];

int i;

///Leitura do preço dos artigos

for(i=0; i<5; i++)

printf("Introduza o preço do %dº artigo: ", i+1);

scanf("%f", &Atual[i]);

///Cálculo do preço com aumento

for (i=0; i<5; i++)

Aumento[i] = Atual[i] + 0.1*Atual[i];

///Impressão da "Tabela" com os valores

printf("\nValores atuais: \n");

for (i=1; i<5; i++)

39
printf("%.4f euros \n", Atual[i]);

printf("\nValores aumentados: \n");

for (i=0; i<5; i++)

printf("%.4f euros \n", Aumento[i]);

printf("\n");

system("pause");

return 0;

40

Вам также может понравиться