Laboratorium 2 - Przecięcia zera

Zakres materiału

Kodowanie. Uruchamianie programu. Stałe symboliczne. Instrukcja pętli (while).

Przygotowanie do zajęć

Przed przystąpieniem do zajęć należy przygotować programy realizujące następujące funkcje:

Ponadto również:

Uwagi do wymagań wstępnych

W celu realizacji określonych powyżej wymagań:

Zadania do wykonania

Wskazówki

  1. Warto zauważyć, że do stwierdzenia faktu wystąpienia przecięcia zera, ze strumienia danych pomiarowych potrzebne są jedynie same wartości zmierzone. Oznacza to, że dane określające czas będą w procesie obliczeniowym pomijane. Można tego dokonać w ramach opracowywanego programu w języku C (co niekoniecznie będzie łatwe ze względu na dwoistość formatu czasu), lub też przed podaniem danych na wejście opracowywanego programu, przez odpowiednie ich sformatowanie. Takiego formatowania można dokonać np. w shellu, z poziomu terminala, przez wydanie odpowiedniej kombinacji poleceń catcut (przetwarzanie potokowe w systemie UNIX).

  2. Proszę zauważ, że do poprawnej identyfikacji wystąpienia w danym miejscu przecięcia zera potrzebne są jedynie dwie wartości z podawanej sekwencji i tyle tylko ze strumienia danych wejściowych należy zapamiętywać w programie - przecięcie następuje, jeśli te wartości są przeciwnych znaków.

  3. Zastanów się, co zaproponowany algorytm będzie robił, gdy przecięcie pojawi się na granicy pomiędzy kolejnymi grupami (np. ostatnia liczba w poprzedniej grupie dodatnia, pierwsza w następnej - ujemna) - takie przecięcie nie powinno zostać zaliczone do żadnej z grup.

Testy oprogramowania

Pamiętaj o rzetelnym przeprowadzeniu testów napisanego programu. To, że program działa, nie oznacza, że działa poprawnie. Zadbaj, by każdy z testów sprawdzał oddzielny aspekt działania algorytmu i został właściwie opisany w sprawozdaniu.

Sprawozdanie

Sprawozdanie powinno zawierać:

Pytania kontrolne

  1. Przypomnij, jakie bloki są wykorzystywane do tworzenia diagramu algorytmu, a jakie diagramu czynności.
  2. W jaki sposób deklaruje się w języku C stałe symboliczne? Podaj przykład.
  3. Jakiego typu powinna być zmienna pozwalająca na zapisanie wartości częstotliwości?
  4. W jaki sposób można wczytać liczbę z terminala do programu w C?
  5. Jak wygląda składnia instrukcji warunkowej if?
  6. Jak wygląda składnia instrukcji pętli while?
  7. Napisz instrukcję pętli while, która będzie zwiększała wartość zmiennej dopóki nie stanie się ona większa od 99.
  8. Zapisz instrukcję, która pozwoli na sprawdzenie, czy dane wejściowe programu są poprawne (mieszczą się w zadanym przedziale).
  9. Jak wygląda warunek stopu w rozważanym zadaniu?

About this document ...

This document was generated using the LaTeX2HTML translator Version 2008 (1.71)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -html_version 3.2,latin2,unicode -split 0 -no_navigation PProg_lab_02

The translation was initiated by Robert Muszynski on 2013-11-15


Robert Muszynski 2013-11-15