55
CADERNO DE APLICAÇÕES INFORMÁTICAS Linguagem C Professora: Matilde Vieira Aluna: Rita Gonçalves Pereira da Costa Bernardo Nº 17 12ºCT2 2017/2018 ESCOLA SECUNDÁRIA RAFAEL BORDALO PINHEIRO

Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

Caderno de Aplicações informáticas

Linguagem C

Professora: Matilde Vieira

Aluna: Rita Gonçalves Pereira da Costa Bernardo

Nº 17

12ºCT2

2017/2018Escola secundária Rafael bordalo pinheiro

Page 2: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

Lição nº 1 e 2 19 de setembro de 2017Sumário:

o Apresentação da disciplina.o Apresentação da professora, alunos(as), disciplina;o Critérios de Avaliação e Métodos de Avaliação;o Organização da disciplina, das equipas de trabalho a pares e

forma de disseminação da informação;

o Metodologia de Projeto (de Vida e Individual) – objetivos, metas,

valores, missão e visão;

o Desenvolvimento Pessoal – Ferramenta de análise individual – Roda da Vida.

- A minha reflexão pessoal:

Um reflexo turvo

Um dos meus valores é a sinceridade e, como tal, não vou escrever nesta pequena reflexão algo que ainda não sei. Por muitas voltas que dê, conseguir de momento definir todo um plano de vida futuro é, de momento, bastante complicado um tanto confuso e rebuscado.

Posto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar da forma mais rápida possível, dando-me assim, a possibilidade de exercer um cargo (ou vários) que me complete, sendo, por isso, uma meta de vida (atual) arranjar um emprego.

1. Para que tal aconteça, não tenciono quebrar regras nem agir com má fé. Quero seguir este caminho de forma humilde e dedicada, sempre em busca do caminho certo a seguir, quero continuar a ser uma pessoa integra, que respeita os outros, mas, que também deseja ser respeitada. Há que ser justa, imparcial e sonhadora, para que possamos sonhar e idealizar o melhor que o mundo tem para nos dar. Acredito piamente que são os valores em que nos

1

Page 3: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

apoiamos que ditam o percorrer do nosso futuro e a forma como o desfrutamos.

A minha missão? .... De momento é completar tudo o que acabei de enunciar. E, quando isso acontecer, quando a completar, espero ter a capacidade de renovar as minhas ambições e de criar outra missão para finalizar, e assim sucessivamente.

Atualmente, gostava de já ter um plano de vida, uma coisa abrangente pela qual me conseguisse guiar, porém, tal plano é inexistente e não sei se me devo de alguma forma preocupar... Contudo, também vejo que ainda tenho várias dúvidas sobre inúmeros assuntos e sei que tenho de pesquisar sobre os mesmos de modo a encontrar todas as respostas necessárias para prosseguir com a minha vida e, talvez um dia, ter um plano bem delineado.

Lição nº 3 e 4 21 de setembro de 2017Sumário:

o 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.

o Fases típicas na elaboração de um programa.o Entidades fundamentais da lógica de programação. Exemplos.o Conceito de algoritmo. Formas de representar algoritmos. Ciclo de

obtenção do produto final.o Abordagem estruturada. Componentes fundamentais de um

programa. Dados. Instruções básicas. Expressões.

Lição nº 5 e 6 26 de setembro de 2017Sumário:

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

2

Page 4: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

Lição nº 7 e 8 27 de setembro de 2017Sumário:

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

Lição nº 9 e 10 3 de outubro de 2017Sumário:

o Resolução de Exercício demonstrativo número 1: Projeto 1.o 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");

3

Page 5: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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

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

scanf(" %c", &Opcao);

//%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

}

Lição nº 11 e 12 4 de outubro de 2017Sumário:

o Blibliotecas da Linguagem C.o Elaboração de exercícios sobre a estrutura de controlo: If ... else:

Projeto 2 e Projeto 3.

4

Page 6: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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");

}

printf("\n\n\tCreated by Ritiwinibini and Docinho da Life");

}

Programa 3//RITA COSTA E RICARDO EZEQUIEL

5

Page 7: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#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)

6

Page 8: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

{

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);

}

printf("made with love and anger by RR");

