mirror of
https://gitlab.com/blau_araujo/cblc.git
synced 2025-05-09 18:16:37 -03:00
102 lines
2.2 KiB
Org Mode
102 lines
2.2 KiB
Org Mode
#+title: Curso Básico da Linguagem C
|
|
#+subtitle: Exercícios
|
|
#+author: Blau Araujo
|
|
#+startup: show2levels
|
|
#+options: toc:3
|
|
|
|
* Exercícios da aula 9: Argumentos e ambiente
|
|
|
|
- [[../../aulas/09-args/README.org][Anotações da aula]]
|
|
- [[https://youtu.be/uufnW60rg2Q][Vídeo]]
|
|
|
|
** 1. Desafio: Programa =listenv=
|
|
|
|
Crie um programa que liste as variáveis exportadas para seu ambiente de duas
|
|
formas:
|
|
|
|
*Sem argumentos:* lista todas as variáveis no ambiente...
|
|
|
|
#+begin_example
|
|
:~$ listenv
|
|
#+end_example
|
|
|
|
*Com nomes de variáveis:* lista apenas os valores das variáveis informadas...
|
|
|
|
#+begin_example
|
|
:~$ listenv VAR1 VAR2 ...
|
|
#+end_example
|
|
|
|
Para cada variável inexistente passada como argumento, imprimir na saída
|
|
padrão de erros (=stderr=)...
|
|
|
|
#+begin_example
|
|
:~$ listenv SHELL VAR2 VAR3
|
|
/bin/bash
|
|
VAR2 não está definida no ambiente
|
|
VAR3 não está definida no ambiente
|
|
#+end_example
|
|
|
|
** 2. Desafio: Programa =tconv=
|
|
|
|
Crie um programa que converta temperaturas segundo a sintaxe abaixo:
|
|
|
|
#+begin_example
|
|
tconv 23.4c Converte 23.4 graus Celsius para Fahrenheit
|
|
tconv 100f Converte 100 graus Fahrenheit para Celsius
|
|
#+end_example
|
|
|
|
#+begin_quote
|
|
A unidade deve ser indiferente à caixa de texto (~f = F~, ~c = C~).
|
|
#+end_quote
|
|
|
|
** 3. Desafio: Programa =2fer=
|
|
|
|
Crie um programa que, para cada =NOME= recebido como argumento, imprima:
|
|
|
|
#+begin_example
|
|
Um para NOME, um para mim.
|
|
#+end_example
|
|
|
|
Se nenhum nome for passado, imprimir:
|
|
|
|
#+begin_example
|
|
Um para você, um para mim.
|
|
#+end_example
|
|
|
|
** 4. Desafio: Programa =fatp=
|
|
|
|
Escreva um programa que imprima os fatores primos de um número inteiro positivo
|
|
maior do que 1 recebido como argumento.
|
|
|
|
#+begin_example
|
|
:~$ fatp 90
|
|
2 3 3 5
|
|
:~$ fatp 36
|
|
2 2 3 3
|
|
:~$ fatp 43
|
|
43 é primo!
|
|
#+end_example
|
|
|
|
|
|
** 5. Desafio: Programa =round=
|
|
|
|
Escreva um programa que, recebendo um número com ponto flutuante como argumento,
|
|
faça o seu arredondamento das seguintes formas:
|
|
|
|
#+begin_example
|
|
:~$ round 2.5
|
|
3
|
|
:~$ round 2.4
|
|
2
|
|
:~$ round -c 2.3
|
|
3
|
|
:~$ round -f 2.9
|
|
2
|
|
:~$ round -t 2.6
|
|
2
|
|
#+end_example
|
|
|
|
#+begin_quote
|
|
As opções =-t= (/truncate/), =-f= (/floor/) e =-c= (/ceil/) podem ser escritos antes ou
|
|
depois do número. As opções =-t= e =-f= são sinônimas.
|
|
#+end_quote
|