>/E'h ' D WZK'Z D K -...

13

Transcript of >/E'h ' D WZK'Z D K -...

Page 1: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

Grupo NT

INFORMAÇÃO E COMUNICAÇÃO

LINGUAGEM DE PROGRAMAÇÃO C

Page 2: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO
Page 3: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

AutorGrupo NT

RevisãoNT Editora e Figuramundo

Projeto GráficoNT Editora

Editoração EletrônicaNT Editora e Figuramundo

CapaNT Editora

NT Editora, uma empresa do Grupo NTSCS Q2 - Bl. D - Salas 307 e 308 - Ed. Oscar NiemeyerCEP 70316-900 - Brasília - DFFone: (61) [email protected] e www.grupont.com.br

Linguagem de Programação C. / NT Editora.

-- Brasília: 2014. 142p. : il. ; 21,0 X 29,7 cm.

ISBN - 978-85-8416-060-0

1. Programação de Computadores I – C. 2. Algoritmos. 3. Treinamento interativo.

Copyright © 2014 por NT Editora.Nenhuma parte desta publicação poderá ser reproduzida por

qualquer modo ou meio, seja eletrônico, fotográfico, mecânico ou outros, sem autorização prévia e escrita da NT Editora.

Page 4: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

LEGENDA

ÍCONES

Prezado(a) aluno(a),Ao longo dos seus estudos, você encontrará alguns ícones na coluna lateral do mate-rial didático. A presença desses ícones o(a) ajudará a compreender melhor o conteúdo abordado e também como fazer os exercícios propostos. Conheça os ícones logo abaixo:

Saiba MaisEsse ícone apontará para informações complementares sobre o assunto que você está estudando. Serão curiosidades, temas afins ou exemplos do cotidi-ano que o ajudarão a fixar o conteúdo estudado.

ImportanteO conteúdo indicado com esse ícone tem bastante importância para seus es-tudos. Leia com atenção e, tendo dúvida, pergunte ao seu tutor.

DicasEsse ícone apresenta dicas de estudo.

Exercícios Toda vez que você vir o ícone de exercícios, responda às questões propostas.

Exercícios Ao final das lições, você deverá responder aos exercícios no seu livro.

Bons estudos!

Page 5: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

4 NT Editora

Sumário

1. INTRODUÇÃO AOS ALGORITMOS ................................................................. 71.1 Introdução .................................................................................................................................. 7

2. INTRODUÇÃO À PROGRAMAÇÃO ............................................................... 132.1 Introdução ................................................................................................................................132.2 Só para lembrar .......................................................................................................................13

3. USO BÁSICO DE FUNÇÕES ........................................................................... 243.1 Introdução ................................................................................................................................243.2 Só para lembrar .......................................................................................................................24

4. ESTRUTURAS CONDICIONAIS ...................................................................... 384.1 Introdução ................................................................................................................................384.2 Só para lembrar .......................................................................................................................38

5. ESTRUTURAS DE REPETIÇÃO ....................................................................... 535.1 Introdução ................................................................................................................................535.2 Só para lembrar .......................................................................................................................53

6. USO AVANÇADO DE FUNÇÕES .................................................................... 666.1 Introdução ................................................................................................................................666.2 Só para lembrar .......................................................................................................................66

Page 6: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

5Linguagem de Programação C

7. VETORES E MATRIZES ................................................................................... 767.1 Introdução ................................................................................................................................767.2 Só para lembrar .......................................................................................................................76

8. PONTEIROS E STRINGS ................................................................................. 898.1 Introdução ................................................................................................................................898.2 Só para lembrar .......................................................................................................................89

9. LIDANDO COM ARQUIVOS ......................................................................... 1039.1 Introdução ............................................................................................................................. 1039.2 Só para lembrar .................................................................................................................... 103

10. ESTRUTURAS ............................................................................................. 11410.1 Introdução ........................................................................................................................... 11410.2 Só para lembrar ................................................................................................................. 114

11. OUTRAS TÉCNICAS COMUNS .................................................................. 13111.1 Introdução ........................................................................................................................... 13111.2 Só para lembrar ................................................................................................................. 131

Page 7: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO
Page 8: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

Linguagem de Programação C 7

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

1. INTRODUÇÃO AOS ALGORITMOS

1.1 IntroduçãoProgramar consiste em criar soluções e transformá-las em softwa-

re. A maior parte das soluções baseia-se em decisões a serem tomadas e ações a serem repetidas. Essas soluções são os algoritmos e, para con-vertê-las em software, você precisará usar um compilador baseado em uma linguagem de programação.

Exercitando o conhecimento...

1 – Defina:

• Programa de computador;

• Compilador;

• Linguagem de programação;

• Algoritmo.