return 0;

}

Lição nº 13 e 14 10 de outubro de 2017Sumário:

o Projetos elaborados em C no IDE CodeBlocks:o Programa 4 - Variáveis em Co Programa 5 - Utilizar variáveis floato Programa 6 - Variáveis float e charo Programa 7 - Carateres da Língua Portuguesao Programa 8 - Ciclo For

Programa 4/*RITA COSTA BERNARDO, 12ºCT2 ; PROGRAMA4*/

#include <stdio.h>

7

Page 9: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

//INICIALIZAR O PROGRAMA

int main()

{

//RESERVAR ESPAÇO NA MEMORIA PARA A VARIAVEL

//DECLARAR VARIAVEL

int MinhaIdade;

//INICIALIZAR A VARIAVEL

MinhaIdade = 17;

//DECLARAR E INICIALIZAR VARIAVEIS (SO NUMA LINHA DE CODIGO)

int MaeIdade = 44;

int PaiIdade = 49;

int IdadeTotal;

IdadeTotal= MinhaIdade + MaeIdade + PaiIdade;

printf ("\nMinha Idade = %i\nMae Idade = %i\nPai Idade = %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/*RITA COSTA BERNARDO, 12ºCT2 ; PROGRAMA5 */

#include <stdio.h>

//INICIALIZAR O PROGRAMA

int main()

{

8

Page 10: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

int Numero1 = 5;

float Numero2 = 2; //se nao estiver FLOAT o resultado arredonda

float Resultado = Numero1/Numero2;

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

return 0;

}

Programa 6/*RITA COSTA BERNARDO, 12ºCT2 ; PROGRAMA6 */

#include <stdio.h>

//INICIALIZAR O PROGRAMA

int main()

{

int Inteira = 10; // Número Inteiro

float Decimal = 10.5; // Número Decimal com SEIS casas decimais

//declarar uma variavel caracter

char Caractere = 'a'; // Um caractere é uma LETRA

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

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

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

return 0;}

Programa 7/*RITA COSTA BERNARDO, 12ºCT2 ; PROGRAMA7 */

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

9

Page 11: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

//INICIALIZAR O PROGRAMA

int main(void) //VOID não retorna valores

{

setlocale (LC_ALL, "Portuguese");

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

system("pause");

return 0;

}

Programa 8//RITA COSTA BERNARDO, 12ºCT2 ; PROGRAMA8

#include <stdio.h>

#include <stdlib.h>

#include <locale.h>

int main()

{

setlocale (LC_ALL, "Portuguese");

int Contador;

int Numero = 1;

//FOR (INICIALIZAÇÃO = valor inicial ; CONDIÇÃO = limite ; INCREMENTO = ou Decrementar)

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

{

printf ("\n\tTeste\n");

printf ("\n\tPortugal\n");

}

10

Page 12: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

//return 0; }

Lição nº 15 e 16 11 de outubro de 2017Sumário:

o Projetos elaborados em C no IDE CodeBlocks: programas 9 e 10.

Programa 9#include <stdio.h>

#include <stdlib.h>

#include <locale.h> //necessário para usar o 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")

Programa 10/*Elaborar um programa em linguagem C para exemplificar a utilização de

algumas funções de ctype.h.*/

11

Page 13: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include<stdio.h>

#include<stdlib.h>

#include<ctype.h> //biblioteca p/ as funções isalpha isdigit toupper tolower

int main(void)

{

char letra;

char op;

printf("Digite uma letra do alfabeto: ");

scanf("%c",&letra);

//isalpha verifica se é uma letra do alfabeto

if (isalpha(letra))

{

printf("\nVoce digitou a letra %c \n\n",letra);

//toupper transforma em maiuscula

letra = toupper(letra);

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

//tolower transforma em minuscula

letra = tolower(letra);

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

}

else

{

printf("Voce nao digitou uma letra!!!\n");

}

12

Page 14: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

printf("\nInforme um numero de 0 a 9: ");

fflush(stdin);

scanf("%c",&op);~

//isdigit verifica se o carater recebido é um dígito

if(isdigit(op))

{

printf("Digito: %c \n\n",op);

}

else

printf("Voce nao digitou um numero!!!\n\n");

system("pause");

return 0;

}

Lição nº 17 e 18 17 de outubro de 2017Sumário:

o Realização dos Programas: 11, 12.

Programa 11//Rita Costa nº17 Programa11

#include <stdio.h>

#include <locale.h>

/*Ciclo While

Iniciar o programa*/

int main ()

13

Page 15: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

{

setlocale(LC_ALL,"Portuguese");

int contador = 1;

/*Para comparar ou igualar ==

Para diferente!=*/

while (contador!= 5) {

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

++contador;

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

}

system("pause");

return 0;

}

Programa 12//Rita Costa nº17 Programa12

#include <stdio.h>

#include <locale.h>

/*Ciclo if...else

Cálculo do IMC-

Se o IMC for maior ou igual a 30, a pessoa precisa de emagrecer, caso contrário pessoa não é obesa.

Iniciar o programa*/

#define LIMITE 30

int main ()

14

Page 16: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

{

setlocale (LC_ALL, "Portuguese");

float altura,peso,IMC;

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

scanf("%f", &altura);

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

scanf("%f", &peso);

IMC = peso/pow(altura, 2);

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

if (IMC <= LIMITE)

{

printf("\nNão é obesa(o).");

}

else

{

printf("\nPrecisa de emagrecer!!!\n");

}

getchar();

system ("pause");

return 0;

}

Lição nº 19 e 20 18 de outubro de 2017

15

Page 17: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

Sumário:

o Realização dos Programas: 13, 14 e 15.

Programa 13//Rita Costa nº17 Programa13

#include <stdio.h>

#include <math.h>

#include <locale.h>

/*Desenvolver um algoritmo que leia os coeficiemtes de (a,b e c) de uma equação do segundo grau e que calcule as suas raizes.

O programa deve mostrar quando possível o valor das raízes calculadas e a classificação das raízes.*/

int main ()

{

setlocale (LC_ALL, "Portuguese");

float a, b, c, delta, X1, X2;

printf ("\n\nResolução de uma equação do 2o grau: \n\n");

printf ("\nInsira o valor de 'a' =>\t");

scanf ("%f", &a);

printf ("\nInsira o valor de 'b' =>\t");

scanf ("%f", &b);

printf ("\nInsira o valor de 'c' =>\t");

scanf ("%f", &c);

16

Page 18: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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

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

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

if (delta==0)

{

printf ("\n\n\nRaízes Únicas.\n");

printf ("X1=%.2f\n", X1);

}

else if (delta<0)

{

printf ("\n\n\nRaízes Imaginárias.\n");

}

else if (delta>0)

{

printf ("Raízes Distintas");

printf ("\n\nX1=%.2f\n", X1);

printf ("\n\nX2=%.2f\n\n", X2);

}

system ("pause");

return 0;

}

Programa 14//Rita Costa nº17 Programa 14

#include <stdio.h>

17

Page 19: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <math.h>

#include <locale.h>

/*Desenvolver um algoritmo para ler um número X e calcular e imprimir o valor de Y de acordo com as condições:

Y=X, s X<1;

y=0, se X=1;

y=x^2, se x>1.*/

int main ()

{

setlocale (LC_ALL, "Portuguese");

int x,y;

printf ("\n\n\tIndique a variável x:");

scanf ("%d", &x);

if (x<1)

{

y=x; // o '=' ´ é uma atribuição

printf ("\n\n\ty=%d\n\n", y);

}

else if (x==1) // os "==" é uma igualdade

{

y=0;

printf ("\n\n\ty= %d\n\n", y);

}

else if (x>1)

{

y=pow(x,2);

printf ("\n\n\ty= %d\n\n", y);

18

Page 20: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

}

system ("pause");

return 0;

}

Programa 15//Rita Costa, nº17 Programa 15

#include <stdio.h>

#include <math.h>

#include <locale.h>

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

int main ()

{

setlocale (LC_ALL, "Portuguese");

int ano, anobissexto, mesfevereirobissesxto;

char mes(15;

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

scanf ("%s",mes);

system ("pause");

return 0;

}

Lição nº 21 e 22 31 de outubro de 2017Sumário:

19

Page 21: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

o Resolução de exercícios: programas 16 e 17.

Nota: && :AND (E)

|| :OR (OU) | :NOT (NÃO)

Programa 16//Rita Costa nº17 Programa 16

#include <stdio.h>

#include <math.h>

#include <locale.h>

/*Fazer um algoritmo que calcule a média das três notas de um aluno e que mostre, além do valor da média,

uma mensagem de 'Aprovado',caso a média seja igual ou superior a 10, ou a mensagem 'Reprovado' caso contrário*/

int main ()

{

setlocale (LC_ALL, "Portuguese");

float Nota1,Nota2,Nota3,Media;

printf ("\n\n\n\tInsere os valores das tuas notas de zero a vinte.");

printf ("\n\n\n\n\tNota1:");

scanf ("%f", &Nota1);

printf ("\n\n\tNota2:");

scanf ("%f", &Nota2);

printf ("\n\n\tNota3:");

20

Page 22: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

scanf ("%f", &Nota3);

Media= (Nota1+Nota2+Nota3)/3;

if (Media>=10)

{

printf ("\n\n\n\n\tMédia= %.2f", Media);

printf ("\n\n\tAPROVADO\n");

}

else if (Media<10)

{

printf ("\n\n\n\n\tMédia= %.2f", Media);

printf ("\n\tREPROVADO\n");

}

return 0;

}

Programa 17//Rita Costa nº17 Programa 17

#include <stdio.h>

#include <math.h>

#include <locale.h>

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

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

indicando se a sala esta lotada ou não*/

int main ()

21

Page 23: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

{

setlocale (LC_ALL, "Portuguese");

int NumeroDaSala, CapacidadeDaSala, AlunosInscritos, DisponibilidadeDaSala;

printf ("\n\n\n\tIntroduza as especificações da sala:");

printf ("\n\n\n\tNúmero da sala:");

scanff ("%i", &NumeroDaSala);

printf ("\n\n\n\tCapacidade da Sala:");

scanff ("%i", &CapacidadeDaSala);

printf ("\n\n\n\tAlunos Inscritos Para a Sala:");

scanff ("%i", &AlunosInscritos);

DisponibilidadeDaSala = CapacidadeDaSala - AlunosInscritos

if (AlunosInscritos >= CapacidadeDaSala)

{

printf ("SALA = %d\n",NumeroDaSala);

printf ("CAPACIDADE = %D\n",CapacidadeDaSala);

printf ("DisponibilidadeDaSala")

}

Lição nº 23 e 24 7 de novembro de 2017Sumário:

o Arrays em Pascal e em C (diferenças entre as linguagens de programação).

22

Page 24: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

o Programa 18 - Vetores (Arrays unidimensionais).

Matrizes (ou Arrays) bidimensionais (2 dimensões)

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

EX:

Alunos1 2 3 4

Período 1 C(1,1)=14 C(1,2)=15 C(1,3)=14 C(1,4)=19

2 C(2,1)=12 C(2,2)=18 C(2,3)=18 C(2,4)=12

3 C(3,1)=13 C(3,2)=16 C(3,3)=16 C(3,4)=15

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

Operações Básicas com Matizes:

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;

media, soma, float; Tipo de dados

Var <NomeVariavel> array [1..n,1..m] of <tipo de dados>SINTAXE

printf (“Insira as 6 temperaturas carregando na tecla do ‘enter’ entre elas.”),

For l := 1 to 2

23

Page 25: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

For c : 1 to 3

Scanf ( “%f” ,&temperatura);

Programa 18//Rita Costa nº17 Programa 18

#include <stdio.h>

#include <math.h>

#include <locale.h>

/*Tem um conjunto de dados contendo a altura e o sexo (masculino e feminino).

Fazer um algoritmo que calcule e escreva:

ºA maior e a menor altura do grupo;

ºA média da altura das mulheres;

ºO numero de homens.

*/

int main ()

{

setlocale (LC_ALL, "Portuguese");

int x , 1 , NumHomens= 0 , NumMulheres= 0 ;

float h, media = 0 , SomaHom=0, MaiorAltura=0, MenorAltura=0,

char sexo [12]

(…)

Programa 18 Incompleto

Lição nº 25 e 26 8 de novembro de 2017Sumário:

o Programa19 – Arrays.

24

Page 26: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

o Programa 20 – Arrays.

Programa 19//Rita Costa nº17 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 um 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;}

Programa 20//Rita Costa nº17 Programa 20

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

25

Page 27: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#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;}

Lição nº 27 e 28 9 de novembro de 2017Sumário:

o Programa 21 – Arrays.o Programa 22 – Arrays.

Programa 21//Rita Costa nº17, programa 21

26

Page 28: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

/*Escrever um programa que leia um valor de 30 elementos

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

#include <stdio.h>

#include <stdlib.h>

#include <math.h>

#include <locale.h>

int main ()

{

setlocale (LC_ALL, "Portuguese");

int vetor [8], i, total;

float media;

media=0;

total=0;

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

{

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

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

total=total+vetor[i];

}

media=total/8;

printf("\n\n\tA média é %f\n" , media);

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

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

{

if (vetor[i]>media);

27

Page 29: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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

}

system ("pause");

return 0;

}

Programa 22//Rita Costa nº17, programa 22

/*Escrever um programa que leia nomes e apelidos de pessoas

e os mostre no ecrâ no formato 'Apelido, Nome'.

O programa deve terminar quando um nome é introduzido vazio.*/

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <locale.h>

#define DIM 20

#define SEP_NOME ","

int main ()

{

setlocale (LC_ALL, "Portuguese");

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

while (1)

{

printf ("\n\n\tNome:"), gets(Nome);

28

Page 30: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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

/*Colocar o Apelido antes do Nome na string completa*/

printf ("\n\n\tApelido:");gets(Apelido);

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

strcat (Completo, SEP_NOME); /*Juntar o separador/virgula*/

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

puts (Completo);

}

system ("pause");

return 0;

}

Lição nº 29 e 30 14 de novembro de 2017Sumário:

o Funções. Programa 23.o Apontadores.

Programa 23//Rita Costa, nº 17, Programa 23

#include<stdio.h>#include<locale.h>#include<math.h>#include<stdio.h>#include<string.h>

/**Programa 23 - Escrever um programa que solicite ao utilizador dois números e apresentano ecrão resultado da sua soma (criar a função soma) e o dobro (função)de um deles*/

main(){///Primeiro declaram-se as funções /// Declaração de funções no sítio de declaração de variáveis int soma (int a, int b) {

29

Page 31: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

return a+b; }///Devolve o dobro de um número inteiroint dobro(int x)

{ return 2*x; } setlocale (LC_ALL, "Portuguese"); int i, n, totalsoma, totaldobro;

printf("Introduza dois valores inteiros: \n"); scanf("%d%d", &i, &n);

totalsoma = soma(i,n);///Utilização da função soma~

printf ("%d + %d = %d\n", i, n, totalsoma); printf ("2 * %d = %d \n2 * %d = %d\n" , i, dobro(i), n, dobro(n));

system ("pause"); return 0;}

Lição nº 31 e 32 15 de novembro de 2017Sumário:

o Programa 24- Apontadores.o Programa 25 – Funções.

Programa 24//Rita Costa, nº 17, 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 é:

30

Page 32: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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)

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

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

/**Exercício 24- escrever um programa que mostre uma string no ecrã pela ordem que está

escrita e pela ordem contrária*/

main ()

{

char s[100];

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

printf ("\n\nIntroduza uma string até 100 caracteres:");

gets (s);

if (*ptr=='\0') return; /**ou return 0; se der erro de compilação*/

/**string vazia*/

while (*ptr!='\0')

31

Page 33: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

putchar (*ptr++);

/**imprimir a string ao comtrário*/

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

while (ptr>=s) ///enquanto ptr for >= que &s[s]

putchar(*ptr--);

}

Programa 25///Rita Costa nº17, programa 25

/**Implementar a função Potência(Pot)

float Pot(float x, int n)*/

#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, Potencia;

32

Page 34: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

int e;

printf ("\n\tInsira o valor da Base: ");

scanf ("%f", &b);

printf ("\n\tInsira o valor do Expoente: ");

scanf ("%i", &e);

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

system ("pause");

return 0;

}

Lição nº 33 e 34 16 de novembro de 2017Sumário:

o Exercícios – Funções: Programa 26.o Exercícios – Funções: Programas 27, 28 e 29.

Programa 26///Rita Costa nº17, programa 26

/** Escreva um programa que, recorrendo a 3 funções distintas escreve,

no ecrã, o seguinte output:

"***"

"****"

"*****"

"****"

"***"

*/

/*#include <stdlib.h>

#include <string.h>

33

Page 35: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <math.h>

#include <locale.h>

Só precisa de uma biblioteca*/

#include <stdio.h>

linha3X()

{

int i;

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

putchar ('*');

putchar ('\n');

}

linha5X()

{

int i;

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

putchar ('*');

putchar ('\n');

}

linha7X()

{

int i;

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

putchar ('*');

putchar ('\n');

}

main()

{

linha3X();

34

Page 36: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

linha5X();

linha7X();

linha5X();

linha3X();

}

Programa 27///Rita Costa nº17, programa 27

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <locale.h>

#include <stdio.h>

//declaração de funções

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.");

35

Page 37: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

default: printf ("\nEntrei 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 ("\nSou mesmo BOA! EXCELENTE MEMO!");

break;

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

liro(2);

return;

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

tiro (x--);

}

}

Programa 28///Rita Costa nº17, programa 28

#include <stdlib.h>

36

Page 38: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <string.h>

#include <math.h>

#include <locale.h>

#include <stdio.h>

void inic(int s [])

{

int i;

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

s [i]=0;

}

main()

{

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]);

}

