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 9: | Linha 9: | ||
=== 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 | # 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 | ||
Linha 15: | Linha 15: | ||
# Progressao de exercicios para aprender (fazer leitura sob demanda) | # 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: 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 | ## 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. | ## 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. | ## Ordenacao por lookup table. Ordene um vetor de inteiros, cada um de 0 a um valor maximo 16000. | ||
Linha 33: | Linha 33: | ||
Apos seguir o caminho da iluminacao acima, fazer: | Apos seguir o caminho da iluminacao acima, fazer: | ||
# Progressao de exercicios para praticar para a prova | # Progressao de exercicios para praticar para a prova | ||
## Escreva um programa | ## Escreva um programa para encontrar a sequencia "2918" dentre os digitos de um numero inteiro. A entrada deve um numero inteiro, e a saida 1 caso os digitos 171 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 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 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. |
Edição das 12h50min de 21 de outubro de 2020
<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]
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)
- 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 [2]
- 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 "2918" dentre os digitos de um numero inteiro. A entrada deve um numero inteiro, e a saida 1 caso os digitos 171 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
- Livro de algoritmos de Tardos & Kleinberg
- Livro de algoritmos do Skiena