2 – O exemplo abaixo ilustra uma estrutura condicional simples, com apenas um nível de SE ... SENÃO.

Jogando uma moeda:

SE sair cara, então...

o nosso time joga do lado esquerdo

SENÃO

o nosso time joga do outro lado.

Crie dois algoritmos com estruturas condicionais baseados em situações do dia a dia, de modo que o primeiro tenha apenas um SE ... SENÃO e o segundo tenha dois SE ... SENÃO aninhados (um dentro do outro).

Muitos termos novos? Vá ao CBT e comece o seu curso. Você não só conhecerá os concei-tos teóricos básicos de programação como

também saberá por que usar a poderosa linguagem C, na qual este curso se baseia.

Quando terminar a lição, não se esqueça de realizar as atividades propostas abaixo.

SUMÁRIO

Page 9: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

8 NT Editora

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

3. As três estruturas de repetição abaixo possuem as mesmas ações, mas têm diferen-ças entre si.

a) PARA a numeração do envelope começando em 1 até chegar a 50

Pegue o envelope numerado

Feche o envelope numerado

b) ENQUANTO não acabarem os envelopes

Pegue o envelope numerado

Feche o envelope numerado

c) FAÇA

Pegue o envelope numerado

Feche o envelope numerado

ENQUANTO não acabarem os envelopes

Responda: baseando-se nos exemplos do CBT, em que situação é vantajoso usar cada um desses tipos de estruturas?

4. Em programação, o que é um loop infinito?

5. Crie uma estrutura de repetição PARA baseada no seu dia a dia.

6. Crie uma estrutura de repetição ENQUANTO baseada no seu dia a dia.

7. Crie uma estrutura de repetição FAÇA ... ENQUANTO baseada no seu dia a dia.

8. Considere o exemplo:

No fim do ano: você pode (ou não) ter uma pilha com vários envelopes para enviar cartões:

ENQUANTO a pilha não estiver vazia

Pegue o envelope do topo da pilha

Preencha o envelope

Coloque um cartão no envelope

Feche o envelope

/* Repete-se o processo */

O que acontecerá se a pilha estiver vazia já no início do algoritmo?

9. Além de ser uma das linguagens preferidas dos programadores profissionais, a lin-guagem ANSI C é portável e de médio nível. O que estes termos significam?

SUMÁRIO

Page 10: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

Linguagem de Programação C 9

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Parabéns, você fina-lizou esta lição!

Agora responda às questões ao lado.

Exercícios

Questão 01 − O que é um programa de computador? Assinale a única alternativa correta.

a) Sinônimo de software aplicativo, como o sistema operacional Windows, um progra-ma é um comando enviado a um computador que executa alguma tarefa.

b) Sinônimo de software , é um conjunto de instruções e regras que o computador deve executar de modo a resolver problemas e agilizar tarefas repetitivas.

c) Visto que o hardware precisa do software , um programa de computador é o elo entre o software e o hardware, não pertencendo a nenhuma destas categorias.

d) É a lógica de resolução de um problema.

Questão 02 − “Um programa usado para gerar outros programas” e “um conjunto de regras que o programador deve aprender para escrever seus programas” definem, respectivamente:

a) editor eletrônico e linguagem lógica;

b) compilador e gramática da língua inglesa;

c) compilador e linguagem de programação;

d) editor de programas e linguagem lógica.

Questão 03 − Assinale a única alternativa que NÃO pode ser feita por um algoritmo:

a) intuir que algo bom vai acontecer;

b) calcular o imposto de renda de um bilionário;

c) gerenciar uma lanchonete multinacional;

d) estimar a expectativa de vida da população brasileira.

Questão 04 − Dado o algoritmo abaixo, como você reordenaria suas linhas para que o motorista, em hipótese alguma, chegasse em seu destino?

a) 01, 02, 03, 04, 07, 06, 05.

b) 01, 07, 03, 04, 02, 06, 05.

c) 04, 05, 03, 01, 07, 06, 02.

d) 01, 07, 03, 04 ,05, 06, 02.

01 SE o destino estiver à esquerda, então...02 Viro o carro para a esquerda03 SENÃO04 SE o destino estiver à direita, então...05 Viro o carro para a direita06 SENÃO07 Passo normalmente

SUMÁRIO

Page 11: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

10 NT Editora

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Questão 05 − Dados os algoritmos abaixo, assinale a única alternativa correta:

/* Leitura total de um livro de 600 páginas*/(1) PARA a numeração da página começando em 1 até chegar a

600Leia a página Vá para a próxima página

(2) ENQUANTO o livro não terminar Leia a página Vá para a próxima página

a) o algoritmo (1) funciona exatamente do mesmo jeito que o algoritmo (2);