Programa 29#include <stdio.h>;

#include <locale.h>;

#include <stdlib.h>;

/**Exercício 29

Fazer um algoritmo que:

• Leia um número indeterminado de linhas contendo cada uma a idade de um indivíduo.

A última linha, que não entrara nos cálculos, contem o valor da idade igual a zero.

37

Page 39: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

• Calcule e escreva a idade média deste grupo de indivíduos.*/

int main(){

setlocale(LC_ALL, “Portuguese”);

int idade=1, soma=0, count=0;

float media;

printf(“Para a última idade digite um Zero.\n\n”);

while (idade> 0)

{

soma += idade;

count++;

printf(“Indique a idade:”);

scanf(“%d” , &idade);

}

media = (float)(soma-1) / (float)(count-1);

//Porque colou-se idade=1

//Porque no contador é -1 a contar (porcausa do ZERO)

printf(“A IDADE MEDIA = %.2f\n”,media);

return 0;

}

Lição nº 35 e 36 21 de novembro de 2017Sumário:

o Momento de Avaliação.

Lição nº 37 e 38 22 de novembro de 2017Sumário:

38

Page 40: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

_______________

Lição nº 39 e 40 23 de novembro de 2017Sumário:

______________

Lição nº 41 e 42 28 de novembro de 2017Sumário:

