Melhor resposta
Depende da linguagem de programação. Meu favorito, o inglês simples, é uma linguagem mínima, mas prática, que tem apenas cinco tipos de afirmações:
• Definições de tipo, que sempre começam com A, AN ou ALGUM; • Definições de variáveis globais, que sempre começam com THE; • Cabeçalhos de rotina, que sempre começam com TO; • Declarações condicionais, que sempre começam com IF; e • Declarações imperativas, que começam com qualquer outra coisa.
Outra maneira de ver isso é:
Os programas, em termos simples, consistem em três coisas:
• Tipos, que informam ao compilador / interpretador quantos bytes algo irá ocupar na memória;
• Variáveis, que são instâncias reais de vários tipos na memória; e
• Rotinas (frequentemente chamadas de funções ou métodos ou algoritmos) que criam, manipulam e, eventualmente, descartam variáveis na memória
Mas três outras coisas são normalmente usadas na criação de programas:
• Um ambiente de desenvolvimento no qual os programas podem ser escritos e testados;
• Um linguagem de programação ; e
• Uma biblioteca padrão de tipos, variáveis e rotinas predefinidas que podem ser usadas em vez de escrever tudo do zero.
Aqui está um exemplo usando a linguagem de programação Plain English, mostrada no ambiente de desenvolvimento Plain English (clique para ampliar):
O ambiente de desenvolvimento inclui a interface do desktop, os menus alfabéticos, o editor de texto usado para editar o código e o compilador que traduz o código-fonte em código executável.
A linguagem de programação inclui instruções (em preto) e comentários (em azul). A maioria das linguagens de programação tem uma sintaxe mais matemática e são mais difíceis de ler e escrever.
A biblioteca padrão de tipos, variáveis e as rotinas, neste sistema, são chamadas de “macarrão” e foram abertas na segunda aba da esquerda na parte inferior da tela. Tipos como “nome” e “fonte” e variáveis como “a tela” e “a caneta verde” e rotinas como “coloque um nome e um tamanho em uma fonte” e “desenhe uma string no centro de uma caixa com uma caneta e uma fonte ”são definidos no Noodle.
Quando o comando Executar é executado (está no menu R), o código em inglês simples é compilado em um programa executável do Windows e o programa é iniciado . Esse processo (não trivial) é ilustrado aqui…
… e o resultado na tela fica assim:
Mais sobre a programação em inglês simples pode ser encontrada aqui:
A Ordem Osmosiana dos Programadores de Inglês Simples lhe dá as boas-vindas
E voila!
Resposta
As instruções de controle nos permitem especificar o fluxo de controle do programa; ou seja, a ordem em que as instruções em um programa devem ser executadas. Eles tornam possível tomar decisões, executar tarefas repetidamente ou pular de uma seção de código para outra.
Existem quatro tipos de instruções de controle em C:
- Declarações de tomada de decisão
- Declarações de seleção
- Declarações de iteração
- Declarações de salto
Declaração de tomada de decisão: a declaração if-else
A declaração if-else é usada para realizar um teste lógico e, em seguida, realizar uma de duas ações possíveis, dependendo do resultado do teste (ou seja, se o resultado é verdadeiro ou falso).
Sintaxe:
if (condition)
{
statements
}
else
{
statements
}
Se a condição especificado na declaração if avalia como verdadeiro, as declarações dentro do bloco if são executados e então o controle é transferido para a instrução imediatamente após o bloco if. Mesmo se a condição for falsa e nenhum bloco else estiver presente, o controle é transferido para a instrução imediatamente após o bloco if.
A parte else é necessária apenas se uma certa sequência de instruções precisar ser executada se a condição for avaliada como falsa. É importante notar que a condição é sempre especificada entre parênteses e que é uma boa prática colocar as instruções no bloco if ou no bloco else entre colchetes, seja uma instrução única ou uma instrução composta.
O programa a seguir verifica se o número inserido é positivo ou negativo.
#include
int main( )
{
printf("n Enter a number:");
scanf("\%d", &a);
if(a>0)
{
printf( "n The number \%d is positive.",a);
}
else
{
printf("n The number \%d is negative.",a);
}
return 0;
}
O programa a seguir compara duas strings para verificar se são iguais ou não.
#include
#include
int main( )
{
char a[20] , b[20];
printf("n Enter the first string:");
scanf("\%s",a);
printf("n Enter the second string:");
scanf("\%s",b);
if((strcmp(a,b)==0))
{
printf("nStrings are the same");
}
else
{
printf("nStrings are different");
}
return 0;
}
O programa acima compara duas strings para verificar se são iguais ou não. A função strcmp
é usada para esse propósito. É declarado no arquivo string.h
como:
int strcmp(const char *s1, const char *s2);
Ele compara a string apontado por s1
para a string apontada por s2
. A função strcmp
retorna um número inteiro maior, igual ou menor que zero, conforme a string apontada por s1
é maior que , igual ou menor que a string apontada por s2
.
Portanto, no programa acima, se as duas strings a
e b
são iguais, a função strcmp
deve retornar 0. Se retornar 0, as strings são as mesmas. ; caso contrário, eles são diferentes.
Instruções if e if-else aninhadas
Também é possível incorporar ou aninhar instruções if-else uma dentro da outra. O aninhamento é útil em situações em que um dos vários cursos de ação diferentes precisa ser selecionado.
O formato geral de uma instrução if-else aninhada é:
if(condition1)
{
// statement(s);
}
else if(condition2)
{
//statement(s);
}
.
.
.
.
else if (conditionN)
{
//statement(s);
}
else
{
//statement(s);
}
O acima também é chamado de escada if-else . Durante a execução de uma instrução if-else aninhada, assim que uma condição for encontrada avaliada como verdadeira, as instruções associadas a esse bloco if particular serão executadas e o restante das instruções if-else aninhadas serão ignoradas. Se nenhuma das condições for verdadeira, ou o último bloco else é executado ou se o bloco else estiver ausente, o controle é transferido para a próxima instrução presente imediatamente após a escada else-if.
O o programa a seguir usa a instrução if-else aninhada para encontrar o maior de três números.
#include
int main( )
{
int a, b,c;
a=6,b= 5, c=10;
if(a>b)
{
if(b>c)
{
printf("nGreatest is: " , a);
}
else if(c>a)
{
printf("nGreatest is: ", c);
}
}
else if(b>c) //outermost if-else block
{
printf("nGreatest is: " , b);
}
else
{
printf( "nGreatest is: " , c);
}
return 0;
}
O programa acima compara três quantidades inteiras e imprime a maior.A primeira instrução if compara os valores de a
e b
. Se a>b
for verdadeiro, o controle do programa será transferido para a instrução if-else aninhada dentro do bloco if, onde b
é comparado a c
. Se b>c
também for verdadeiro, o valor de a
será impresso; caso contrário, o valor de c
e a
serão comparados e se c>a
for verdadeiro, o valor de c
é impresso. Depois disso, o resto da escada if-else é contornado.
No entanto, se a primeira condição a>b
for falsa, o controle é transferido diretamente para o else mais externo bloco -if, onde o valor de b
é comparado com c
(como a
é não o maior). Se b>c
for verdadeiro, o valor de b
é impresso, caso contrário, o valor de c
é impresso . Observe o aninhamento, o uso de colchetes e o recuo. Tudo isso é necessário para manter a clareza.
Instrução de seleção: a instrução switch-case
Uma instrução switch é usado para seleções de múltiplas vias que se ramificarão em diferentes segmentos de código com base no valor de uma variável ou expressão. Esta expressão ou variável deve ser do tipo de dados inteiro.
Sintaxe:
switch (expression)
{
case value1:
code segment1;
break;
case value2:
code segment2;
break;
.
.
.
case valueN:
code segmentN;
break;
default:
default code segment;
}
O valor desta expressão é gerado durante a execução do programa ou lido como entrada do usuário. O caso cujo valor é igual ao da expressão é selecionado e executado. O rótulo opcional default é usado para especificar o segmento de código a ser executado quando o valor da expressão não corresponder a nenhum dos valores de caso.
A instrução break
está presente no final de cada caso. Se não fosse assim, a execução continuaria no segmento de código do próximo caso, mesmo sem verificar o valor do caso. Por exemplo, supondo que uma instrução switch
tenha cinco casos e o valor do terceiro caso corresponda ao valor da expressão . Se nenhuma instrução break estivesse presente no final do terceiro caso, todos os casos após o caso 3 também seriam executados junto com o caso 3. Se break estiver presente, apenas o caso necessário é selecionado e executado; depois disso, o controle é transferido para a próxima instrução imediatamente após a instrução switch. Não há break
após default
porque, após o caso padrão, o controle será transferido de qualquer forma para a próxima instrução imediatamente após a troca.
Exemplo: um programa para imprimir o dia da semana.
#include
int main( )
{
int day;
printf("nEnter the number of the day:");
scanf("\%d",&day);
switch(day)
{
case 1:
printf("Sunday");
break;
case 2:
printf("Monday");
break;
case 3:
printf("Tuesday");
break;
case 4:
printf("Wednesday");
break;
case 5:
break;
case 6:
printf("Friday");
break;
case 7:
printf("Saturday");
break;
default:
printf("Invalid choice");
}
return 0;
}
Este é um muito básico programa que explica o funcionamento da construção switch-case. Dependendo do número inserido pelo usuário, o caso apropriado é selecionado e executado.Por exemplo, se a entrada do usuário for 5, o caso 5 será executado. A instrução break
presente no caso 5 pausará a execução da instrução switch após o caso 5 e o controle será transferido para a próxima instrução após switch, que é:
return 0;
Também é possível embutir instruções compostas dentro do caso de uma instrução switch. Essas instruções compostas podem conter estruturas de controle. Portanto, também é possível ter um switch aninhado incorporando-o dentro de um case.
Todos os programas escritos usando a instrução switch-case também podem ser escritos usando a instrução if-else. No entanto, faz sentido para a programação usar a instrução if quando você precisar realizar alguma ação após avaliar alguma condição simples ou complexa que pode envolver uma combinação de expressões relacionais e lógicas (por exemplo, (if((a!=0)&&(b>5))
).
Se você precisar selecionar entre um grande grupo de valores, uma instrução switch será executada muito mais rápido do que um conjunto de ifs aninhados. A opção difere de if em que a opção só pode testar a igualdade, enquanto se pode avaliar qualquer tipo de expressão booleana.
A instrução switch deve ser usada quando é necessário fazer uma escolha a partir de um determinado conjunto de escolhas. A instrução switch case é geralmente usada em aplicativos baseados em menu . O uso mais comum de uma instrução switch-case é no manuseio de dados ou processamento de arquivo. A maior parte do tratamento de arquivos envolve funções comuns: criar um arquivo, adicionar registros, excluir registros, atualizar registros, imprimir o arquivo inteiro ou alguns registros seletivos. O programa a seguir dá uma ideia de como a instrução switch case pode ser usada no tratamento de dados. Não envolve o código para processamento de arquivo, pois podemos discutir o manuseio de arquivo em C somente depois de aprendermos conceitos avançados como ponteiros, estruturas e uniões.
Exemplo: Uma instrução switch case usada no processamento de arquivo de dados.
#include
int main()
{ //create file &set file pointer .
int choice;
printf("n Please select from the following options:");
printf("n 1. Add a record at the end of the file.");
printf("n 2. Add a record at the beginning of the file:");
printf("n 3. Add a record after a particular record:";
printf("nPlease enter your choice:(1/2/3)?");
scanf("\%d",&choice);
switch(choice)
{
case 1:
//code to add record at the end of the file
break;
case 2:
//code to add record at the beginning of the file
break;
case 3:
//code to add record after a particular record
break;
default:
printf("n Wrong Choice");
}
return 0;
}
Obrigado ..