Anda di halaman 1dari 22

@ Paulo Cortez

Programao Aula1, Parte 1: Apresentao


MIEEIC, 1 ano, Semestre 2, 2010/11 Escolaridade
T (2h), 5 x PL (2h)

Docentes
Paulo Cortez - (TP) www.dsi.uminho.pt/~pcortez pcortez@dsi.uminho.pt Joo Nuno Oliveira (JNO), jno@dsi.uminho.pt Joo Soares (JS), d5430@dsi.uminho.pt Stio de apoio via Web: https://elearning.uminho.pt, course: [10-11] Programao [MIEEICOM] Cdigo de activao: c++

Objectivos desta aula:

Compreender o modo de funcionamento desta


disciplina; Efectuar a marcao dos turnos prticos; Identificar qual o programa da disciplina; Descrever os principais instrues de programao em C;

Programao

Mtodo de Avaliao
Presena obrigatria a pelo menos 2/3 das aulas (TP e PL). Realizao de um Trabalho de Projecto (P), em Grupo de
4 elementos com componente experimental. No existe exame (poca recurso, especial,...)... A passagem disciplina exige uma Nota Final>=9.5 valores

A nota final disciplina dada por 100% x Projecto O projecto avaliado em 2 momentos principais e a nota
final no igual para todos elementos do grupo.

Metodologia de Ensino

Aulas Terico-Prticas (T) Mtodo Expositivo; Activo Mtodo Activo; Aulas Prticas Laboratoriais (PL) Resoluo de exerccios em grupos de 2; Execuo e Acompanhamento do Projecto em
grupo de 4; Material necessrio para as Aulas T e PL: Papel e caneta/lpis!!! O uso de porttil (cuidado com sons estranhos, imagens estranhas, chats, etc!!!);

Mtodo

Requisitos Prvios
Saber programar em C Aprovao a Informtica Geral!

Histrico 2009/2010
Alunos inscritos: 175 Alunos que tentaram fazer projecto: 141 (80%) Alunos que passaram: 90 (53%/64%) Nota Mxima: 19 valores.

Regras de Funcionamento As Aulas T iniciam-se s 9.30 de Sexta (B1.15); Faam um esforo por estar a horas na sala; Quem chegar mais tarde, no deve perturbar a aula, deve entrar em SILNCIO! Telemveis SEM SOM! Portteis SEM SOM! Espera-se um regular comportamento (no usar chats,
no escrever sms, no ter contedos no apropriados no porttil, no perturbar a sala de aula, )

Resoluo de Conflitos
Problema pessoal: falar directamente com o docente em
causa fora de aulas; Problema que interessa a todos: Falar directamente com o docente no final ou incio de uma aula; Em alternativa, contactar o delegado de turma, que depois contacta o docente em causa;

Caso no haja acordo, falar com o coordenador de ano e/


ou director de curso, conselho de cursos, ...;

Atendimento...
Em primeiro lugar, as dvidas devem ser esclarecidas durante as aulas; Esclarecimentos adicionais via email; Para beneficiar do horrio de atendimento, contactar o docente via email, telefone ou final das aulas;

Horrio de Atendimento:
Sexta: 11h-13h (2 horas)

Marcao de turnos (provisrio)

Turnos PL com mximo de 22 alunos (Grupos do mesmo turno!). P2: Seg, 9.10-10.50h, JNO, LAP.4-DSI P1: Seg, 11.10-12.50h, JNO, LAP.4-DSI P5: Qui, 9.10-10.50h, JNO, LAP.2-DSI P3: Qui, 11.10-12.50h, JS, LAP.2-DSI P4: Qui, 14.10-15.50h, JS, LAP.2-DSI > Marcao via sub-delegado de ano; > Aulas PL iniciam-se a 28 de Fevereiro;

Resultados de Aprendizagem
Compreender os conceitos relevantes sobre a programao orientada aos objectos em C++ e modelao de classes em UML; Escrever programas em objectos em C++ para resolver problemas do mundo real, por exemplo gesto de componentes electrnicos ou controlo de robots; Escrever programas em objectos em C++ que manipulam estruturas de dados complexas (e.g. pilhas, filas, rvores binrias) e com uso de memria dinmica; Desenvolver competncias transversais (soft skills), tais como auto-aprendizagem, cooperar em grupo, liderana, escrever um relatrio de projecto, apresentar um projecto,

Programa

Conceitos bsicos de programao em C++: Introduo linguagem C++ Classes e programao orientada aos objectos em C++ Herana Mltipla, Polimorfismo e Desenho de Software Estruturas de Dados Complexas e com uso de Memria Dinmica: Memria Dinmica, Polimorfismo e Vectores Dinmicos Anlise de Complexidade, Ordenao e Procura Binria Pilhas e Filas Listas Ligadas, Duplamente Ligadas e Circulares rvores Binrias

Para saber mais...