o Realização do portfólio do primeiro período.

Exercícios Propostos: Exercício 1//Exercício 1

#include <stdio.h>

int main()

/* EXERCICIO 1

Criar um programa para saber os estados civis*/

{

char Opcao;

do

{

printf ("\n\tO utilizador deve escolher a opcao selecionando a primeira letra da palavra.");

printf ("\n\n\tMenu principal:");

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

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

39

Page 41: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

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

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

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

printf ("\n\n\n\n\tOpcao =>");

scanf (" %c", &Opcao);

fflush(stdin);

switch (Opcao)

{

case 's':

case 'S': puts ("Opcao Solteiro") ;break;

case 'c':

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

case 'd':

case 'D': puts ("Opcao Divorciado") ;break;

case 'v':

case 'V': puts ("Opcao Viuvo") ;break;

case 'a':

case 'A': break;

default : ("Opcao Invalida");

}

getchar ();

}

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

}

Exercício 2//EXERCICIO 2

#include <stdio.h>

40

Page 42: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <locale.h>

/**Elaborar um programa que trabalhe as variáveis inteiras em C, de forma a solicitara

inicial do nome do utilizador (dizer qual é no caso de maiúscula e minúscula), questionar

a sua idade, a idade do seu pai, a idade da sua mãe e fazer a soma das idades.

imprima todos os dados introduzidos incluindo a soma das idades.*/

