Baixo Nvel
Adaptado do livro Introduo a Arquitetura de Computadores, Miles Murdocca e Vincent Heuring, 2000.
Mdio Nvel
Redes de
Computadores
Baixo Nvel
Adaptado do livro Introduo a Arquitetura de Computadores, Miles Murdocca e Vincent Heuring, 2000.
Labview
Utilizao em instrumentao e automao
Programao grfica
Bem diferente do C, mas como disse.
Labview
Utilizao em instrumentao e automao
Programao grfica
Bem diferente do C, mas como disse.
Internet
Redes a cabo
Redes Ethernet (redes
locais cabeadas)
Redes pticas
Vetores
Programao (lingaguem C em um contexto geral)
Alocao dinmica Se der tempo,
Matrizes veremos outros
aspectos de C, em um
Listas encadeadas contexto mais geral
Arquivos
Computadores Digitais II DETEL-FEN/UERJ Prof. Rodrigo de Souza Couto
Ementa do Curso
Comunicao em Redes de Computadores
Princpios bsicos de redes de computadores
Infraestrutura fsica de redes
Redes IEEE 802
Ethernet e WiFi
Arquitetura TCP/IP Ainda necessrio ver
como esta ementa
ser adequada ao
calendrio.
Programao em C
Waldemar Celes, Renato Cerqueira, Jos Lucas Rangel,
Introduo a Estruturas de Dados, Editora Campus,
2004
Simon Monk, Programao com Arduino II: Passos
Avanados com Sketches, 2015
Prova Final
Matria TODA
Controle de Fluxo
Tomada de deciso
Construes com laos
Seleo
Programao (linguagem C)
Introduo Geral
Programao (linguagem C)
Expresses
#include <stdio.h>
int main(void) {
int f; /* nmero de ps */
float p; /* nmero de polegadas */
float h = 1.45f; /* altura em metros */ No final da aula
conseguiremos
/* Captura a altura em metros */ compreender esse
printf(Digite a altura em metros); cdigo!!!!
scanf(%f,&h);
return 0;
}
/* Programa para converter altura em metros para ps e pol*/
#include <stdio.h>
Parte principal do
int main(void) {
cdigo em C
int f; /* nmero de ps */ Mais detalhes na aula
float p; /* nmero de polegadas */ de Funes
float h = 1.45f; /* altura em metros */
return 0;
}
/* Programa para converter altura em metros para ps e pol*/
#include <stdio.h>
int main(void) {
int f; /* nmero de ps */
float p; /* nmero de polegadas */
float h = 1.45f; /* altura em metros */ Comentrios:
Ignorados pelo
/* Captura a altura em metros */ compilador
printf(Digite a altura em metros);
scanf(%f,&h);
return 0;
}
Variveis
Espao da memria para armazenar um dado
Possui um tipo e um nome
Nome da varivel uma referncia ao dado armazenado
na memria
#include <stdio.h>
int main(void) {
int f; Declarao de
float p; Variveis
float h = 1.45f;
h = 100*h;
f = (int) (h/30.48);
p = (h-f*20.48)/2.54;
printf(Altura: %d ft %f pol\n,f,p);
return 0;
}
int main(void) {
int f; Nome
float p;
Tipo float h = 1.45f;
f XXXXXXX
return 0;
p XXXXXX
}
h 1.45f
int main(void) {
int f;
float p;
float h = 1.45f;
f XXXXXXX
return 0;
Contedo inicial p XXXXXX
} (no obrigatrio)
h 1.45f
Variveis sem
contedo inicial so
iniciadas com lixo
a = 5;
b = 10;
c = 20;
d = 5.3;
return 0;
}
Computadores Digitais II DETEL-FEN/UERJ Prof. Rodrigo de Souza Couto
Declarao de variveis
Como visto antes, o contedo pode ser atribudo na
prpria declarao
int main(void) {
int a = 5;
int b = 10 , c = 20;
float d = 5.3;
return 0;
}
int main(void) {
int a = 2;
int b, c;
c = a + b;
return 0;
}
c = a + b;
return 0;
}
int main(void) {
int a;
Qual o valor
a = 4.3; armazenado na
varivel a ?
return 0;
}
real = 12.45f;
realDupla = 12.45; Constantes
realDupla2 = 1245e-2;
inteira = 12;
return 0;
}
return 0;
}
ATENO
x *= y + 1 equivale a x = x *(y+1)
E NO a x = x * y + 1
return 0;
}
int main(void) {
Qual o valor de cada varivel no
int m = 10 , n = 12;
final do programa ?
int x,y;
x = m++ * 2;
y = --n * 2;
return 0;
}
int main(void) {
Qual o valor de cada varivel no
int m = 10 , n = 12;
final do programa ?
int x,y;
x = 20
x = m++ * 2;
y = 22
m = 11
y = --n * 2;
n = 11
return 0;
}
w = ( a > 50 ) || ( c == 80);
x = ( a > 100) && ( c < 90);
y = !(( a <= 50 ) && ( c < 85));
z = ( w != x);
return 0;
}
return 0;
}
return 0;
}
return 0;
}
return 0;
}
#include <stdio.h>
int main(void) {
Sada na Tela:
double h = 1.45;
int i = 2 ; j = 4;
Valor de H = 1.45
I=2J=4
printf(Valor de H = %g \n,h);
Tchau!
printf(I = %d ,i);
printf(J = %d \n,j);
printf(Tchau!);
return 0;
}
return 0;
}
/* Programa para converter altura em metros para ps e pol*/
#include <stdio.h>
int main(void) {
int f; /* nmero de ps */
float p; /* nmero de polegadas */
float h = 1.45f; /* altura em metros */
return 0;
}
Parte 1
Programao (linguagem C)
Controle de fluxo
if (expr) {
bloco de comandos 1
...
}
Se expr != 0, o bloco
de comandos 1 ser
executado
if (expr) {
bloco de comandos 1
...
}
else {
bloco de comandos 2
}
return 0;
}
Estruturas de Bloco
Declaraes de variveis podem ocorrer no incio do
corpo da funo ou no incio de um bloco
Varivel s existe dentro do bloco ou funo
#include <stdio.h>
Incio de funo
int main(void) {
int temp;
printf(Digite a temperatura: );
scanf(%d,&temp);
if (temp < 30){ Incio de bloco
int teste;
teste = temp;
printf(Temperatura Agradavel!\n);
}
/*Variavel teste nao existe neste ponto do programa
temp += 1;
return 0;
}
Estruturas de Bloco
Declaraes de variveis podem ocorrer no incio do
corpo da funo ou no incio de um bloco
Varivel s existe dentro do bloco ou funo
#include <stdio.h>
int main(void) { Boa prtica de
int temp; programao: declarar
printf(Digite a temperatura: ); variveis o mais
scanf(%d,&temp); prximas possvel de
if (temp < 30){ seus usos
int teste;
teste = temp;
printf(Temperatura Agradavel!\n);
}
/*Variavel teste nao existe neste ponto do programa
temp += 1;
return 0;
}
Construes com laos
Procedimentos iterativos so muito comuns em
programas computacionais
while (expr) {
bloco de comandos
...
}
int n, fatorial;
printf(Digite um numero inteiro nao negativo:);
scanf(%d,&n);
/* calcula fatorial */
...
/* calcula fatorial */
fatorial = 1;
i = 1;
while ( i <= n ) {
fatorial *= i;
i++;
}
printf (Fatorial = %d :\n,fatorial);
return 0;
}
exprInicializao
while (exprCondio) {
bloco de comandos
...
exprIncremento
}
/* calcula fatorial */
for ( fatorial = 1 , i = 1 ; i <= n ; i++ ) {
fatorial *= i;
}
printf (Fatorial = %d :\n,fatorial);
return 0;
}
/* calcula fatorial */
for ( fatorial = 1 , i = 1 ; i <= n ; i++ ) {
fatorial *= i;
}
printf (Fatorial = %d :\n,fatorial);
return 0;
} Reparem que posso
usar a vrgula para
inicializar mais de uma
varivel!
/* calcula fatorial */
for ( fatorial = 1 , i = 1 ; i <= n ; i++ ) {
fatorial *= i;
}
printf (Fatorial = %d :\n,fatorial);
return 0;
} Tambm poderia usar
a vrgula no
incremento. E na
condio?
/* calcula fatorial */
for ( fatorial = 1 , i = 1 ; i <= n ; i++ ) {
fatorial *= i;
}
printf (Fatorial = %d :\n,fatorial);
return 0;
} Na condio devo formar estruturas
com operadores lgicos
Ex: ((i <= n) && (j < 30))
do {
bloco de comandos
...
} while (expr)
#include <stdio.h>
int main(void) {
int i;
for ( i = 0 ; i < 10 ; i++ ) {
if (i == 5)
break;
printf (%d ,i);
}
printf (fim \n); Sada:
return 0; 0 1 2 3 4 fim
}