Strona 1 z 1

schemat blokowy

: 4 maja 2022, o 09:52
autor: kasiaPR2
Cześć, potrzebuję pomocy z jednym schematem blokowym do zadania o poniższej treści:

Należy wczytać ciąg liczb rzeczywistych. Wczytywanie należy zakończyć, gdy pojawi się liczba ujemna. Dla każdej wczytanej liczby należy obliczyć jej kwadrat. Numer kolejny liczby, tę liczbę oraz jej kwadrat należy wyświetlić na ekranie.

Nie mam pojęcia o schematach blokowych, choć próbowałam nie raz :(
Mam nadzieję, że znajdzie się jakaś dobra dusza, potrzebuję to na lekcję informatyki.
Z góry dziękuję :) <3

Re: schemat blokowy

: 4 maja 2022, o 11:02
autor: Ponury123
Identyczna treść zadania jak tutaj
Wczytywanie liczb/ makrodefinicje

Wykonaj to co napisałem w podlinkowanym poście to Ci pomogę.

Re: schemat blokowy

: 4 maja 2022, o 11:13
autor: kasiaPR2
Rzeczywiście to samo zadanie. Program udało mi się napisać, lecz o schemacie blokowym nie mam pojęcia.

Kod: Zaznacz cały

#include <stdio.h>
#include <stdlib.h>

int main () 
{
  float x; unsigned int n = 1;
  for (;;) 
  {
  	printf ("Wprowadzaj kolejne liczby ciagu\n");
    scanf ("%f", &x);
    if (x < 0) break;
    printf ("%u\t%f\t%f\n", n++, x, x*x);
  }
  return 0;
}

Re: schemat blokowy

: 4 maja 2022, o 11:22
autor: Ponury123
W tytule masz schemat blokowy, czyli domyślam się, że to schemat Cię interesuje, a nie kod. W takim razie będziesz potrzebować dowiedzieć się jak oznacza się początek i koniec wykonywania programu, jak zaznaczyć instrukcję warunkową, jak reprezentowana jest pętla oraz jak zaznaczyć wykonywanie się instrukcji(wypisanie kwadratu liczby itd.).

To jest zadanie na 5 minut z wyszukiwaniem powyższych kroków w internecie, wykażcie choć trochę pracy własnej.

Dodano po 4 minutach 43 sekundach:
Ooo, nie sądziłem, że odpowiesz, kod wygląda dobrze, tylko używaj tagów code i zadbaj o formatowanie następnym razem, żeby było czytelniej. Schemat blokowy to prosta sprawa, rysuje się go po prostu i nie ma też jakiś bardzo sztywnych zasad co do jego tworzenia,

Kod: Zaznacz cały

pl.wikipedia.org/wiki/Schemat_blokowy
Schemat blokowy
tutaj masz wszystko czego potrzebujesz żeby takowy narysować, wyszukaj sobie też hasła jak schemat blokowy pętla/instrukcja warunkowa i znajdziesz przykłady jak to narysować.

Re: schemat blokowy

: 4 maja 2022, o 19:09
autor: kasiaPR2
Zrobiłam coś takiego, ale nie mam pewności czy jest dobrze...

Re: schemat blokowy

: 5 maja 2022, o 12:00
autor: Ponury123
Zamiast \(\displaystyle{ a(n)}\) dałbym \(\displaystyle{ n}\). Pętla powinna wracać przed blok wczytywania liczby(ew. do tego właśnie bloku), a nie za niego, wczytywanie liczby jest przecież w pętli. Mam też uwagę do bloków z incjalizacją i inkrementacją zmiennej \(\displaystyle{ i}\).
Jeśli zamieściłaś je tam bo chciałaś pokazać, że to pętla \(\displaystyle{ for}\) to nie dobrze. Schemat ma reprezentować koncepcję, więc pętla to pętla, sama wracająca strzałka wystarczy. Ale jeśli dodałaś tę zmienną tam bo ma ona reprezentować
Numer kolejny liczby
to dobrze - swoją drogą ten fragment polecenia jest dla mnie niejasny, nie wiem czy chodzi o n++ czy o numer_iteracji++, po Twoim kodzie widzę, że zinterpretowałaś to jako numer_iteracji++ i zdeklarowałaś jako unsigned int n = 1.

Więc wracając, jeśli zmienna \(\displaystyle{ i}\) reprezentuje numer iteracji, to dobrze, że dodałaś te dwa bloczki, ale należało by też dodać tę zmienną w bloku operacyjnym, czyli zamiast "Wyświetl: liczba ciągu, licznik, liczba ciągu * liczba ciągu" powinno być: "Wyświetl: \(\displaystyle{ n}\), \(\displaystyle{ i}\), \(\displaystyle{ n^{2} }\). Po to w schemacie definiujesz te zmienne aby później na nich operować. Osoba czytająca Twój schemat zrozumiałaby, że ma wczytać jakaś wartość do \(\displaystyle{ a(n)}\), a później głowiła by się co to jest ta cała liczba ciągu i licznik i co właściwie ma wyświetlić. W razie dalszych problemów pytaj śmiało.

Dodano po 32 minutach 17 sekundach:
Jeszcze blok z inicjalizacją zmiennej \(\displaystyle{ i}\) powinien być przed pętlą, inaczej w każdym kroku iteracji będzie przypisywana do niej wartość 1.