int main ()

{

setlocale (LC_ALL, "Portuguese");

char InicialNome;

int Idade, IdadeMae, IdadePai, Soma;

printf ("Qual é a inicial do teu nome?", InicialNome );

scanf ("%c", &InicialNome);

if (isalpha(InicialNome))

{

printf("\nDigitas-te letra %c \n\n",InicialNome);

//toupper transforma em maiuscula

InicialNome = toupper(InicialNome);

printf("Maiúscula: %c \n\n",InicialNome);

//tolower transforma em minuscula

41

Page 43: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

InicialNome = tolower(InicialNome);

printf("Minúscula: %c \n\n",InicialNome);

}

printf ("Qual é a tua idade?");

scanf ("%d", &Idade);

printf ("\nQual é a idade da tua mãe?");

scanf ("%d", &IdadeMae);

printf ("\nQual é a idade do teu pai?");

scanf ("%d", &IdadePai);

Soma= Idade + IdadeMae + IdadePai;

printf ("\nA soma das idades é: %d\n\n\n", Soma);

system ("pause");

return 0;

}

Programas Propostos Obrigatórios para a avaliação:4 programas obrigatórios

- Exercícios propostos para treino com arrays (vetores e matrizes): Opção 1

///Rita Costa, nº 17

/**Crie um programa que lê 6 valores inteiros e em seguida,mostre no ecrã os valores lidos na ordem inversa*/

