Escolar Documentos
Profissional Documentos
Cultura Documentos
Este trabalho est licenciado sob uma Licena Creative Commons Atribuio-Uso No-Comercial-Compartilhamento.
ndice
Motivao ............................................................................................................................ ii I Iniciao aos programas em C ....................................................................................1 1 rea e permetro de circunferncias (Ficha 1 Exerccio 1)......................................1 2 rea e volume de esferas (Ficha 1 Exerccio 2).....................................................1 3 Troca de valores (Ficha 1 Exerccio 3)....................................................................2 4 Coverso de segundos (Ficha 1 Exerccio 4)..........................................................2 5 Converso de horas (Ficha 1 Exerccio 5) ..............................................................3 6 Distncia da trovoada (Ficha 1 Exerccio 6)............................................................3 7 Altura de precipcios (Ficha 1 Exerccio 7) ..............................................................4 II Instruo de seleco simples ...................................................................................5 8 Converso (Ficha 2 Exerccio 1) .............................................................................5 9 Calculadora bsica (Ficha 2 Exerccio 2) ................................................................5 10 Classificao qualitativa (Ficha 2 Exerccio 3) .....................................................6 11 Nota mnima (Ficha 2 Exerccio 4) ........................................................................7 12 Localizao do ponto (Ficha 2 Exerccio 5)...........................................................8 13 Frmula Resolvente (Ficha 2 Exerccio 6) ............................................................9
ii
Motivao
Edsger Wybe Dijkstra (1930 2002) foi um dos mais influentes membros da sua gerao nas cincias informticas, tendo sido fundamental a sua contribuio cientfica em algumas reas, como seja: Desenho de algoritmos; Linguagens de programao; Sistemas operativos; Processamento distribudo.
Dijkstra sempre se envolveu na problemtica do ensino e nas relaes entre a cincia informtica e a indstria de software, sendo uma referncia para quem procura ensinar com qualidade, tcnica e profissionalmente, temas abrangidos pelas cincias informticas. O excerto seguinte foi retirado da aula de apresentao de um curso leccionado por Dijkstra, e reflecte o meu pensamento enquanto professor de Linguagens de Programao (os destaques so meus).
[] I think it wise, and only honest, to warn you that my goal is immodest. It is not my purpose to transfer knowledge to you that, subsequently, you can forget again. My purpose is no less than to effectuate in each of you a noticeable, irreversible change. [] I want you to gain, for the rest of your lives, the insight that beautiful proofs are not found by trial and error but are the result of a consciously applied design discipline. I want to inspire you to raise your quality standards. I mean, if 10 years from now, when you are doing something quick and dirty, you suddenly visualize that I am looking over your shoulders and say yourself Dijkstra would not have liked this, well, that would be enough immortality for me. Your obligation is that of active participation. You should not act as knowledge-absorving sponges, but as whetstones on witch we can all sharpen our wits. If you dont understand me, ask for clarification; if I am going too fas, slow me down. [] Austin, Texas, 30 August 1995
TGPSI PSI: Introduo Programao e Algoritmia // segs que sobram qtdSegs = qtdSegs % 60; // converso em horas qtdHrs = qtdMins / 60; // mins que sobram qtdMins = qtdMins % 60; // converso em dias qtdDias = qtdHrs / 24; // horas que sobram qtdHrs = qtdHrs % 24; //output da converso printf("%d dias, %02d horas, %02d mins e %02d segs", qtdDias, qtdHrs, qtdMins, qtdSegs); // terminar o programa return 0; }
TGPSI PSI: Introduo Programao e Algoritmia // corpo do programa int main() { // input dos segs printf("Indique quantos segundos passaram desde o relampago: "); scanf("%d", &qtdSegs); // calculo da distancia em [m] dist = SPEED_SOUND * qtdSegs; // converso para Km e m distKm = dist / 1000; distM = dist % 1000; //output da distancia printf("A trovoada esta a %d Km e %03d m\n", distKm, distM); // terminar o programa return 0; }
TGPSI PSI: Introduo Programao e Algoritmia // corpo do programa int main() { // input dos valores e da operao printf("Introduza os valores e a operacao (ex.: 2+3): "); inputs = scanf("%d%c%d", &num1, &oper, &num2); // validao do formato if(inputs < 3) printf("Formato invalido!\n"); else { // validaao da operao if(oper != '+' && oper != '-' && oper != '*' && oper != '/') printf("Operacao invalida!\n"); else { // clculos if(oper == '+') result = num1 + num2; else if(oper == '-') result = num1 - num2; else if(oper == '/') result = num1 / num2; else result = num1 * num2; // output dos resultados printf("%d %c %d = %d\n", num1, oper, num2, result); } } // terminar o programa return 0; }
TGPSI PSI: Introduo Programao e Algoritmia else if(nota <= 12) printf("Medio.\n"); else if(nota <= 17) printf("Bom.\n"); else printf("Muito bom!\n"); } else printf("Nota invalida!\n"); // terminar o programa return 0; }