Вы находитесь на странице: 1из 11

Centro Universitrio do Distrito Federal

Escola de Engenharia

LISTA DE EXERCCIO I

Curso: Engenharia Mecnica
Disciplina: Computao para Automao I
Turma: 42
Professor: Oscar Gaiados
Aluno: Herbert A M Severino
RGM: 110511-6

Braslia, 12 de Maro de 2014

1. Qual a diferena entre linguagens de alto e baixo nvel?. Colocar um exemplo
de cdigo para cada tipo de linguagem.
Baixo nvel: a linguagem mais prxima da interpretada pelo computador, seu
comandos so semelhantes as utilizadas pelo microprocessador. A desvantagem
o nvel tcnico elevado de programao a vantagem o pouco espao de memria
e tem maior velocidade de execulo.
Por exemplo: Programa Assembly, cdigo de mquina
CDIGO ASSEMBLY

CDIGO DE MQUINA

.MODEL SMALL; modelo de memria
.STACK; espao de memria para
instrues do programa na planilha
.CODE; as linhas seguintes so
instrues do programa
mov ah, 01h; move o valor 01h para
o registrador ah
mov cx, 07h ;move o valor 07h para
os registrador cx
int 10h ; interrupo 10h
END; finaliza o cdigo

LG Ei 111 00000000 IIII (Leia o carto
e guarde)
COP Ei Ej 111 001 IIII JJJJ (Copie Ei
em Ej)
V Ei 1111 00000001 IIII (V para Ei)
IMP Ei 1111 00000001 IIII (Imprima
para Ei)
PARE
111
00000011
0000
(Interrompa execuo)
SOM Ei Ej Ek yyy IIII JJJJ KKKK
(Some Ei Ej e guarde em Ek)

Auto nvel: Est mais prxima da linguagem do serhumano. Cada comando de
uma linguagem de alto nvel equivale a vrias instrues da linguagem de mquina.
Necessitam de compiladores ou interpretadores para traduzir em linguagem de baixo
nvel, gerando as instrues do microprocessador.
Exemplo: Linguagem C++, Java, Cobol, Pascal, VRML.
LINGUAGEM C++
#include //Biblioteca para system (pause);
#include //Biblioteca para printf e scanf
int main() //Rotina principal
{
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n"); //Imprimir nome e
RGM
system ("PAUSE");
return (0);
}

2. Descreva passo a passo como o funcionamento de um compilador em
linguagem C.
Estrutura do programa em C
Cabealho contendo as diretivas de compilador onde se definem o valor de
constantes simblicas;
Declarao de variveis;
Incluso de bibliotecas;
Declarao de rotinas;
Instruo principal e outros de rotina;
Documentao do programa: so os comentrios.
Diretivas de Compilao: so comandos que so processados durante a
compilao do programa. Estes comandos informam ao compilador C quais so as
constantes simblicas usadas no programa e quais bibliotecas devem ser anexadas
ao programa executvel. Por exemplo:
A diretiva #include diz ao compilador para incluir na compilao do programa outros
arquivos. Geralmente estes arquivos contem bibliotecas de funes ou rotinas do
usurio.
A diretiva #define diz ao compilador quais so asconstantes simblicas usadas no
programa.
Declarao de variveis: as variveis devem ser declaradas no inicio do programa.
Estas variveis podem ser de vrios tipos: char (literal/string), int (inteiro), float (real
de simples preciso) e etc.
Entrada e sada de dados: existem vrias maneiras de fazer a leitura e escrita de
informaes. No exemplo a seguir, printf uma funo de escrita na tela e scanf
uma funo de leitura de teclado.
Estruturas de controle: A linguagem C permite uma ampla variedade de estruturas
de controle de fluxo de processamento. Duas estruturas bsicas (deciso e
repetio) so muito semelhantes s estruturas usadas nas pseudo-linguagens
algortmicas:
#include
#include
int main()

//Biblioteca para system (pause);
//Biblioteca para printf e scanf
//Rotina principal

{
int a;
printf("\nEscreva um numero:\n");
scanf("%d",&a);
system ("PAUSE");
return (0);
}

3. Quais so as funes utilizadas para entrada e sada de dados? Fazer um
exemplo prtico e mostrar a tela do seu programa.
As funes mais utilizadas para sada o printf e de entrada o scanf.
#include //Biblioteca para system (pause);
#include //Biblioteca para printf e scanf
int main() //Rotina principal
{
int a;
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n");// Imprimir nome e
RGM
printf("\nEscreva um numero:\n");// Aparecer para o usurio "Escreva um
numero:"
scanf("%d",&a);//Armazena o nmero
system ("PAUSE");
return (0);
}

4. Fazer um exemplo prtico em linguagem C de qualquer operao aritmtica e
mostre o resultado em: notao cientfica, notao decimal, notao hexadecimal e
notao octal.
#include //Biblioteca para system (pause);
#include //Biblioteca para printf e scanf
int main() //Rotina principal
{
int a,b,c; //Declarao de variveis tipo inteiro
float d; //Declarao de variveis tipo flutuante
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n"); //Imprimir nome e
RGM
printf("\nEscreva o primeiro numero:\n"); //Funo de sada
scanf("%d",&a); // Funo de entrada
printf("\nEscreva o segundo numero\n"); //Funo de sada
scanf("%d",&b);// Funo de entrada
c=a*b; //Operao algebrica
d=a*b; //Operao algebrica
printf("Esses numeros multiplicados em dec e:%.1d\n",c); //Resultado em

decimal
printf("Esses numeros multiplicados em not cientifica e:%e\n",d);//Resultado
em notao cientfica
printf("Esses numeros multiplicados em octal e:%o\n",c);//Resultado em
octal
printf("Esses numeros multiplicados em hxadecimal e:%x\n",c);//Resultado
em hexadecimal
system ("PAUSE"); //Mantem o programa aberto at aperta alguma tecla
return (0);
}