42

Page 44: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <stdio.h>

#include <locale.h>

int main()

{

setlocale(LC_ALL, "Portuguese");

int valor[6], i;

for (i = 0; i<6; i++){

printf("\nIntroduza o valor %d: ", i+1);

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

}

/** Normal*/

printf("\n\nOrdem normal:");

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

printf("\nValor %d = %d", i+1, valor[i]);

/** Inversa*/

printf("\n\nOrdem inversa:");

for (i=5; i>=0; i--)

printf("\nValor %d = %d", i+1, valor[i]);

system("pause");

return 0;

}

Opção 2///Programa para ler a nota da prova de 15 alunos e armazene num vetor, calcule e imprima a media geral

43

Page 45: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

#include <math.h>

#include <locale.h>

int main ()

{

setlocale (LC_ALL, "Portuguese");

int vetor [15],i, total;

float media;

media=0;

total=0;

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

{

printf ("Insere a nota %d:", i+1);

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

total= total+vetor[i];

}

media= total/15;

printf("\n\n\tA média é %f\n" , media);

system ("pause");

return 0;

}

- Exercícios propostos para treino com funções: Opção 2

///Rita Costa, nº17, Ex.4 funções para treino

44

Page 46: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

#include <stdio.h>#include <locale.hint maior(int a, int b) {if (a<b) { return b; }else if(a>b) { return a; }}

