A minha primeira vez!!!

Na última semana estivemos a realizar um trabalho segundo o paradigma de ADT em C++. Tínhamos que criar um objecto a nossa escolha, mas de forma a atingir os objectivos propostos pelo professor.

Eu escolhi um quadro eléctrico, que me dizia se tinha luz em casa ou não! A grande vantagem deste programa é que com as classes podemos usar em qualquer programa.

Na classe existe duas áreas publica e a privada, a publica permite o acesso do exterior do objecto da classe(visível ao exterior), a publica só permiti o acesso somente do interior do objecto (oculto ou exterior).

#include <iostream>
#include "Quadro.h"
using namespace std;
int main(){
	Quadro Casa01;
	Casa01.EstadoDoQuadro();
}
#ifndef QUADRO_H
#define QUADRO_H
#include <string>
using namespace std;
class Quadro{
public:
 Quadro();
 void EstadoDoQuadro();
 bool Tomadas();
 string onoff(const bool &fase);
private:
 bool geral;
 bool tomadas;
 bool luz;
 bool cozinha;
};
#endif
#include <iostream>
#include <string>
#include "Quadro.h"
using namespace std;
Quadro::Quadro(){
	geral = true;
	tomadas = true;
	luz = false;
	cozinha = false;
}

void Quadro::EstadoDoQuadro(){
	cout << "Geral   : " << onoff(geral) << endl;
	cout << "Tomadas : " << onoff(tomadas) << endl;
	cout << "Luz     : " << onoff(luz) << endl;
	cout << "Cozinha : " << onoff(cozinha) << endl;
};
string Quadro::onoff(const bool &fase){
	if(fase)
		return "On";
	else
		return "Off";
};

Módulo 8-Conceitos Avançados de Programação

Este módulo foi um pouco diferente dos outros pois começamos por realizar um trabalho de pares. Este trabalho consistia dizer o que é um Sistema Operativo, características de um Sistema Operativo, Sistemas operativos gráficos e “não gráficos”, elaborar uma lista de características dos sistemas operativos gráficos, identificando qual a vantagem associada, e o conceito de janela. Depois de apresentado todos os trabalhos passamos a parte da “matéria”, sendo ai que começamos a falar do QT;images

Módulo 7 – Manipulação de ficheiros

Concluído o módulo 7 esta na hora de fazer um pequeno post a falar acerca do que aprendi. Neste módulo abordamos  ficheiros de texto e ficheiros binários. A grande vantagem e que os dados não são perdidos.

-ficheiros de texto;
Falamos nas funções fopen e fclose, que servem para abrir e fechar ficheiros.

Abrir ficheiro:
fp=fopen("texto.txt","r");

Fechar ficheiro:

fclose(fp);

-exemplo

#include <stdio.h>
int main(){
	FILE *fp;
	fp=fopen("meutexto.txt","r");
	if(ficheiro==NULL)
		printf("Impossivel abrir o ficheiro\n");
	else{
		printf("Ficheiro aberto com sucesso\n");
		fclose(ficheiro);
		}
	return 0;
}

- ficheiros binários;
Só que temos que acrescentar a letra "b" de binary.
Escrever para um ficheiro binário:

fwrite(x,sizeof(int), 5, fp);

Ler um ficheiro binário:

fread(x,sizeof(int), 5, fp);

-exemplo

#include<stdio.h>
int main(int argc, char *argv[]){
int valores[5]={7, 3, 8, 1, 2};
FILE *fp;
if ((fp=fopen(argv[1], "wb"))==NULL || argc != 2){
printf("ERRO!\nModo de utilização: %s nome_ficheiro_dados\n", argv[0]);
return 1;
}
fwrite(valores, sizeof(int), 5, fp);
fclose(fp);
return 0;
}

Manipulaçao de ficheiro em linguagem C

Novo ano nova materia novo modulo. Este 2 ano do curso que equivale ao 2 nível. O modulo 7 e divido em dois grandes temas: -manipulação de ficheiros de texto; -manipulação de ficheiros binário;Neste momento como esta-mos a meio do modulo só irei falar sobre manipulação de ficheiros de texto.

Abrir um ficheiro- fp = fopen(“nome_do_ficheiro”, “modo”)

Fechar um ficheiro- fclose(fp);

Existe vários tipos de modo :

Modo Descrição Permite ler? Permite escrever? Quando o ficheiro não existe? Quando o ficheiro já existe? Posição inicial?
r Leitura (read) Sim Não Devolve NULL Abre-o Início
w Escrita(write) Não Sim Cria Cria-o, eliminando o que já existe Início
a Acrescentar(append) Não Sim Cria Abre-o Fim
r+ Leitura e Escrita Sim Sim Cria Abre-o e permite fazer alterações aos dados Início
w+ Leitura e Escrita Sim Sim Cria Cria-o, eliminando o que já existe Início
a+ Leitura e Escrita Sim Sim Cria Abre-o e permite acrescentar dados Fim

Escola

As férias já acabaram e o trabalho recomeça. Neste ano os grandes temas a abordar são:
- Ficheiros( em linguagem C);
- Prog. Orientada a Objectos( este é o módulo de passagem de linguagem C para C++),a partir daqui vamos utilizar Framework(QT);
- Sistemas de Informação(relaciona vários aspectos criar, remodelar bases de dados)

Estes são os 3 grandes tópicos, mas divididos em vários sub-temas.

O grande objectivo será a migração do “paradigma procedimental” para o novo
paradigma de Programação Orientada a Objectos.

Agenda


Durante 2 semanas estivemos a realizar uma proposta aliciante, lançada pelo professor, que consistia numa agenda que permita gerir os contactos pessoais..
Apesar de complicado, a vontade de fazer algo diferente venceu. Consegui fazer tudo a tempo. Na altura da entrega estava tudo concluído com sucesso…
Foi um bom e grande trabalho.

Apontadores

Apontadores! O que são?
A partir deste momento, quando utilizamos apontadores, vamos trabalhar directamente na memória.
Pelo que entendi, apontadores são variáveis como outra qualquer mas com uma diferença: armazenam os endereços de memória.
Quando num programa utilizamos a instrução int x=7; por exemplo, o programa guarda o número 7 na variável x.
Este é o meu primeiro programa sobre apontadores.


!– @page { margin: 2cm } P { margin-bottom: 0.21c
Como se pode ver no exemplo, eu consigo manipular as variáveis “a”, “b” sem nunca as modificar.

IDE

Fartos de programar na linha de comandos?
Então vamos mudar usando um IDE nas nossas máquinas em Debian…
O Anjuta é um IDE que permite trabalhar com um ou mais compiladores/versões.

Como tudo começou?


Este blog resulta de uma proposta lançada pelo professor da disciplina de Programação e Sistemas de Informação do Curso Profissional de Técnico de Gestão e Programação de Sistemas Informáticos .
Pretendo registar aqui os aspectos mais importantes do trabalho realizado ao longo dos 3 anos de Programação, de forma a poder observar a minha evolução e mostrar que nunca se sabe tudo em Programação.