SlideShare uma empresa Scribd logo
1 de 19
Baixar para ler offline
TÉCNICAS DE PROGRAMAÇÃO I
Prof.John Hebert da Silva Felix
johnfelix@unilab.edu.br
Universidade da Integração Internacional da Lusofonia
Afro-Brasiliera
Curso de Engenharia de Energias
Redenção-CE, Brasil
2014
Prof. John Hebert S. Felix 1/1 UNILAB
Técnicas de Programação I
Índice da Apresentação
Prof. John Hebert S. Felix 2/1 UNILAB
Técnicas de Programação I
LINGUAGEM C
Prof. John Hebert S. Felix 3/1 UNILAB
Técnicas de Programação I
Linguagem C
1 Introdução;
2 A Biblioteca-padrão e as Palavras Reservadas em C;
3 Tipos de Dados e Variáveis;
4 Operadores e Expressões;
5 Entrada e Saída E/S pelo Console;
6 Estruturas de Controles;
7 Funções;
8 Arrays e Strings;
9 Ponteiros;
10 Estruturas, Uniões e Enumerações;
11 Arquivos e Streams;
12 Estruturas de dados:
Listas lineares (Filas, Pilhas e Listas Encadeadas);
Ordenação e Pesquisa.
Prof. John Hebert S. Felix 4/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Estruturas de controle
As estruturas ou comandos de controle podem ser divididos em:
seleção, iteração e desvios.
Seleção ou condicional: fazem parte os comandos if e switch;
Iteração ou laço: fazem parte os comandos while, for e do-while;
Desvio ou salto: fazem parte os comandos break, continue,
return e goto;
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Estrutura de seleção
O comando de seleção if executa uma ação ou um bloco de ações,
quando uma condição é verdadeira, caso contrário a ação ou um bloco de
ações do else (se existir) é executado.
Sintaxe - if-else - comando simples
if (expressão) comando;
else comando;
Sintaxe - if-else - bloco de comandos
if (expressão){
Bloco de Comandos;
}
else {
Bloco de Comandos;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Sintaxe - if-else aninhados -
comando único
if (expressão)
Comando;
else if (expressão)
Comando;
else if (expressão)
Comando;
Sintaxe - if-else aninhados - bloco
de comandos
if (expressão) {
Bloco de Comandos;
}
else if (expressão) {
Bloco de Comandos;
}
else if (expressão) {
Bloco de Comandos;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Exemplo de estrutura de seleção composta.
Média aritmética indicando aprovado e reprovado
#include <stdio.h>
int main (void){
float nota1, nota2, nota3, media;
printf(“Digite as 3 notasn”);
scanf(“%fn%fn%f”, &nota1, &nota2, &nota3);
media = (nota1 + nota2 + nota3)/3;
if (media>=7) {
printf(“Aluno aprovadon”);
printf(“A sua média é: %fn”, media);
}
else {
printf(“Aluno reprovadon”);
printf(“A sua média é: %fn”, media);
}
return 0;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Seleção de múltipla escolha - switch
A estrutura de seleção switch seleciona uma dentre um
conjunto de condições associadas a uma sequência de
valores.
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Sintaxe - switch
switch(expressão) {
case Valor1:
Sequência de comandos;
break; /*comando que desvia a
excução do programa para outra linha do
código*/
case Valor2:
Sequência de comandos;
break;
.
.
.
default:
Sequência de comandos;
break;
}
Ex.: Calculadora com 4 operações
#include <stdio.h>
int main (void){
float numa, numb;
char oper;
printf(“Digite o 1o
número o operador e o 2o
númeron”);
scanf(“%f%c%f”, &numa, &oper, &numb);
switch(oper) {
case ‘+’:
printf(“A adição é: %2.2fn”, numa + numb); break;
case ‘–’:
printf(“A subtração é: %2.2fn”, numa – numb); break;
case ‘*’:
printf(“A multiplicação é: %2.2fn”, numa * numb); break;
case ‘/’:
printf(“A divisão é: %2.2fn”, numa / numb); break;
default:
printf(“Operação inválida!n”); break;
}
return 0;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Estrutura de Iteração ou laço - for
Controla o fluxo de execução, por meio de uma quantidade de repetições
predefinidas.
Sintaxe - laço for
for(inicialização; condição; incremento) {
Sequência de comandos;
}
Se houver apenas um comando, o
bloco representado por { }, pode ser
retirado.
Em que:
inicialização: atribui um valor a
variável de controle;
condição: indica uma expressão
relacional que determina o fim do
laço;
incremento: defini a forma de
variação da variável de controle a
cada iteração.
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Ex.: Média geral da turma
#include <stdio.h>
int main (void){
float mAno, mAnoTur, acum;
int i;
printf(“Digite a média da turma de 36
alunosn”);
for(i=1;i<=36;i++){
scanf(“%f”,&mAno);
acum = acum + mAno;
}
mAnoTur = acum/36;
printf(“A média anual da turma é: %2.2fn”,
mAnoTur);
return 0;
}
Ex.: Laço infinito
#include <stdio.h>
int main (void){
char letra;
printf(“Digite a letra L para sair do
laçon”);
for( ; ; ){
scanf(“%f”,&mAno);
letra = getchar();
if (letra == ‘L’) break; /*sai do laço*/
}
return 0;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Estrutura de Iteração ou laço - while
Controla o fluxo de execução, repetindo várias vezes uma mesma
parte ou bloco de um programa.
Sintaxe - laço while
while(condição) {
Sequência de comandos;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Média geral da turma
#include <stdio.h>
int main (void){
float mAno, mAnoTur, acum = 0;
int i = 1;
printf(“Digite a média da turma de 36 alunosn”);
while(i<=36){
scanf(“%f”,&mAno);
acum = acum + mAno;
i++;
}
mAnoTur = acum/36;
printf(“A média anual da turma é: %2.2fn”, mAnoTur);
return 0;
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Estrutura de Iteração ou laço - do-while
Controla o fluxo de execução, repetindo várias vezes uma mesma
parte ou bloco de um programa, realizando o teste no final.
Sintaxe - laço do-while
do {
Sequência de comandos;
}while(condição);
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Ex. 1: Média geral da turma
#include <stdio.h>
int main (void){
float mAno, mAnoTur, acum = 0;
int i = 1;
printf(“Digite a média da turma de 36
alunosn”);
do {
scanf(“%f”,&mAno);
acum = acum + mAno;
} while(++i <= 36);
mAnoTur = acum/36;
printf(“A média anual da turma é:
%2.2fn”, mAnoTur);
return 0;
}
Ex. 2: Especicifacação da porcentagem
de vinho
O algoritmo apresentado a seguir,
especifica a porcentagem dos tipos de
vinhos: tinto, branco e rosê. O algoritmo
informa a quantidade de vinho
desconhecida e para sair um finalizador
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Ex. 2: Especicifacação da porcentagem
de vinho
#include <stdio.h>
int main (void){
float pTin, pBra, pRos; //porcentagem de vinhos
int conV = 0, conTin = 0, conBra = 0, conRos = 0;
char tipV = ‘0’; //tipo de vinho
printf (“Digite T (p/ tinto), B (p/ branco), R (p/ rosê)
e S (p/ sair)n”);
do{
scanf(“%c”,&tipV);
switch(tipV){
case ‘T’: conTin += 1;
case ‘B’: conBra += 1;
case ‘R’: conRos += 1;
}
conV += 1; // incrementa o contador
Ex. 2: continuação
} while(tipV != ‘S’); //teste da condição de saida
conV –= 1; // desconta o finalizador ‘S’
if(conV) {
pTin = (conTin * 100) / conV;
pBra = (conBra * 100) / conV;
pRos = (conRos * 100) / conV;
printf (“As % dos vinhos tinto, branco e rosê são,
respectivamente:%2.2fn%2.2fn%2.2f”, pTin, pBra,
pRos);
}
else
printf (“Não foi informado nenhum tipo de
vinho!n”);
}
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Comandos de desvio
return: utilizado para retornar de uma função e caso algum valor
esteja associado a este comando será também retornado. A sua
forma é: return expressão;
break: pode ser utilizado para finalizar case de um comando
switch ou laço. A sua forma é: break;
continue: realiza a execução do próximo comando. No caso de
um laço faz este realizar a sua próxima iteração. A sua forma é:
continue;
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I
Estruturas de controle
Comandos de desvio
goto: caiu em desuso devido a tendência de deixar os programas
ilegíveis. A sua forma é:
goto rótulo;
...
rótulo:
Em que: rótulo corresponde a um rótulo válido.
Exemplo de laço com goto:
cont = 1;
laco:
scanf(“%f”,&mAno);
acum = acum + mAno;
cont++;
if(cont<=36) goto laco;
Prof. John Hebert S. Felix 5/1 UNILAB
Técnicas de Programação I

Mais conteúdo relacionado

Mais procurados

TDD em C++
TDD em C++TDD em C++
TDD em C++thiagodp
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++thiagodp
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem Capolllorj
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCFabio Souza
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009starley lobo
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03profwtelles
 
Aula 6 1 linguagem pascal-parte_1
Aula 6   1 linguagem pascal-parte_1Aula 6   1 linguagem pascal-parte_1
Aula 6 1 linguagem pascal-parte_1Duane Bertoldo
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Gercélia Ramos
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlex Camargo
 

Mais procurados (20)

TDD em C++
TDD em C++TDD em C++
TDD em C++
 
DOJO - TDD com C++
DOJO - TDD com C++DOJO - TDD com C++
DOJO - TDD com C++
 
Aula 05 subprogramas
Aula 05   subprogramasAula 05   subprogramas
Aula 05 subprogramas
 
Modularização
ModularizaçãoModularização
Modularização
 
Linguagem C - Controle de Programa
Linguagem C - Controle de ProgramaLinguagem C - Controle de Programa
Linguagem C - Controle de Programa
 
Apostila c
Apostila cApostila c
Apostila c
 
Introdução a Linguagem C
Introdução a Linguagem CIntrodução a Linguagem C
Introdução a Linguagem C
 
C pic
C picC pic
C pic
 
SubProgramas
SubProgramasSubProgramas
SubProgramas
 
Resumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroCResumo linguagem c para microcontroladores PIC usando MikroC
Resumo linguagem c para microcontroladores PIC usando MikroC
 
Programação em C
Programação em CProgramação em C
Programação em C
 
53392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-200953392229 apostila-de-algoritmo-2009
53392229 apostila-de-algoritmo-2009
 
Apresentação Linguagem C
Apresentação Linguagem CApresentação Linguagem C
Apresentação Linguagem C
 
Linguagem c wellington telles - aula 03
Linguagem c   wellington telles - aula 03Linguagem c   wellington telles - aula 03
Linguagem c wellington telles - aula 03
 
Aula 6 1 linguagem pascal-parte_1
Aula 6   1 linguagem pascal-parte_1Aula 6   1 linguagem pascal-parte_1
Aula 6 1 linguagem pascal-parte_1
 
5423 c ou c++
5423 c ou c++5423 c ou c++
5423 c ou c++
 
Algoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - LacosAlgoritmos - Aula 07 A - Lacos
Algoritmos - Aula 07 A - Lacos
 
Minicurso php
Minicurso phpMinicurso php
Minicurso php
 
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
Pseudocódigo - Estrutura de Repetição (Lógica de Programação)
 
Algoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetiçãoAlgoritmos e Programação: Estruturas de repetição
Algoritmos e Programação: Estruturas de repetição
 

Destaque

Tecnicas programacao i_c_p3
Tecnicas programacao i_c_p3Tecnicas programacao i_c_p3
Tecnicas programacao i_c_p3D M
 
Tecnicas programacao i_c_p4
Tecnicas programacao i_c_p4Tecnicas programacao i_c_p4
Tecnicas programacao i_c_p4D M
 
Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5D M
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1D M
 
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...Adriana Barbosa
 
Livro do fisiculturismo
Livro do fisiculturismoLivro do fisiculturismo
Livro do fisiculturismoMatheus Dutra
 
урик модель
урик  модельурик  модель
урик модельweb007
 
ETSAVA
ETSAVAETSAVA
ETSAVAETSAVA
 
Mi tyrabajo de química
Mi tyrabajo de químicaMi tyrabajo de química
Mi tyrabajo de químicaErica Urizar
 
ULS - Software libre
ULS - Software libreULS - Software libre
ULS - Software libreIntComp-ULS
 
Practica 11-valores-y-estrategias-de-estudio-1
Practica 11-valores-y-estrategias-de-estudio-1Practica 11-valores-y-estrategias-de-estudio-1
Practica 11-valores-y-estrategias-de-estudio-1Sebas Padilla
 
Powert point david lopez
Powert point  david lopezPowert point  david lopez
Powert point david lopezDaviidlopez1222
 
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...Kharkivbatkiv
 
Improving U.S.-Pakistan Relations: A Primer for the Trump Administration
Improving U.S.-Pakistan Relations: A Primer for the Trump AdministrationImproving U.S.-Pakistan Relations: A Primer for the Trump Administration
Improving U.S.-Pakistan Relations: A Primer for the Trump Administrationcommandeleven
 

Destaque (20)

Tecnicas programacao i_c_p3
Tecnicas programacao i_c_p3Tecnicas programacao i_c_p3
Tecnicas programacao i_c_p3
 
Tecnicas programacao i_c_p4
Tecnicas programacao i_c_p4Tecnicas programacao i_c_p4
Tecnicas programacao i_c_p4
 
Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5Tecnicas programacao i_c_p5
Tecnicas programacao i_c_p5
 
Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1Tecnicas programacao i_c_p1
Tecnicas programacao i_c_p1
 
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...Solucionario química   a ciência central - brown 9ª ed - blog - aquelaquestao...
Solucionario química a ciência central - brown 9ª ed - blog - aquelaquestao...
 
Livro do fisiculturismo
Livro do fisiculturismoLivro do fisiculturismo
Livro do fisiculturismo
 
Sanctity of Marriage
Sanctity of MarriageSanctity of Marriage
Sanctity of Marriage
 
1
11
1
 
Presentation
PresentationPresentation
Presentation
 
урик модель
урик  модельурик  модель
урик модель
 
іван липа
іван липаіван липа
іван липа
 
ETSAVA
ETSAVAETSAVA
ETSAVA
 
Mi tyrabajo de química
Mi tyrabajo de químicaMi tyrabajo de química
Mi tyrabajo de química
 
ULS - Software libre
ULS - Software libreULS - Software libre
ULS - Software libre
 
crucigrama
 crucigrama  crucigrama
crucigrama
 
Las preguntas
Las preguntasLas preguntas
Las preguntas
 
Practica 11-valores-y-estrategias-de-estudio-1
Practica 11-valores-y-estrategias-de-estudio-1Practica 11-valores-y-estrategias-de-estudio-1
Practica 11-valores-y-estrategias-de-estudio-1
 
Powert point david lopez
Powert point  david lopezPowert point  david lopez
Powert point david lopez
 
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
Звіт з волонтерської діяльності ЛЮТИЙ Харківська обласна парторганізація ВО Б...
 
Improving U.S.-Pakistan Relations: A Primer for the Trump Administration
Improving U.S.-Pakistan Relations: A Primer for the Trump AdministrationImproving U.S.-Pakistan Relations: A Primer for the Trump Administration
Improving U.S.-Pakistan Relations: A Primer for the Trump Administration
 

Semelhante a Tecnicas programacao i_c_p2

Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++Verônica Veiga
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell scriptbrunobione
 
Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04thomasdacosta
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_javaMirlem Pereira
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem cRafael_Lima87
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao cprofwtelles
 
Introdução ao c++
Introdução ao c++Introdução ao c++
Introdução ao c++Jonas Silva
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii CarlaCarla Silva
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERLTiago R. Sampaio
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAntonioSvio1
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2João Piedade
 

Semelhante a Tecnicas programacao i_c_p2 (20)

Aula 1 | Introdução a C++
Aula 1 | Introdução a C++Aula 1 | Introdução a C++
Aula 1 | Introdução a C++
 
Estrutura de linguagem C++
Estrutura de linguagem C++Estrutura de linguagem C++
Estrutura de linguagem C++
 
Java3
Java3Java3
Java3
 
Oficina de shell script
Oficina de shell scriptOficina de shell script
Oficina de shell script
 
Linguagem c parte 1
Linguagem c parte 1Linguagem c parte 1
Linguagem c parte 1
 
shell bash Fpar aula6
shell bash Fpar aula6shell bash Fpar aula6
shell bash Fpar aula6
 
Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04Algoritmos e Técnicas de Programação - Aula 04
Algoritmos e Técnicas de Programação - Aula 04
 
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
8a. aula -_estrutura_de_controle_de_repeticao_-_while_java
 
Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)Tema 2 | Linguagem PHP Básico (I)
Tema 2 | Linguagem PHP Básico (I)
 
Aula3
Aula3Aula3
Aula3
 
Introdução à linguagem c
Introdução à linguagem cIntrodução à linguagem c
Introdução à linguagem c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Aula5 introducao c
Aula5 introducao cAula5 introducao c
Aula5 introducao c
 
Introdução ao c++
Introdução ao c++Introdução ao c++
Introdução ao c++
 
Sebenta Ling Prog Cptig MóDulo Iii Carla
Sebenta Ling Prog Cptig   MóDulo Iii CarlaSebenta Ling Prog Cptig   MóDulo Iii Carla
Sebenta Ling Prog Cptig MóDulo Iii Carla
 
Comandos e expressões
Comandos e expressõesComandos e expressões
Comandos e expressões
 
Linguagem de Programação PERL
Linguagem de Programação PERLLinguagem de Programação PERL
Linguagem de Programação PERL
 
Aula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdfAula 05 - Estrutura de Controle em PHP.pdf
Aula 05 - Estrutura de Controle em PHP.pdf
 
Shell script
Shell scriptShell script
Shell script
 
Conceitos base de programação - parte 2
Conceitos base de programação - parte 2Conceitos base de programação - parte 2
Conceitos base de programação - parte 2
 

Tecnicas programacao i_c_p2

  • 1. TÉCNICAS DE PROGRAMAÇÃO I Prof.John Hebert da Silva Felix johnfelix@unilab.edu.br Universidade da Integração Internacional da Lusofonia Afro-Brasiliera Curso de Engenharia de Energias Redenção-CE, Brasil 2014 Prof. John Hebert S. Felix 1/1 UNILAB Técnicas de Programação I
  • 2. Índice da Apresentação Prof. John Hebert S. Felix 2/1 UNILAB Técnicas de Programação I
  • 3. LINGUAGEM C Prof. John Hebert S. Felix 3/1 UNILAB Técnicas de Programação I
  • 4. Linguagem C 1 Introdução; 2 A Biblioteca-padrão e as Palavras Reservadas em C; 3 Tipos de Dados e Variáveis; 4 Operadores e Expressões; 5 Entrada e Saída E/S pelo Console; 6 Estruturas de Controles; 7 Funções; 8 Arrays e Strings; 9 Ponteiros; 10 Estruturas, Uniões e Enumerações; 11 Arquivos e Streams; 12 Estruturas de dados: Listas lineares (Filas, Pilhas e Listas Encadeadas); Ordenação e Pesquisa. Prof. John Hebert S. Felix 4/1 UNILAB Técnicas de Programação I
  • 5. Estruturas de controle Estruturas de controle As estruturas ou comandos de controle podem ser divididos em: seleção, iteração e desvios. Seleção ou condicional: fazem parte os comandos if e switch; Iteração ou laço: fazem parte os comandos while, for e do-while; Desvio ou salto: fazem parte os comandos break, continue, return e goto; Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 6. Estruturas de controle Estrutura de seleção O comando de seleção if executa uma ação ou um bloco de ações, quando uma condição é verdadeira, caso contrário a ação ou um bloco de ações do else (se existir) é executado. Sintaxe - if-else - comando simples if (expressão) comando; else comando; Sintaxe - if-else - bloco de comandos if (expressão){ Bloco de Comandos; } else { Bloco de Comandos; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 7. Estruturas de controle Sintaxe - if-else aninhados - comando único if (expressão) Comando; else if (expressão) Comando; else if (expressão) Comando; Sintaxe - if-else aninhados - bloco de comandos if (expressão) { Bloco de Comandos; } else if (expressão) { Bloco de Comandos; } else if (expressão) { Bloco de Comandos; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 8. Estruturas de controle Exemplo de estrutura de seleção composta. Média aritmética indicando aprovado e reprovado #include <stdio.h> int main (void){ float nota1, nota2, nota3, media; printf(“Digite as 3 notasn”); scanf(“%fn%fn%f”, &nota1, &nota2, &nota3); media = (nota1 + nota2 + nota3)/3; if (media>=7) { printf(“Aluno aprovadon”); printf(“A sua média é: %fn”, media); } else { printf(“Aluno reprovadon”); printf(“A sua média é: %fn”, media); } return 0; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 9. Estruturas de controle Seleção de múltipla escolha - switch A estrutura de seleção switch seleciona uma dentre um conjunto de condições associadas a uma sequência de valores. Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 10. Estruturas de controle Sintaxe - switch switch(expressão) { case Valor1: Sequência de comandos; break; /*comando que desvia a excução do programa para outra linha do código*/ case Valor2: Sequência de comandos; break; . . . default: Sequência de comandos; break; } Ex.: Calculadora com 4 operações #include <stdio.h> int main (void){ float numa, numb; char oper; printf(“Digite o 1o número o operador e o 2o númeron”); scanf(“%f%c%f”, &numa, &oper, &numb); switch(oper) { case ‘+’: printf(“A adição é: %2.2fn”, numa + numb); break; case ‘–’: printf(“A subtração é: %2.2fn”, numa – numb); break; case ‘*’: printf(“A multiplicação é: %2.2fn”, numa * numb); break; case ‘/’: printf(“A divisão é: %2.2fn”, numa / numb); break; default: printf(“Operação inválida!n”); break; } return 0; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 11. Estruturas de controle Estrutura de Iteração ou laço - for Controla o fluxo de execução, por meio de uma quantidade de repetições predefinidas. Sintaxe - laço for for(inicialização; condição; incremento) { Sequência de comandos; } Se houver apenas um comando, o bloco representado por { }, pode ser retirado. Em que: inicialização: atribui um valor a variável de controle; condição: indica uma expressão relacional que determina o fim do laço; incremento: defini a forma de variação da variável de controle a cada iteração. Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 12. Estruturas de controle Ex.: Média geral da turma #include <stdio.h> int main (void){ float mAno, mAnoTur, acum; int i; printf(“Digite a média da turma de 36 alunosn”); for(i=1;i<=36;i++){ scanf(“%f”,&mAno); acum = acum + mAno; } mAnoTur = acum/36; printf(“A média anual da turma é: %2.2fn”, mAnoTur); return 0; } Ex.: Laço infinito #include <stdio.h> int main (void){ char letra; printf(“Digite a letra L para sair do laçon”); for( ; ; ){ scanf(“%f”,&mAno); letra = getchar(); if (letra == ‘L’) break; /*sai do laço*/ } return 0; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 13. Estruturas de controle Estrutura de Iteração ou laço - while Controla o fluxo de execução, repetindo várias vezes uma mesma parte ou bloco de um programa. Sintaxe - laço while while(condição) { Sequência de comandos; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 14. Estruturas de controle Média geral da turma #include <stdio.h> int main (void){ float mAno, mAnoTur, acum = 0; int i = 1; printf(“Digite a média da turma de 36 alunosn”); while(i<=36){ scanf(“%f”,&mAno); acum = acum + mAno; i++; } mAnoTur = acum/36; printf(“A média anual da turma é: %2.2fn”, mAnoTur); return 0; } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 15. Estruturas de controle Estrutura de Iteração ou laço - do-while Controla o fluxo de execução, repetindo várias vezes uma mesma parte ou bloco de um programa, realizando o teste no final. Sintaxe - laço do-while do { Sequência de comandos; }while(condição); Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 16. Estruturas de controle Ex. 1: Média geral da turma #include <stdio.h> int main (void){ float mAno, mAnoTur, acum = 0; int i = 1; printf(“Digite a média da turma de 36 alunosn”); do { scanf(“%f”,&mAno); acum = acum + mAno; } while(++i <= 36); mAnoTur = acum/36; printf(“A média anual da turma é: %2.2fn”, mAnoTur); return 0; } Ex. 2: Especicifacação da porcentagem de vinho O algoritmo apresentado a seguir, especifica a porcentagem dos tipos de vinhos: tinto, branco e rosê. O algoritmo informa a quantidade de vinho desconhecida e para sair um finalizador Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 17. Estruturas de controle Ex. 2: Especicifacação da porcentagem de vinho #include <stdio.h> int main (void){ float pTin, pBra, pRos; //porcentagem de vinhos int conV = 0, conTin = 0, conBra = 0, conRos = 0; char tipV = ‘0’; //tipo de vinho printf (“Digite T (p/ tinto), B (p/ branco), R (p/ rosê) e S (p/ sair)n”); do{ scanf(“%c”,&tipV); switch(tipV){ case ‘T’: conTin += 1; case ‘B’: conBra += 1; case ‘R’: conRos += 1; } conV += 1; // incrementa o contador Ex. 2: continuação } while(tipV != ‘S’); //teste da condição de saida conV –= 1; // desconta o finalizador ‘S’ if(conV) { pTin = (conTin * 100) / conV; pBra = (conBra * 100) / conV; pRos = (conRos * 100) / conV; printf (“As % dos vinhos tinto, branco e rosê são, respectivamente:%2.2fn%2.2fn%2.2f”, pTin, pBra, pRos); } else printf (“Não foi informado nenhum tipo de vinho!n”); } Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 18. Estruturas de controle Comandos de desvio return: utilizado para retornar de uma função e caso algum valor esteja associado a este comando será também retornado. A sua forma é: return expressão; break: pode ser utilizado para finalizar case de um comando switch ou laço. A sua forma é: break; continue: realiza a execução do próximo comando. No caso de um laço faz este realizar a sua próxima iteração. A sua forma é: continue; Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I
  • 19. Estruturas de controle Comandos de desvio goto: caiu em desuso devido a tendência de deixar os programas ilegíveis. A sua forma é: goto rótulo; ... rótulo: Em que: rótulo corresponde a um rótulo válido. Exemplo de laço com goto: cont = 1; laco: scanf(“%f”,&mAno); acum = acum + mAno; cont++; if(cont<=36) goto laco; Prof. John Hebert S. Felix 5/1 UNILAB Técnicas de Programação I