Fundação Educacional Encosta Inferior do Nordeste Faculdades de Informática de Taquara Linguagens de Programação Prof. Marcelo Azambuja Acadêmicos: Leandro Sorgetz e Roberto Pretto QUESTIONÁRIO PRIMEIRA PARTE: 1) Por que o estudo sobre Linguagens de Programação auxilia o programador? – Porque aumenta a capacidade de expressar idéia; – Há um maior conhecimento para a escolha da linguagem mais adequada ao problema proposto; – A facilidade para aprender novas linguagens aumenta; – Entende-se melhor a importância da implementação; – A possibilidade de se projetar novas linguagens também aumenta; – Enfim, globaliza-se o entendimento e capacidade computacional. 2) Em que LP o UNIX foi desenvolvido? O sistema operacional UNIX foi quase todo desenvolvido na linguagem C, tendo muitos de seus aplicativos escritos em Shell Script. 3) Qual foi a primeira LP bem sucedida na área de Aplicações Comerciais. COBOL foi a primeira LP bem sucedida na área de aplicações comerciais. 4) Qual a desvantagem de haver demasiados recursos em uma linguagem? A multiplicidade de recursos torna a LP complexa e pode dificultar a aprendizagem ou até confundir o programador. 5) Que exemplo pode ilustrar a falta de ortogonalidade da LP C? A falta de ortogonalidade acarreta exceções às regras da linguagem. Quanto mais ortogonal é o projeto de uma linguagem, menos exceções as regras da linguagem exigirão. Um exemplo é quando, em C, se possui dois tipos de dados estruturados, arrays e registros. Registros podem ser retornados de funções, arrays não. 6) Uma LP com poucas Instruções de Controle ocasiona um problema grave. Comente. A falta de instruções de controle prejudica a legibilidade dos programas, tornando sua manutenção mais difícil trabalhosa e, conseqüentemente, mais demorada. 7) Cite uma vantagem para o Suporte para Abstração, em uma LP. A vantagem é não replicar, por exemplo, a montagem do cabeçalho dos diversos relatórios que uma empresa possui. A função é criada e carregada cada vez que necessário. Não se concebem mais LPs que não dêem suporte a abstração. SEGUNDA PARTE 1) Defina “semântica” e “sintaxe”? Sintaxe é a a forma como as instruções e palavras reservadas são escritas. Semântica é a ordenação correta das instruções, palavras reservadas, combinadas com as variáveis e nome de dados utilizados na implementação do programa. 2) O que são Linguagens de Programação de Baixo Nível? Nas Linguagens de baixo nível as instruções estão mais próximas ao código de máquina. Ex. Assembler. 3) O que são Linguagens de Programação Não-Estruturadas? São as linguagens que oferecem pouco ou nenhum suporte a abstração. 4) Qual a principal característica de programas feitos nas antigas linguagens ?NãoEstruturadas?? Dica: procurar por 'crise do software' e 'spaghetti code'. As linguagens não estruturadas caracterizam-se pelos custos elevados, na dificuldade de detectar erros e pela baixa produtividade gerando atraso na entrega dos projetos e insatisfação dos clientes. 5) Qual a principal característica das LPs Estruturadas? Cite exemplo de 3 Lps: Características: Estruturas de controle de alto nível (laços, decisões, desvio, etc) Modularização do código de Funções, escopo de variáveis locais e globais, blocos de código. Possui um construtor para definição da estrutura de novos tipos. Exemplos: Delphi, C e Cobol Estruturado. 6) Explique quais as vantagens da programação OO (Orientada a Objetos) em relação a programação não-OO? O objetivo principal da utilização do paradigma da Orientação a Objetos, na construção de software é que ele seja: – Rápido: não perder muito tempo no desenvolvimento; – Barato: linhas de montagem e reutilização de código e – Flexível: fácil modificar ou entender. Com a orientação a objetos procura-se eliminar as diferenças entre as etapas de análise, projeto e implementação, reabilitando a difamada tarefa de implementação. 7) Qual o significado (em Inglês e Português) da sigla BASIC? Beginners All-Purpose Symbolic Instruction Code Instrução de código simbólico de propósito geral para iniciantes. 8) Qual o significado (em Inglês e Português) da sigla COBOL? COmmon Business Oriented Language Linguagem comum orientada a negócio. 9) Qual o significado (em Inglês e Português) da sigla PERL? Practical Extraction and Report Language Extração prática e linguagem de listagem. 10)Qual o significado (em Inglês e Português) da sigla SQL? Structured Query Language Linguagem de pergunta estruturada. Em relação a LP Java: 11)Qual a empresa que inventou esta LP? Sun Microsystems financiou uma pesquisa corporativa interna com o codinome de Green que viria a se tornar depois o Java. 12)De onde os criadores tiraram a inspiração para o nome desta linguagem? O projeto resultou no desenvolvimento de uma linguagem baseada em C e C++ que seu criador, James Gosling, chamou de Oak (carvalho) em homenagem a uma árvore que dava para a janela do seu escritório da Sun. Descobriu-se mais tarde que já havia uma linguagem de computador chamada Oak. Quando uma equipe da Sun visitou uma cafeteria local, o nome Java (cidade de origem de um tipo de café importado) foi sugerido e pegou. 13)Qual o paradigma desta linguagem? Java é um sistema composto de três elementos: uma linguagem orientada a objetos, um conjunto de bibliotecas e uma máquina virtual no qual os programas são executados. Conceitualmente, Smalltalk apresenta uma abordagem semelhante, embora o ambiente de programação Smalltalk seja muito superior ao de Java do ponto de vista de coerência e elegância. Entretanto, Smalltalk é limitada em relação ao tratamento de novos recursos computacionais como programação em rede, utilização de banco de dados, integração com a Web, internacionalização e segurança. Claramente, Java herda muitas das características de C++ e Smalltalk e as simplifica, oferecendo uma linguagem eficiente e adaptada ao ambiente da Internet. A importância de Java no cenário de desenvolvimento de software atual é justificada por uma série de características importantes da linguagem, entre elas: a) simplicidade da linguagem aliada a uma série de recursos disponíveis através de bibliotecas; b) independência de plataforma, uma vez que o código compilado pode ser executado em qualquer plataforma que possua uma máquina virtual Java instalada; c) mecanismos de segurança principalmente para os programas do tipo applet. Java possui os paradigmas imperativo + orientado a objetos + concorrente. 14)Existe alguma relação entre as LPs Java e JavaScript? Sim. Java é uma linguagem de programação criada e desenvolvida pela SUN Microsystems com a finalidade de poder ser executada em qualquer computador ou sistema operacional e JavaScript é uma parte da linguagem Java e é embutida dentro da página html (WEB) e roda tanto em plataformas 16 ou 32 bits. Em relação a LP C: 15)Quem foi(oram) o(s) criador(es) desta LP? A linguagem C foi criada por Dennis Ritchie dos laboratórios do telefone de Bell em 1972. Havia muitas versões diferentes de C desenvolvidas. No American National Standards Institute 1983 (ANSI) estandardizado o C-Language. 16)Ela possui uma empresa proprietária? Não. É aberto. 17)Qual SO (Sistema Operacional) pode suportar programas feitos nesta LP? Todos os sistemas que possuem compilador para C funcionam. O C depende única e exclusivamente deste item. O C é uma linguagem de programação genérica que é utilizada para a criação de programas diversos como processadores de texto, planilhas eletrônicas, sistemas operacionais, programas de comunicação, programas para a automação industrial, gerenciadores de bancos de dados, programas de projeto assistido por computador, programas para a solução de problemas da Engenharia, Física, Química e outras Ciências, etc ... 18)Qual o Paradigma desta LP? C: Paradigma imperativo C++: Paradigma imperativo + paradigma orientado a objetos.