Buscar

Exercícios Sobre Linguagem de Programação Imperativa

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 3 páginas

Prévia do material em texto

Exercícios Sobre Linguagem de Programação Imperativa 
Paradigmas de Linguagem de Programação 
Prof.ª Mª Ana Paula 
1-​Conceitue Linguagens de Programação e diferencie Sintaxe de semântica. 
R.: Linguagem de programação um método de implementação de um código 
fonte, que se forma através do conjunto de regras sintáticas e semânticas. 
Sintaxe: é a forma como a linguagem é escrita, suas regras, restrições, palavras 
reservadas, etc. 
Semântica: é a coesão, o significado do código escrito, por exemplo, eu posso ter 
várias linguagens diferentes (sintaxe diferente), que irão fazer a mesma coisa 
(semântica). 
2- ​Apresente dois exemplos de erro sintático e 2 exemplos de erro semântico que 
podem ser cometidos durante a programação. 
R.: Sintático: 
 
int​ ​main​() { 
 ​int​ a; 
 printf(​"%d\n"​, a) 
 return ​0​; 
} 
int​ ​main​() { 
 ​int​ a; 
 scanf(​"%d"​, a); 
 printf(​"%d"​, a); 
 return ​0​; 
} 
Semântico: 
 
int​ ​main​() { 
 ​int​ n; 
 scanf(​"%d"​, &n); 
 if(n < ​10​ && n % ​2​ == ​0​) ​/*testa se é menor que 10 e é par*/ 
 printf(​"O número é menor que 10\n"​); 
 printf(​"O número é par\n"​); 
 return ​0​; 
} 
int​ ​main​() { 
 ​int​ a; 
 ​char​ b; 
 ​int​ result; 
 result = a * b; 
 printf(​"%d\n"​, result); 
 return ​0​; 
} 
3- ​Descreva e Justifique pelo menos 3 critérios (ou questões) importantes que 
devem ser considerados no momento da escolha de qual LP será utilizada. 
R.: Deve-se levar em consideração para qual plataforma irá ser desenvolvido 
o código, se será mobile, desktop, web, pois dependendo de qual for a 
plataforma, uma linguagem se aplicará melhor. Outro ponto é em qual parte 
da aplicação a pessoa irá atuar, back-end ou front-end, pois em front-end, é 
mais utilizado HTML, CSS e JavaScript, já no back-end, se utiliza mais PHP, 
Ruby, C#, JAVA, entre outras. E também deve ser avaliada a afinidade que a 
pessoa tem com a LP, pois saber trabalhar com a LP e entendê-la melhor, 
fará com que o código seja mais eficiente e o tempo gasto para programar 
será aproveitado de uma forma melhor. 
4- ​Considerando a seguinte gramática: 
<goal>::=<groups2>+ d* e 
<groups2> >::=<group1> * c 
<groups1>::= ab 
determine quais as sentenças abaixo são válidas: 
a) abcde 
b) ce 
c) abe 
d) ababce 
e) ccee 
f) dddde 
g) cddd 
h) aabbce 
i) e 
Se o * estiver indicando para “d” e “group1”, a respostas são ​A​, ​B​ e ​D. 
Se o * estiver indicando para “e” e “c”, a resposta correta é a ​A. 
5- ​Adicione, subtração e divisão, determinando a precedência apropriada à 
gramática EBNF descrita a seguir e construa o seu diagrama de sintaxe. 
 
<exp> ::= <term> <op1> * 
<op1> ::= + <term> (+ | -) 
<term> ::= <factor> <op2> * 
<op2> ::= * <factor> (* | /) 
<factor> ::= (<exp>) | <number> 
<number> ::= <digit> <digit> * 
<digit> ::= 0 | 1| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9

Continue navegando