BIBLIOGRAFIA
Apresentaes das aulas TP disponibilizados atravs da pgina da disciplina; Herb Schildt, C++ Beginner's Guide, 2nd edition, McGraw-Hill, 2003. Disponvel em: http://msdn.microsoft.com/en-us/beginner/cc305129.aspx Frank B. Brokken, C++ Annotations, University of Groningen, The Netherlands, 2009. Disponvel em: http://www.icce.rug.nl/documents/cplusplus Pedro Guerreiro, Programao com Classes em C++, 2 edio, FCA - Editora de Informtica, 2003. Jessy Liberty, C++ Unleashed, SAMS, 1999. Diversa bibliografia disponibilizada no moodle;

http://en.wikipedia.org http://www.google.com ...

Actividades No Presenciais (NP)

1. Pensar na constituio dos grupos de projecto do


mesmo turno PL (4 alunos); 2. Inscrever-se (provisoriamente) nos turnos PL; 3. Instalar o MS Visual Studio C++ express edition 2010 no vosso porttil/PC:
http://www.microsoft.com/express/Downloads/#2010-Visual-CPP

4. Rever os conceitos de programao em C; 5. Consultar a bibliografia;

Aula1, Parte 2: Reviso sobre a linguagem C


Estrutura de um Programa em C
/* Comentario */ /* includes-e-defines */ /* variaveis-globais */ /* funcoes-e-declaracoes */ int main() /* funcao principal */ { /* inicio de bloco */ /* declaracao-de-variaveis */ /* instrucoes separadas por ; */ return 0; } /* fim de bloco */

#include <stdio.h> int main() { printf(hello world! \n); return 0; }

Tipos Bsicos de Dados


Caracteres - char Ocupam 1 byte (8 bits) de memria, cdigo ASCII, valor entre 0 e 255 Exemplos: A, a, ,!, 23, 74 Inteiros - int, short (preciso simples), long (preciso dupla), unsigned (positivo) Ocupam 2, 4 ou mais bytes (depende da mquina) Exemplos: 34, -60, 23459, 999999 (long) Reais - float (preciso simples) double (preciso dupla) Ocupam 4 ou mais bytes (depende da mquina) Exemplos: 1.0, -0.01, 2e4 (2104 ), 4e-5 (0.00004)

Declarao de Variveis

Globais: declaradas no incio do programa, fora das funes Locais: declaradas dentro de uma funo, no incio Exemplo: /* variaveis-globais */ char c=Z; double d1, d2=2e5; int main() /* funcao principal */ { /* variaveis-locais */ int a, b, c; long l=3333333; float f=0.1; return 0; }

Operadores

Aritmticos: +, -, /, *, % Lgicos: ==, >, <, >=, <=, !, !=, &&, || Atribuio: =, +=, ++, -=, --, *=, /= Tamanho em memria: sizeof(algo) Exemplo: (2+3)/4+5*6 (a>b || b<=c) && !(a==4) z=4+5*y; i+=1; i++; ++i; (a=3>2)||(3.2*4==b); sizeof(2*int); int a; sizeof(a);

Controlo de Fluxo: if, for, while, ...

Condio: if(a>1 && a<5) a=0; else a=1; switch(c) { case a: printf(caracter a\n); break; case b: printf(caracter b\n); break; default: printf(outro caracter\n); } Ciclo: for(sum=0,i=1;i<=9;i++) sum+=i; sum=0; i=1; while(i<10) { sum=sum+i; i=i+1;} sum=0; i=1; do {sum+=i; i++;} while (i<10);

Funes: cdigo reutilizvel

tipo funcao(argumentos) { return } se no retornar dados, usar tipo void: void func(int a) Exemplos: int multiplica(int a, int b); /* prototipo */ int soma(int a, int b) { return a+b;} int dobro(int a) { return soma(a,a);} int quadrado(int a) { return multiplica(a,a);} int multiplica(int a, int b) { return a*b;}

Leitura e escrita de dados simples

Incluir a biblioteca: #include <stdio.h> MS Visual C++: no 100% compatvel com a norma ANSI, Assim, para correr cdigo C, usar antes: #include "stdafx.h Leitura: scanf(forma, &variaveis); getchar(); Escrita: printf(texto-forma,variaveis); putchar(char); Forma: %c, %d, %ld, %f, %lf (char, int, long, oat, double); Texto-forma: \n, \t (muda linha, tabulao); Exemplos: printf(Tenho %d castanhas e %d laranjas \n, c, l); printf(Qual a temperatura?); scanf(%f, &temperatura); printf (A sua temperatura: %f \n, temperatura); printf(Carregue numa tecla...); c=getchar();

Outras instrues em C:

Constantes: #define PI 3.14 Macros: #define quadrado(x) ((x)*(x)) Converso de tipos: var=(novo-tipo) var2; Exemplos: int i=1; double d=1.0; i=(int)(d/2.0); d=(double)(i/2.0);

Anda mungkin juga menyukai