5. Resolver o seguinte problema:
Quais dos seguintes nomes so vlidos para variveis em C?
a) 3ab = Invalido
b) _sim = Valido
c) n_a_o = valido
d) 98fim = invalido
e) int = valido
f) A123 =Valido
g) x**x = Invalido
h) __A = Valido
i) --A = Invalido
j) Y-2 = Invalido
k) YYFim = Valido
l) \meu = Invalido
m) *y2 = Invalido

6. Resolver o seguinte problema e mostrar a tela do programa funcionando.
PROGRAMA COM PROBLEMA
main() // falta declarar a qual rotina ele pertence por exemplo: int e void.
{
int a=1; b=2; c=3; // A declarao est errada. Dessa forma somente o a est
sendo declarado.
printf ("Os numeros sao:%d%d%d\n",a,b,c,d); // Est sendo usado uma
varivel no declarada
system ("pause");
}
RESOLUO
#include
#include

//Biblioteca para system (pause);
//Biblioteca para printf e scanf

int main()
//Rotina principal
{
int a=1; // Declarao da varivel "a"
int b=2; // Declarao da varivel "b"
int c=3; // Declarao da varivel "c"
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n");//Imprimir nome e
RGM
printf ("\nOs numeros sao:%d\t%d\t%d\n",a,b,c); // Aparecer para o
usurio"Os numeros sao:1
2
3"
system ("pause");
return (0);
}

7. Resolver a seguinte problema e mostrar a tela do programa funcionando.
#include
#include

//Biblioteca para system (pause);
//Biblioteca para printf e scanf

int main()
//Rotina principal
{
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n");//Imprimir nome e
RGM
printf("\n\ta) Bom dia! Shirley.\n\n");//Bom dia! Shirley.
printf("\n\n\tb) Voce ja tomou cafe?\n\n");//Voce ja tomou cafe?printf("\n\n\tc) A solucao
nao existe!\n\tNao insista.\n\n");//A soluo no
existe!No insista.
printf("\n\td) Duas\tlinhas\tde\tsaida\n\tou\tuma?\n\n");//Duas linhas de sada
ou uma?
printf("\n\n\te) %s\n\t%s\n\t%s\n\t","um","dois","tres\n");//um dois trs
system ("PAUSE"); //Mantem o programa aberto at aperta alguma tecla
return (0);
}

8. Resolver o seguinte problema e mostrar a tela funcionando.
#include
#include

//Biblioteca para system (pause);
//Biblioteca para printf e scanf

int main()
//Rotina principal
{
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n");//Imprimir nome e
RGM
printf("\num\n\tdois\n\t\ttres\n\n");
system ("PAUSE"); //Mantem o programa aberto at aperta alguma tecla
return (0);
}

9. Resolver o seguinte problema

e mostrar a tela do programa funcionando.

Escreva um programa que solicite ao usurio a altura e o raio de um cilindro
circular e imprima o volume do cilindro. O volume do cilindro circular calculado por
meio da seguinte formula: Vol=3.141592*raio*altura
#include
#include

//Biblioteca para system (pause);
//Biblioteca para printf e scanf

int main()
//Rotina principal
{
float h, r, Vol;
printf("Aluno:Herbert A M Severino\nRGM:110511-6\n");//Imprimir nome e
RGM
printf("\nEntre com o raio do cilindro:\n"); // Imprimir "Entre com o raio do
cilindro:"
scanf("%f",&r); //Armazena o dado na varivel "r"
printf("\nEntre com a altura docilindro:\n"); // Imprimir "Entre com a altura do
cilindro:"
scanf("%f",&h);//Armazena o dado na varivel "h"
Vol=3.141592*r*h; // Operao algebrica para calculo de volume cilindro
printf("O Volume do cilindro e:%f\n",Vol); // Imprimir "O Volume do cilindro
e:" com o resultado
system ("PAUSE"); //Mantem o programa aberto at aperta alguma tecla
return (0);
}

10. Resolver o seguinte problema e mostrar a tela do programa funcionando.
Sabendo que o lato obtido fundindo sete partes de cobre com trs partes de
zinco, faa um programa que solicite quantos quilos de lato se quer produzir e
imprima quantos quilos de cobre e de zinco so necessrios.
#include
#include
int main()
{
float l,z,c;

//Biblioteca para system (pause);
//Biblioteca para printf e scanf
//Rotina principal

printf("Aluno:Herbert A M Severino\nRGM:110511-6\n");//Imprimir nome e
RGM
printf("\nQuantos quilos de latao o Sr. quer:\n");// Pergunta para o cliente
"Quantos quilos de latao o Sr. quer:"
scanf("%f",&l); // Armazena o dado inserido pelo cliente
c=0.7*l; //Operao algbrica que calcula a quantidade de cobre
z=0.3*l; //Operao algbrica que calcula a quantidade de zinco
printf("Entao o Sr. precisa de %.1f kg de cobre e %.1f kg de zinco\n",c,z);//
Comunica a resposta a quantidade de cobre e zinco necessrio
system ("PAUSE"); //Mantem o programa aberto at aperta alguma tecla
return (0);
}