b) o algoritmo (1) é mais genérico que o algoritmo (2) para o problema em questão;

c) do jeito que estão, os dois algoritmos funcionariam bem se o livro tivesse 700 páginas;

d) o algoritmo (2) funcionaria bem sem alterações mesmo que o livro tivesse 700 páginas.

Questão 06 − Dado o algoritmo abaixo, assinale a única alternativa correta:

No fim do ano – você pode (ou não) ter uma pilha com vários envelopes para enviar cartões:

ENQUANTO a pilha não estiver vazia Pegue o envelope do topo da pilha de envelopes Preencha o envelope Coloque um cartão no envelope Feche o envelope /* Repete-se o processo */

a) quando a pilha ficar vazia, o algoritmo causará um erro, pois não está preparado para este caso;

b) quando a pilha ficar vazia, o algoritmo ignorará as ações que forem impossíveis até parar;

c) quando a pilha ficar vazia, o algoritmo se encerra;

d) para usar este algoritmo, a pilha de envelopes nunca pode ficar vazia.

Questão 07 − Dado o algoritmo abaixo com uma pilha vazia (sem envelopes) como entrada, assinale a única alternativa correta:

No fim do ano – você pode (ou não) ter uma pilha com vários envelopes para enviar cartões:

ENQUANTO a pilha não estiver vazia Pegue o envelope do topo da pilha de envelopes Preencha o envelope Coloque um cartão no envelope Feche o envelope /* Repete-se o processo */

SUMÁRIO

Page 12: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

Linguagem de Programação C 11

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

a) o algoritmo causará um erro, pois não está preparado para esse caso;

b) o algoritmo ignorará as ações que forem impossíveis até parar;

c) o algoritmo se encerra;

d) para usar esse algoritmo, a pilha de envelopes nunca pode ficar vazia.

Questão 08 − O algoritmo abaixo entra em loop infinito se não houver ninguém conhe-cido na festa. Marque o algoritmo alternativo que resolve o problema corretamente sem loops infinitos:

Em uma festa – você chega em uma festa e faz questão de ficar conversando com alguém já conhecido: FAÇA Olhe para alguém na festa verifique se é conhecidoENQUANTO não encontrar alguém conhecido entre as pessoas da festa

a) ( )

ENQUANTO não tiver olhado todos na festa Olhe para alguém na festa e verifique se é conhecido SE for conhecido, então... conversa com a pessoa. /* sai do algoritmo */

b) ( )

ENQUANTO não encontrar alguém conhecido Olhe para alguém na festa Verifique se é conhecido

c) ( )

FAÇA Olhe para alguém na festa e verifique se é desconhecidoENQUANTO não encontrar alguém conhecido

d) ( )

FAÇA Olhe para alguém na festa e verifique se é conhecido SE for conhecido, então... sai da festa. /* sai do algoritmo */ENQUANTO não encontrar alguém conhecido.

SUMÁRIO

Page 13: >/E'h ' D WZK'Z D K - avant.grupont.com.bravant.grupont.com.br/dirVirtualLMS/portais/livros/pdfs_demo/Lingua... · VETORES E MATRIZES ... o nosso time joga do lado esquerdo SENÃO

12 NT Editora

Repr

oduç

ão p

roib

ida.

Cop

yrig

ht ©

NT

Edito

ra. T

odos

os

dire

itos

rese

rvad

os.

Questão 09 − Para o algoritmo abaixo, considere que a festa não tenha ninguém (além de você, que não conta!). Assinale a única alternativa que retrata como o algorit-mo irá se comportar:

Em uma festa – você chega em uma festa e faz questão de ficar conversando com alguém já conhecido:FAÇAOlhe para alguém na festaVerifique se é conhecidoENQUANTO não encontrar alguém conhecido entre as pessoas da festa

a) o algoritmo funcionará normalmente;

b) o algoritmo entrará em loop infinito;

c) entrará em loop até que o algoritmo perceba que não conseguiu resolver o problema;

d) o algoritmo simplesmente não funcionará nesse caso.

Questão10 − Quais são as principais vantagens da linguagem C?

a) É portável, popular, de poucos recursos, tem uso profissional, é de alto nível, tem alguns compiladores gratuitos e facilita o estudo de outras linguagens.

b) É portável, popular, poderosa, tem uso profissional, é de médio nível, tem alguns compiladores gratuitos e facilita o estudo de outras linguagens.

c) Não é portável, popular, poderosa, tem uso profissional, é de médio nível, tem alguns compiladores gratuitos e facilita o estudo de outras linguagens.

d) É portável, poderosa, restrita ao uso acadêmico, é de alto nível, tem alguns compila-dores gratuitos e facilita o estudo de outras linguagens.

SUMÁRIO