C: mudanças entre as edições
De Pontão Nós Digitais
Ir para navegaçãoIr para pesquisar
Sem resumo de edição |
Sem resumo de edição |
||
Linha 22: | Linha 22: | ||
## Ordenacao - operacao merge: dados dois vetores de inteiros ordenados, escreva uma funcao que junte os dois em um unico vetor ordenado. | ## Ordenacao - operacao merge: dados dois vetores de inteiros ordenados, escreva uma funcao que junte os dois em um unico vetor ordenado. | ||
## Ordenacao: implemente o insertion sort. Otimize o codigo para ter o minimo numero de comparacoes. Compare sua solucao com o livro programmin Pearls) | ## Ordenacao: implemente o insertion sort. Otimize o codigo para ter o minimo numero de comparacoes. Compare sua solucao com o livro programmin Pearls) | ||
### | ### Como estapa inicial, implemente o algoritmo "Insere Ordenado" que insere um elemento novo e insere num vetor ordenado. | ||
## Milestone 1: Faca o exercicio de histograma vertical - K&R 1-13, segunda parte (p. 25 do PDF). Primeiro facao o horizontal. | ## Milestone 1: Faca o exercicio de histograma vertical - K&R 1-13, segunda parte (p. 25 do PDF). Primeiro facao o horizontal. | ||
## Bitwise: escreva um programa para determinar se um inteiro nao-negativo x eh potencia de 2, e, caso afirmativo, retorne o expoente. | ## Bitwise: escreva um programa para determinar se um inteiro nao-negativo x eh potencia de 2, e, caso afirmativo, retorne o expoente. |
Edição das 14h56min de 22 de outubro de 2021
<video type="youtube" id="Gru0DnXWr0g" width="552" height="315" allowfullscreen="true" desc="Revisao de Linguagem C de v1z"/>
Revisao de C/C++
A linguagem C/C++ eh a base de todas as outras linguagens. Esta wiki fornece um caminho rapido para aprende-la.
- Leitura sugerida: livro Kernighan and Ritchie The Ansi-C programming Language (K&R)
- Resumo de operacoes bitwise [1]
- Siga este estilo de formatação e identação de código: [2]
Caminho da Iluminacao
- Assistir aos videos de revisao de C (mesmo sem entender tudo): https://www.youtube.com/watch?v=Gru0DnXWr0g, https://www.youtube.com/watch?v=k0KfKildD-U
- Marcar com prof. Fabbri pra ele apresentar a parte 3, que nao esta online
- Progressao de exercicios para aprender (fazer leitura sob demanda)
- Aquecimento: Para acostumar com a IDE de sua preferencia, escreva um programa que imprime "hello, world!" 10 vezes na tela.
- Aquecimento: Fazer exercicio de conversao de Celsius para Farenheit, iniciando de 100 para baixo. Se voce ja sabe programar, tente fazer sozinho antes de olhar a solucao no livro. (exercicio 1-4 do livro K&R, p.16 do PDF, so que de tras pra frente).
- Aquecimento: Escreva um programa que eleva um numero inteiro (base) a um outro numero inteiro (expoente). Utilize uma funcao e realize entrada e saida do teclado. Faca uma solucao sem a funcao pow e outra com.
- Ordenacao por lookup table. Ordene um vetor de inteiros, cada um de 0 a um valor maximo 16000.
- Maximo e minimo de vetor: Escreva um programa que calcula o maior e o menor elemento de um vetor de inteiros. Forneca a uma solucao sem recursao, e a outra usando recursao. Utilize funcoes para calcular o maximo e o minimo.
- Ordenacao por maximo: Escreva um programa que ordena um vetor de inteiros utilizando a funcao maximo implementada no exercicio anterior. A cada passo, insere o valor maximo.
- Ordenacao - operacao merge: dados dois vetores de inteiros ordenados, escreva uma funcao que junte os dois em um unico vetor ordenado.
- Ordenacao: implemente o insertion sort. Otimize o codigo para ter o minimo numero de comparacoes. Compare sua solucao com o livro programmin Pearls)
- Como estapa inicial, implemente o algoritmo "Insere Ordenado" que insere um elemento novo e insere num vetor ordenado.
- Milestone 1: Faca o exercicio de histograma vertical - K&R 1-13, segunda parte (p. 25 do PDF). Primeiro facao o horizontal.
- Bitwise: escreva um programa para determinar se um inteiro nao-negativo x eh potencia de 2, e, caso afirmativo, retorne o expoente.
- Bitwise: escreva a funcao getbits do K&R logo antes do Exercicio 2-6 (pagina 47 do PDF), e um programa para testa-la.
- Bitwise: escreva a funcao setbits do K&R Exercicio 2-6 (pagina 47 do PDF), e um programa para testa-la.
- Milestone 2: Labirinto - ver TC [3]
- Opcional: implementar busca binaria de um vetor ordenado de floats
- Opcional: implementar merge sort e quick sort
Exame de Tecnicas Computacionais do IPRJ e Concursos do IPRJ
Apos seguir o caminho da iluminacao acima, fazer:
- Progressao de exercicios para praticar para a prova
- Escreva um programa para encontrar a sequencia "918" dentre os digitos de um numero inteiro. A entrada deve um numero inteiro, e a saida 1 caso os digitos 918 aparecem em sequencia na representacao decimal nesse numero, 0 caso contrario.
- Escreva um programa que multiplica duas matrizes A 3x6 e B 6x3 de inteiros.
- Escreva um programa cuja entrada eh um numero inteiro, e que imprime 1 caso as somas dos digitos for maior que 10, e 0 caso contrario. Utilize uma funcao que toma um numer inteiro como entrada, e cuja saida eh true ou false, dependendo se a soma dos digitos for maior que 10 ou nao.
- Escreva um programa usando uma funcao para calcular o minimo multiplo comum entre dois inteiros positivos
- Escreva um programa cuja entrada eh uma matriz NxN e imprime na tela a soma das linhas, a soma das colunas, e a soma de todas as diagonais.
Entrevistas em Empresas (em especial Google)
Alem do roteiro acima, estudar os seguintes livros:
- Programming Pearls
- Video: Revisao de Grafos do Fabbri
- Livro de algoritmos de Tardos & Kleinberg
- Livro de algoritmos do Skiena