Test duration43200 mins
No. of questions15 questions
Instructions
- Este curso destina-se a todos quanto se queiram iniciar na programação, desde as mais modestas à s mais elevadas ambições. O método de aprendizagem consiste em explicar um conjunto de conceitos, suportados em exemplos simples, após o qual o leitor terá ao seu dispor um leque de exercÃcios desde simples a mais avançados, que lhe permitam interiorizar os conceitos com base na sua experiência de programação.
- O curso corresponde a uma versão dinâmica da parte I do manual (Coelho, José - Conceitos e exercÃcios de programação: utilizando Linguagem C. Lisboa: Ed. Autor, 2010. 221 p. - http://hdl.handle.net/10400.2/1779);
- Este manual tem vindo a ser utilizado desde 2010 na Universidade Aberta, no curso de 1º ciclo de Informática na unidade curricular de Programação.
- A versão online do HackerRank foi adaptada de modo a tirar partido das ferramentas disponÃveis, tanto na matéria como nos exercÃcios, tendo sido removidas as gralhas conhecidas. No entanto parte do manual poderá ainda ser útil para consulta, pelo que se aconselha a descarregar o manual e aplicar a errata em baixo.
- A linguagem de programação utilizada é a linguagem C. Embora seja apenas uma ferramenta para aprender a programar, a linguagem de programação tem de ser fixa, e deve conter todos os conceitos de programação estruturada.
- O ambiente de execução dos programas no HackerRank estão descritos no FAQ. Todos os programas solicitados, podem ser executados nestas condições (500MB de memória, 2 segundos de tempo de CPU, entrada e saÃda através do stdin/stdout).
- Pode para efeitos de teste imprimir o que se quiser para a consola, e retirar antes de submeter. Pode-se ainda utilizar o compilador local, o TCC conforme indicado no manual. Deixa no entanto de ser essencial ter o compilador operacional para começar a programar.
- A duração deste módulo está previsto para 2 semanas, para um estudante a tempo inteiro, e tendo 4 unidades curriculares a decorrer em simultâneo.
Errata do manual:
- página 21, linha 6: 'indentaçãoes'
- página 4, Parte I, CapÃtulo 3: 'Condicinais'
- página 16, tÃtulo: 'CONDICINAIS'
- página 18, onde está '44!=100' deveria estar '44!=0'
- página 24, 'Utilizou-se o operador +=, que em vez de efectuar uma atribuição soma à variável à esquerda o valor da expressão à direita. Existem também os operadores equivalentes -=, *=, /=, %=.'
- 'Utilizou-se o operador +=, que em vez de efetuar uma atribuição, soma à variável na esquerda o valor da expressão na direita.'
- página 34, no exercÃcio primos.c, clarificar que o número retornado é o menor divisor, no caso do número não ser primo:
- 'Se não for primo deve identificar o menor número pelo qual é divisÃvel.' » 'Se não for primo deve retornar o menor número pelo qual é divisÃvel.'
- página 45, programa 5-4, linha 29: o inteiro 'dias' declarado não é utilizado no programa.
- página 45, programa 5-4, linha 35: em vez de DiasDoMes(ano,mes), deveria estar DiasDoMes(mes,ano).
- página 45, execuções passo a passo, no passo 5, onde está &ano deveria estar &mes
- página 46, passo 5, onde está &ano deveria estar &mes
- página 63, programa 7-7, linha 7, a string 'char str[10]' declarada não é utilizada no programa
- página 63, programa 7-7, declaração 'char prompt[7][] = {...' deve passar a 'char prompt[7][10] = {...'
- página 105, 109, 110, programa 10-4, linhas 13 e 17, em vez de (void*) deveria estar (char*)
- página 114, programa 11-2, linha 35, variável declarada não utilizada
- página 115, 117, programa 11-3, 11-4, aloca memória e não testa se a operação foi bem sucedida
- página 115, 117, programa 11-3, 11-4, falta incluir bibliotecas string.h e stdlib.h
- página 119 e 120, programa 11-5 e 11-6, linha 14, em vez de (void*) deveria estar (int*)
Questions
Feel free to choose your preferred programming language from the list of languages supported for each question.There are 15 questions that are part of this test.Question Indexes | Question Types |
---|---|
Q1 | Multiple Choice Question |
Q2 - Q15 | Coding Questions1 language allowed: c |
Confirmation Form
Form will load up once the environment is ready
- Preparing your environment