int main(){ setlocale(LC_ALL, "Portuguese");

int ni, n2;

printf("Introduza um numero: \n") scanf("%d", &n1);

printf("Introduza um segundo numero: \n") scanf("%d", &n2);

if (n1 == n2){

printf("Os numeros sao iguais. \n"); } else

{ printf("Onumero maior é: %d.\n", maior(n1,n2)); }

system ("pause");return 0;}

Opção 3

///Rita Costa, nº17

/**Faça uma função que receba a altura e o raio de umcilindro circular e retorne o volume do cilindro.

45

Page 47: Caderno de Aplicações informáticas  · Web viewPosto isto, sou, com entanto, capaz de definir um objetivo: completar os meus estudos no ensino superior. É algo que anseio completar

O volume de um cilindro circular é calculado pormeio da seguinte fórmula: - V = pi * raio2 * altura, onde pi = 3.141592*#include <stdio.h>#include <math.h>#include <locale.h>

float volume(float r, float h){ int pi = 3.141592; return (pi * pow(r, 2) * h);}

int main(){ setlocale(LC_ALL, "Portuguese");

float r, h; printf("Insira o valor do raio: "); scanf("%f", &r);

printf("\nInsira o valor da altura: "); scanf("%f", &h);

printf("\nO volume do cilindro com raio %2.2f e altura %2.2f é %2.2f", r, h, volume(r, h));

system("pause"); return 0;

}

46