Download - CES-10 INTRODUÇÃO À COMPUTAÇÃO Aulas Práticas – 2014 Capítulo I Comandos Simples e Repetições
CES-10 INTRODUÇÃO CES-10 INTRODUÇÃO À COMPUTAÇÃOÀ COMPUTAÇÃO
Aulas Práticas – 2014Aulas Práticas – 2014
Capítulo I Capítulo I
Comandos Simples e Comandos Simples e RepetiçõesRepetições
Preparo do Ambiente:Preparo do Ambiente:
Criar no diretório Criar no diretório “C:\Usuarios”“C:\Usuarios” a pasta a pasta “CES-“CES-10 T3 2014”10 T3 2014”
Todos os arquivos criados nas Todos os arquivos criados nas aulas de aulas de laboratóriolaboratório da da Turma 3Turma 3 deverão ser colocados deverão ser colocados nessa pastanessa pasta
Cada Cada programa digitadoprograma digitado será guardado num será guardado num arquivoarquivo de extensão de extensão .c.c
A compilação e execução de um programa gera A compilação e execução de um programa gera dois arquivosdois arquivos com o mesmo nome, mas com com o mesmo nome, mas com extensões diferentes extensões diferentes ((.o.o: programa objeto : programa objeto e e .exe.exe: programa executável): programa executável)
Programa 1.1: Comandos de saída de Programa 1.1: Comandos de saída de resultadosresultados
Abrir o Abrir o CodeBlocksCodeBlocks
Clicar em Clicar em File/New/Empty fileFile/New/Empty file
DigitarDigitar o programa a seguir o programa a seguir
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
return 0;return 0;
}}
Clicar em Clicar em FileFile e salvar como e salvar como “Saida.c”“Saida.c” na na pasta pasta “CES-10 T3 2014”“CES-10 T3 2014”
Clicar no botão Clicar no botão (build and run(build and run) para ) para compilar e executarcompilar e executar
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
return 0;return 0;
}}
printf ("Ola pessoal!")printf ("Ola pessoal!"):: escreve no vídeo o que escreve no vídeo o que estiver entre aspas estiver entre aspas (“- - - - -”)(“- - - - -”), exceto as aspas, exceto as aspas
printf ("\n\n")printf ("\n\n"):: não escreve osnão escreve os dois dois “\n”s“\n”s; para ; para cada cada “\n”“\n”, o cursor do vídeo vai para o início da , o cursor do vídeo vai para o início da linha seguintelinha seguinte
Resultado na tela:
Examinar no Examinar no Windows ExplorerWindows Explorer a pasta a pasta “CES-10 T3 2014” “CES-10 T3 2014” e constatar a geração de e constatar a geração de dois outros arquivos:dois outros arquivos:
Saida.o: Saida.o: programa objeto gerado pelo programa objeto gerado pelo AssemblerAssembler
Saida.exe: Saida.exe: programa executávelprograma executável
■ Agora, clicar duas vezes em Agora, clicar duas vezes em Saida.exeSaida.exe
■ A A telatela de execução de execução abreabre, escreve , escreve “Ola “Ola pessoal!” pessoal!” ee fecha fecha em seguida, não em seguida, não possibilitando a possibilitando a visualizaçãovisualização do resultado do resultado
Rodando dentro do Rodando dentro do CodeBlocksCodeBlocks::
A execução do programa se encerra e o A execução do programa se encerra e o CodeBlocksCodeBlocks emite a mensagem: emite a mensagem:
Process returned 0 (0x0) execution time : Process returned 0 (0x0) execution time : 0.050 s0.050 s
Press any key to continuePress any key to continue
Rodando fora do Rodando fora do CodeBlocksCodeBlocks, a execução do , a execução do programa se encerra e a tela de execução é programa se encerra e a tela de execução é apagadaapagada
Alterando o programa para a tela não apagar:Alterando o programa para a tela não apagar:
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Clicar em Clicar em SaveSave e clicar no botão e clicar no botão (build (build and runand run) para compilar e executar) para compilar e executar
system ("pause")system ("pause"): : emite a mensagem emite a mensagem “Pressione qualquer tecla para continuar “Pressione qualquer tecla para continuar …”…” e fica esperando a digitação e fica esperando a digitação
Resultado na tela
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Executar o programa fora do Executar o programa fora do CodeBlocks CodeBlocks (clicar duas vezes em (clicar duas vezes em Saida.exeSaida.exe))
A tela de execução só apaga quando algo for A tela de execução só apaga quando algo for digitadodigitado
Resultado na tela
Alterar o programa para:Alterar o programa para:
////#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Salvar e executarSalvar e executar
Numa linha, tudo após “//” se torna um “comentário”
Comentários são eliminados do programa-fonte pelo compilador
Alterar o programa para:Alterar o programa para:
////#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Salvar e executarSalvar e executar
Depois da execução, a mensagem de compilação (build messages):
warning: incompatible implicit declaration of built-in function ‘printf’ (enabled by default)
A função “printf” pertence ao arquivo “stdio.h” da biblioteca da Linguagem C
O comentário retirou a inclusão desse arquivo
Mesmo assim o compilador aceitou o programa, mas avisou o ocorrido
Alterar o programa para:Alterar o programa para:
//#include <stdio.h>//#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Salvar e executarSalvar e executar
Há dois tipos de mensagens: warning e error
Warning: o compilador só avisa, mas faz a tradução
Error: o compilador avisa e não faz a tradução
A função “system” pertence ao arquivo “stdlib.h” da biblioteca da Linguagem C
No entanto, a eliminação de seu “include” não provoca “warning”
Voltando ao programa sem Voltando ao programa sem “//”“//”, duplicando o , duplicando o primeiro primeiro printfprintf::
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!"); printf ("Ola pessoal!");
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Salvar e executarSalvar e executar
Duas frases Duas frases “Ola pessoal!” “Ola pessoal!” na mesma linhana mesma linha
Alterar o programa para:Alterar o programa para:
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
printf ("Ola pessoal!printf ("Ola pessoal!\n\n");");
printf ("Ola pessoal!");printf ("Ola pessoal!");
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Salvar e executarSalvar e executar
A segunda frase A segunda frase “Ola pessoal!” “Ola pessoal!” na linha na linha seguinteseguinte
Programa 1.2: Repetições de comandos de Programa 1.2: Repetições de comandos de saídasaída
Clicar em Clicar em File/New/Empty fileFile/New/Empty file
DigitarDigitar o programa a seguir o programa a seguir
Salvá-lo como Salvá-lo como “SaidaRepetida.c”“SaidaRepetida.c” na pasta na pasta “CES-10 T3 2014” “CES-10 T3 2014” e executar e executar
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
i = 1;i = 1;
while (i <= 5) {while (i <= 5) {
printf ("Ola pessoal!\n");printf ("Ola pessoal!\n");
i = i + 1;i = i + 1;
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Mensagem de erro de compilação:
Símbolo não declarado ‘i’
É necessário declarar ‘i’
Alterar o programa para:Alterar o programa para:
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
int i;int i;
i = 1;i = 1;
while (i <= 5) {while (i <= 5) {
printf ("Ola pessoal!\n");printf ("Ola pessoal!\n");
i = i + 1;i = i + 1;
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
int i: ‘i’ é uma variável inteira
Variável: nome ao qual está associado um local na memória, cujo valor pode ser alterado durante a execução
Salvar e executar
Alterar o programa para:Alterar o programa para:
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
int i;int i;
i = 1;i = 1;
while (i <= 5) {while (i <= 5) {
printf ("Ola pessoal!\n");printf ("Ola pessoal!\n");
i = i + 1;i = i + 1;
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Este programa só serve para escrever a frase 5 vezes
Que tal deixar o operador escolher o número de repetições?
Funcionamento do while:
i = 1
i ≤ 5
i = i + 1
“Ola pessoal!\n”
FV
Fluxograma
Programa 1.3: Leitura amigável do número Programa 1.3: Leitura amigável do número de repetiçõesde repetições
Clicar em Clicar em File/New/EmptyFileFile/New/EmptyFile
DigitarDigitar o programa a seguir o programa a seguir
Salvá-lo como Salvá-lo como “Leitura.c”“Leitura.c” na pasta na pasta “CES-10 “CES-10 T3 2014” T3 2014” e executar e executar
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
int i, n;int i, n;
printf ("Digite o numero de repeticoes: ");printf ("Digite o numero de repeticoes: ");
scanf ("%d", &n);scanf ("%d", &n);
i = 1;i = 1;
while while (i <= n)(i <= n) { {
printf ("\nOla pessoal!");printf ("\nOla pessoal!");
i = i + 1;i = i + 1;
}}
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
Variável inteira ‘n’: destinada a guardar o número de repetições a ser digitado
Espera a digitação de um número inteiro (%d)
Lê o número digitado, guardando-o no endereço da variável ‘n’ (&n)
Torna a leitura amigável: o operador saberá o que o programa fica esperando
Programa 1.4: Escrita do valor de variáveisPrograma 1.4: Escrita do valor de variáveis
Quase sempre, é necessário escrever o valor de Quase sempre, é necessário escrever o valor de variáveisvariáveis e de e de expressõesexpressões
A função A função “printf” “printf” tem artifícios para issotem artifícios para isso
DigitarDigitar, salvar e executar o programa a seguir, salvar e executar o programa a seguir
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
int n; float preco;int n; float preco;
printf ("Numero de cadernos: ");printf ("Numero de cadernos: ");
scanf ("%d", &n);scanf ("%d", &n);
printf ("Preco do caderno: ");printf ("Preco do caderno: ");
scanf ("%f", &preco);scanf ("%f", &preco);
printf ("O preco de %d cadernos eh %g", n, n*preco);printf ("O preco de %d cadernos eh %g", n, n*preco);
printf ("\n\n");printf ("\n\n");
system ("pause");system ("pause");
return 0;return 0;
}}
float preco:
A variável ‘preco’ é do tipo real
Espera a digitação de um número real (%f)
Lê o número digitado, guardando-o no endereço da variável ‘preco’
%d escreve o valor de ‘n’ (inteiro) em decimal
%g escreve o valor de ‘n*preco’ (real) em decimal, com o número mínimo necessário de casas após o ponto
Programa 1.5: Programa anterior com Programa 1.5: Programa anterior com repetiçõesrepetições
#include <stdio.h>#include <stdio.h>
#include <stdlib.h>#include <stdlib.h>
int main () {int main () {
int aluno, numalunos, numcadernos; float preco;int aluno, numalunos, numcadernos; float preco;
printf ("Digite o numero de alunos: ");printf ("Digite o numero de alunos: ");
scanf ("%d", &numalunos); printf ("\n"); aluno = 1;scanf ("%d", &numalunos); printf ("\n"); aluno = 1;
while (aluno <= numalunos) {while (aluno <= numalunos) {
printf ("Aluno %d: \n\n\tPreco do caderno: ", aluno);printf ("Aluno %d: \n\n\tPreco do caderno: ", aluno);
scanf ("%f", &preco);scanf ("%f", &preco);
printf ("\tNumero de cadernos: "); scanf ("%d", printf ("\tNumero de cadernos: "); scanf ("%d", &numcadernos);&numcadernos);
printf ("\tAluno %d: %d cadernos a R$%g cada; gasto total: printf ("\tAluno %d: %d cadernos a R$%g cada; gasto total: R$%g\n\n",R$%g\n\n",
aluno, numcadernos, preco, numcadernos*preco);aluno, numcadernos, preco, numcadernos*preco);
aluno = aluno + 1;aluno = aluno + 1;
}}
printf ("\n\n"); system ("pause"); return 0;printf ("\n\n"); system ("pause"); return 0;
}}
Digitar, salvar e executar este programa
Digite o numero de alunos: Digite o numero de alunos: 33
Aluno 1:Aluno 1:
Numero de cadernos: Numero de cadernos: 55
Preco do caderno: Preco do caderno: 7.37.3
Numero de canetas: Numero de canetas: 66
Preco da caneta: Preco da caneta: 2.62.6
Numero de lapis: Numero de lapis: 88
Preco do lapis: Preco do lapis: 1.31.3
Numero de borrachas: Numero de borrachas: 55
Preco da borracha: Preco da borracha: 0.60.6
Aluno 1Aluno 1
5 cadernos a R$7.3 cada5 cadernos a R$7.3 cada
6 canetas a R$2.6 cada6 canetas a R$2.6 cada
8 lapis a R$1.3 cada8 lapis a R$1.3 cada
5 borrachas a R$0.6 cada5 borrachas a R$0.6 cada
Gasto total: R$65.5Gasto total: R$65.5
Em amarelo: digitados pelo operador
Exercício do Lab 1: Alterar o programa anterior para que ele produza no vídeo resultados como este:
Aluno 2:Aluno 2:
Numero de cadernos: 7Numero de cadernos: 7
Preco do caderno: 6.2Preco do caderno: 6.2
Numero de canetas: 8Numero de canetas: 8
Preco da caneta: 3.1Preco da caneta: 3.1
Numero de lapis: 6Numero de lapis: 6
Preco do lapis: 1.3Preco do lapis: 1.3
Numero de borrachas: 4Numero de borrachas: 4
Preco da borracha: 0.8Preco da borracha: 0.8
Aluno 2Aluno 2
7 cadernos a R$6.2 cada7 cadernos a R$6.2 cada
8 canetas a R$3.1 cada8 canetas a R$3.1 cada
6 lapis a R$1.3 cada6 lapis a R$1.3 cada
4 borrachas a R$0.8 cada4 borrachas a R$0.8 cada
Gasto total: R$79.2Gasto total: R$79.2
Em amarelo: digitados pelo operador
Exercício do Lab 1: Alterar o programa anterior para que ele produza no vídeo resultados como este:
Aluno 3:Aluno 3:
Numero de cadernos: 9Numero de cadernos: 9
Preco do caderno: 8.3Preco do caderno: 8.3
Numero de canetas: 3Numero de canetas: 3
Preco da caneta: 2.7Preco da caneta: 2.7
Numero de lapis: 4Numero de lapis: 4
Preco do lapis: 1.7Preco do lapis: 1.7
Numero de borrachas: 8Numero de borrachas: 8
Preco da borracha: 0.2Preco da borracha: 0.2
Aluno 3Aluno 3
9 cadernos a R$8.3 cada9 cadernos a R$8.3 cada
3 canetas a R$2.7 cada3 canetas a R$2.7 cada
4 lapis a R$1.7 cada4 lapis a R$1.7 cada
8 borrachas a R$0.2 cada8 borrachas a R$0.2 cada
Gasto total: R$91.2Gasto total: R$91.2
Em amarelo: digitados pelo operador
Exercício do Lab 1: Alterar o programa anterior para que ele produza no vídeo resultados como este: