Академический Документы
Профессиональный Документы
Культура Документы
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.
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.
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 9, 10 – 03/10/2017 – T2
Sumário
Resolução de Exercício demonstrativo número 1: Projeto 1.
Programa 1
#include <stdio.h>
main()
char Opcao;
do
printf ("O utilizador deve escolher a opcao prssionando a primeira letra da palavra");
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");
5
//%C Diz respeito a um único caracter, o programa está à espera de um único caracter.
fflush(stdin);
switch (Opcao)
case 'c':
case 'f':
case 'e':
case '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
#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;
else
7
Programa 3
#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()
scanf("%d", &numero1);
scanf("%d", &numero2);
scanf("%d", &numero3);
scanf("%d", &numero4);
if (numero1 > numero2 && numero1 > numero3 && numero1 > numero4)
printf("\t\t%d\n",soma);
else if(numero2 > numero1 && numero2 > numero3 && numero2 > 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)
printf("\t\t%d\n",soma);
return 0;
Programa 4
#include <stdio.h>
//inicializar o programa
int main()
//declarar variavel
int MinhaIdade;
//Inicializar a variavel
MinhaIdade = 27;
9
//declarar e inicializar variaveis (so numa linha de codigo)
int IdadeTotal;
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;
return 0;
10
Programa 6
#include <stdio.h>
int main()
//declarar um caratere
return 0;
Programa 7
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
setlocale(LC_ALL, "Portuguese");
system ("pause");
return 0;
11
Programa 8
#include <stdio.h>
int main ()
int contador;
int num = 1;
printf ("Teste\n");
printf ("Portugal\n");
return 0;
Programa 9
#include <stdio.h>
#include <stdlib.h>
int main(void)
12
printf("A localidade corrente agora é %s \n",setlocale(LC_ALL,""));
system("pause");
return 0;
Programa 10
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
int main(void)
setlocale(LC_ALL, "Portuguese");
system("pause");
return 0;
Programa 11
#include<stdio.h>
#include<locale.h>
Ciclo While
Inicializar o programa*/
int main ()
int contador = 1;
13
/**Para comparar ou igualar ==
while (contador != 5)
printf("%i\n", contador);
++contador;
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,
#include<stdio.h>
#include<locale.h>
#include<math.h>
#define LIMITE 30
int main()
scanf("%f", &altura);
scanf("%f", &peso);
14
imc = peso/pow(altura, 2);
printf("\nNão é obeso(a).");
else
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
#include <stdio.h>
#include <locale.h>
#include <math.h>
int main()
printf("\n\n\t\t\tax^2+bX+c=0 \n");
15
printf("\n\n\tIntroduza o valor de a -> ");
scanf("%f", &a);
scanf("%f", &b);
scanf("%f", &c);
delta = (pow(b,2)-4*a*c);
x1 = (-b+sqrt(delta)/(2*a));
x1 = (-b+sqrt(delta)/(2*a));
if (delta < 0)
else if (delta == 0)
printf("\n\n\tRaíz única.\n\n");
else if (delta>0)
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>
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;
scanf("%f", &x);
if (x<1)
y=x;
else if (x==1)
y=0;
17
else
y=pow(x, 2);
system("pause");
return 0;
Programa 15
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
setlocale(LC_ALL, "Portuguese");
char mes[15];
scanf("%s", mes);
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");
scanf("%f", ¬a1);
scanf("%f", ¬a2);
scanf("%f", ¬a3);
19
else if (media < 10.00)
system("pause");
return 0;
Programa 17
#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
int main()
setlocale(LC_ALL, "Portuguese");
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;
if (nlivres == 0)
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).
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
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)
Programa 18
22
Aulas – 08/11/2017 – T1 (23, 24) e T2 (25, 26)
Sumário
Programa 19 - Arrays.
Programa 20 - Arrays.
#include<stdio.h>
#include<math.h>
#include<locale.h>
main()
setlocale(LC_ALL, "Portuguese");
scanf("%d", &diastotal);
anos = (diastotal/365);
meses = ((diastotal-(anos*365))/30);
dias = (diastotal-(anos*365)-(30*meses));
system("pause");
return 0;
23
Programa 19
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
main()
setlocale(LC_ALL, "Portuguese");
float total;
int i;
scanf("%f", &sal[i]);
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';
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
#include<stdio.h>
#include<locale.h>
#include<stdlib.h>
#include<math.h>
#include<string.h>
int main()
setlocale(LC_ALL, "Portuguese");
media= 0;
total= 0;
total=total+vetor[i];
media = total/8;
26
if (vetor[i]>media)
printf("\t%d\n", vetor[i]) ;
system("pause");
return 0;
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
main()
setlocale(LC_ALL, "Portuguese");
while(1)
27
{
strcpy(Completo,Apelido);//Copiar o apelido
puts (Completo);
system("pause");
return 0;
Programa 24
#include<stdio.h>
#include<math.h>
#include<locale.h>
#include<stdlib.h>
#include<string.h>
/**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
/**Programa 24 - Escrever um programa que mostre uma string no ecrã pela ordem que está
escrita
main()
setlocale(LC_ALL, "Portuguese");
char s[100];
gets(s);
if (*ptr==0)
putchar(*ptr++);
printf("\n\n");
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 res;
int i;
res *= x;
return res;
main()
setlocale(LC_ALL, "Portuguese");
float b;
int 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
"***"
"****"
"*****"
"****"
"***"
*/
#include<stdio.h>
char linhageral(int n)
int 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>
switch(x)
return;
liro(x++);
break;
liro(x);
void liro(int x)
switch(x)
case 2: return;
printf("\nOlarailarilolela");
break;
break;
break;
32
case 4: printf("\nNão percebo nada disto!!!");
liro(2);
return;
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>
int i;
s[i]=0;
main()
setlocale(LC_ALL, "Portuguese");
int v[10], i;
inic(v);
v[i]=1;
printf("%d\n", v[i]);
34
Aulas – 21/11/2017 – T2 (35, 36)
Sumário
Momento de Avaliação.
#include<stdio.h>
int i, j, filas;
printf("!");
printf("\n");
main()
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");
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;
printf("\n * ");
printf("\n L3 ");
///Indicação ao utilizador
///Recebe as variáveis
///Condições para que o triângulo seja equilátero, isósceles ou escaleno e imprimir o tipo de
acordo com a condição
else
38
printf("O triângulo é ISÓSCELES\n");
system("pause");
return 0;
#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;
scanf("%f", &Atual[i]);
39
printf("%.4f euros \n", Atual[i]);
printf("\n");
system("pause");
return 0;
40