VKontakte Facebooku Świergot Kanał RSS

Zgodnie z algorytmem wyznaczania. Zrozumiałość algorytmu powoduje, że należy go zapisać przy użyciu. Nowoczesne spojrzenie na algorytmizację

Do wprowadzania danych w języku Turbo Pascal służą standardowe operatory (procedury) READ i READLN, które służą do odczytu danych zarówno z klawiatury, jak i z pliku. W tej sekcji opisano wyłącznie wprowadzanie danych z klawiatury. Dodanie znaków LN do instrukcji READ gwarantuje automatyczne przejście kursora do nowej linii po wprowadzeniu danych.

Format operatora:

CZYTAJ (a1,a2,a3,...,an);

Tutaj a1,a2,a3,...,an są zmiennymi, którym przypisywane są kolejno wartości. Jeżeli w tekście programu zostanie natrafiona instrukcja READ, komputer zatrzymuje się i czeka na wprowadzenie wartości zmiennych z klawiatury. Po wprowadzeniu wszystkich wartości zmiennych wymienionych w instrukcji wejściowej wykonywanie programu jest kontynuowane.

CZYTAJ;

który wykonuje znak nowej linii podczas wprowadzania danych.

Wprowadzając dane za pomocą instrukcji READ należy pamiętać o następujących podstawowych zasadach:

  • W Turbo Pascalu nie można wprowadzać danych logicznych;
  • Przy wprowadzaniu danych liczbowych liczby oddzielane są spacją lub końcem wprowadzanego znaku (klawisz ENTER). Wprowadzanie zawsze kończy się naciśnięciem klawisza Enter – ENTER;
  • spacje przed i pomiędzy liczbami są ignorowane, dlatego można je wstawiać w dowolnej ilości;
  • jeżeli zmienna jest zadeklarowana jako Integer, jej wartość jest wprowadzana jako liczba całkowita, tj. Niedopuszczalne jest użycie kropki po liczbie;
  • jeżeli zmienna jest opisana jako liczba rzeczywista (Real), a jej wartość jest liczbą całkowitą, to liczbę można wprowadzić jako liczbę całkowitą (czyli bez kropki) i jako liczbę rzeczywistą – z kropką. Konwersja liczby całkowitej na liczbę rzeczywistą zostanie wykonana automatycznie;
  • Wprowadzanie danych znakowych ma swoją specyfikę. Ponieważ spacja jest znakiem, jak każdy inny znak w języku Turbo Pascal, dane znakowe należy wprowadzać w postaci linii ciągłej;
  • Jednej zmiennej znakowej można przypisać wartość tylko jednego znaku;
  • naciśnięcie klawisza ENTER traktowane jest jak znak, dlatego do poprawnego wprowadzenia danych znakowych zaleca się poprzedzić każdy znakowy operator wprowadzania danych operatorem podziału wiersza READLN, tak aby były one wprowadzane od nowej linii.

ZADANIE. Wprowadzanie danych.

Program a4; Var a,b,c:liczba całkowita; (Zmienne typu Integer) x,y,z:real; (Zmienne typu rzeczywistego) s1,s2,s3:char; (Zmienne typu znakowego) Rozpocznij zapis („Wprowadź a, b, c:”); Odczytln(a,b,c); (Wprowadzanie liczb całkowitych: podczas wprowadzania nie można wstawiać kropki, można jednak wstawić dowolną liczbę spacji. Naciśnięcie klawisza Enter po wpisaniu wartości zmiennej c kończy instrukcję READLN.) Write(‚Enter x,y,z:’); Odczytln(x,y,z); (Wprowadzanie liczb rzeczywistych) Writeln(‚Wprowadź s1,s2,s3:’); Readln(s1,s2,s3);(Wprowadź wartości zmiennych symbolicznych. Dane wejściowe muszą być linią ciągłą.) Koniec.

Wprowadźmy do programu następujące dane wejściowe:

x=44,4, y=47,5, z=76

s1=’A’,s2=’B’,s3=’C’

Użyjmy symbolu, aby oznaczyć spację podczas wchodzenia. Wpisując liczby będziemy oddzielać je spacją. Pomiędzy liczbami może być dowolna liczba spacji. Wtedy ekran monitora podczas wprowadzania danych może wyglądać tak:

Wpisz a, b, c:23 (pomiędzy liczbami)

Wpisz x, y, z:44.447.576 (dozwolona jest dowolna liczba spacji)

Wpisz s1,s2,s3:A B C

Wyjście danych

Operator Write służy do wyprowadzania danych z pamięci komputera na ekran monitora.

Format operatora:

Napisz(a1,a2,a3,...,an);

Tutaj a1,a2,a3,...,an mogą być zmiennymi lub ciągiem znaków ujętych w apostrofy. Wszystkie elementy są wymienione oddzielone przecinkami. Dodanie znaków LN do instrukcji WRITE zapewnia automatyczne przejście kursora do nowej linii po wysłaniu danych.

Możliwe jest użycie operatora wejściowego bez parametrów

PISEMNE;

który wykonuje znak nowej linii, dzięki czemu kolejna instrukcja wyjściowa z parametrami wyprowadzi dane z nowej linii. Bezparametrowy operator wyjściowy jest często używany do tworzenia pustych ciągów.

Parametry operatora WRITE mogą być danymi całkowitymi, rzeczywistymi, logicznymi, znakowymi lub łańcuchowymi.

Położenie danych na ekranie monitora można określić parametrami instrukcji WRITE, wtedy wyjście nazywa się wyjściem z formatami danych. Jeśli w instrukcji WRITE nie są używane żadne formaty, wynik nazywany jest wyjściem bezformatowym lub wyjściem w formie standardowej.

Niesformatowane dane wyjściowe . Forma prezentacji danych wyjściowych zależy od typu danych:

  • Wartości logiczne są wyprowadzane jako wartości logiczne PRAWDA i FAŁSZ ;
  • wartości zmiennych symbolicznych są wyprowadzane jako odpowiadające im symbole;
  • stała znakowa jest wydawana w postaci zapisanej, ale bez apostrofów;
  • wartości wielkości typu całkowitego są wyprowadzane jako liczby całkowite;
  • wartości wielkości typu rzeczywistego są wyprowadzane w formacie zmiennoprzecinkowym.

W przypadku danych wyjściowych bez formatu przydzielona liczba pozycji jest równa rozmiarowi danych. Podczas wyświetlania symbolu przydzielana jest jedna pozycja; podczas wyświetlania liczby całkowitej liczba pozycji jest równa liczbie cyfr znaczących plus jedna pozycja na znak, jeśli liczba jest ujemna. Należy to wziąć pod uwagę przy sekwencyjnym wyprowadzaniu danych, takich jak liczby, aby wartości różnych zmiennych nie łączyły się ze sobą.

PRZYKŁAD. Spójrzmy na fragment programu:

var m,n:liczba całkowita; początek n:=1234; m:=7890; napisz(n,m); koniec.

Zapis operatora (n, m); Na ekranie monitora wyświetlane są liczby całkowite: n=1234 i m=7890. Ponieważ używane są dane wyjściowe bez formatów danych, wynik będzie wyglądał następująco:

Połączono dwa numery. Aby zapobiec łączeniu się liczb, należy zastosować spacje oddzielające lub rozdzielić informacje w różnych wierszach.

write(n,’ ,m);(spacja między liczbami)

Wynik:

1234 7890

Lub

Wynik:

1234

Formatuj wyjście . Aby wyprowadzić liczby rzeczywiste, należy w instrukcji WRITE podać format reprezentacji liczb, który ma postać:

PISAĆ(<переменная>:m:n);

gdzie: m jest liczbą całkowitą wskazującą całkowitą liczbę pozycji przypisanych do wartości zmiennej, w tym pozycję znaku liczby, kropki i liczby cyfr części ułamkowej; n – liczba całkowita określająca liczbę cyfr części ułamkowej.

Wyświetlane informacje są wyrównane do lewej strony. Eliminuje to drukowanie zer wiodących, tj. jeśli do wyświetlenia liczby przydzielono cztery pozycje, to na ekranie monitora wyświetli się np. 6, a nie 0006.

Przykład. Wypiszmy wartość zmiennej A równą 401,3 za pomocą operatora zapisu (A:8:2). Na ekranie monitora zostaną wyświetlone:

401,30
8 pozycji

Symbol oznacza spację.

Wyprowadzanie liczb rzeczywistych odbywa się według następujących zasad:

  1. Jeśli liczba jest krótsza niż m, zostanie dopełniona z lewej strony spacjami.
  2. Jeśli liczba jest dłuższa niż m, parametr m zostanie zignorowany i wydrukowana zostanie cała liczba.
  3. Jeśli część ułamkowa jest większa niż parametr n, liczba jest zaokrąglana. Zaokrąglenie nie zmienia wartości samej zmiennej, zmienia się jedynie reprezentacja liczby na monitorze.
  4. Jeśli parametr n nie zostanie podany, wówczas nie będzie wyprowadzana ani część ułamkowa liczby, ani kropka dziesiętna. Dane wyjściowe są w formacie zmiennoprzecinkowym.

Jako przykład rozważ wydrukowanie liczby rzeczywistej w różnych formatach.

zapis programu; var x:prawdziwy; rozpocznij x:=-12345.12345; writeln("Wydrukuj liczbę rzeczywistą":50); writeln("Drukuj w ustalonym formacie"); zapiszln(x:3:0); zapiszln(x:3:1); zapiszln(x:12:5); zapiszln(x:20:5); napisz; writeln("Drukuj w formacie zmiennoprzecinkowym"); napiszln(x); zapiszln(x:3); zapiszln(x:5); napiszln(x:15); napiszln(x:16); koniec.

Wynik programu:

Drukowanie liczby rzeczywistej

Druk w stałym formacie

Druk w formacie pływającym

1.2345123450E+04

1.234512345E+04

Aby wyprowadzić liczby całkowite, należy określić format reprezentacji liczb w instrukcji WRITE, który wygląda następująco:

PISAĆ(<переменная>:k);

Gdzie:

k – liczba całkowita wskazująca całkowitą liczbę pozycji przypisanych do wartości zmiennej.

Liczby całkowite nie mają części ułamkowej, dlatego nie ma potrzeby podawania liczby miejsc ułamkowych w formacie.

10. Operatory wejścia i wyjścia

Rozważmy organizację wejścia i wyjścia danych z urządzenia końcowego.

roje. Urządzenie końcowe to urządzenie, z którym współpracuje

użytkownika, zwykle ekran (wyświetlacz) i klawiaturę.

Do wprowadzania i wyprowadzania danych stosowane są standardowe procedury wejściowe

oraz dane wyjściowe odczytu i zapisu działające na standardowych plikach sekwencyjnych

WEJŚCIE i WYJŚCIE.

Pliki te są podzielone na linie o zmiennej długości, oddzielone każdą linią

od siebie znakiem końca linii. Koniec linii określa się naciśnięciem klawisza

Do wprowadzenia danych źródłowych wykorzystywane są operatory procedur wejściowych:

Czytaj(A1,A2,...AK);

CzytajLn(A1,A2,...AK);

Pierwsza z nich polega na odczytaniu wartości K danych źródłowych i zastosowaniu

przypisując te wartości zmiennym A1, A2,..., AK. Drugi operator

implementuje odczyt wartości K danych źródłowych z pominięciem pozostałych wartości

aż do początku kolejnej linii, przypisując odczytane wartości do

zmienna A1, A2, ..., AK. Trzeci operator implementuje pomijanie linii za pomocą

działające dane.

Podczas wprowadzania danych źródłowych następuje transformacja z zewnątrz

formę reprezentacji na postać wewnętrzną, zdeterminowaną rodzajem zmiennych. Pe-

Zmienne tworzące listę wejściową mogą należeć do liczby całkowitej,

albo typy rzeczywiste, albo znakowe. Czytając oryginał

Typ danych Boolean nie jest dozwolony w języku PASCAL.

Instrukcje wejściowe podczas odczytywania wartości zmiennych całkowitych i zmiennych

typ rzeczywisty pomija spacje poprzedzające liczbę.

Jednocześnie operatory te nie pomijają spacji poprzedzających wartość.

wartości zmiennych znakowych, ponieważ spacje są równe

ciąg znaków. Przykład pisania instrukcji wejściowych:

var rV, rS: Rzeczywiste;

iW, iJ: liczba całkowita;

................

Odczyt(rV, rS, iW, iJ);

Wartości danych źródłowych można oddzielić spacjami

i naciśnięcie klawiszy Tab i Enter.

Aby wyświetlić wyniki programu na ekranie, użyj

operatorzy:

Zapis(A1,A2,...AK);

ZapisLn(A1,A2,...AK);

Pierwszy z tych operatorów implementuje wyjście wartości zmiennych A1,

Linia A2,...,AK ekranu Drugi operator realizuje wyjście

wartości zmiennych A1, A2,..., AK i przejście na początek następnego

kwestia. Trzeci operator implementuje pominięcie linii i przejście na początek

następna linia.

Zmienne tworzące listę wyjściową mogą odnosić się do liczby całkowitej,

typu rzeczywistego, znakowego lub logicznego. Jako element

Na liście wyjściowej oprócz nazw zmiennych można używać wyrażeń

i linie.

Każda wartość jest wyprowadzana do wiersza ekranu zgodnie z

w zależności od szerokości pola wyjściowego specyficznej dla implementacji

Forma prezentacji wartości w polu wyjściowym odpowiada typowi

wyrażenia i wyrażenia: wartości typu całkowitego są wyprowadzane jako całe dziesiątki

liczby rzeczywiste - jak prawdziwe ułamki dziesiętne

liczby w kolejności dziesiętnej, rodzaj znaku i ciągi znaków - w postaci symboli

woły, typ logiczny - w postaci stałych logicznych PRAWDA i FAŁSZ.

Operator wyjściowy umożliwia ustawienie szerokości pola wyjściowego dla każdego z nich

W tym przypadku element listy wyjściowej

element listy wyjściowej ma postać A:K, gdzie

A - wyrażenie lub ciąg znaków, K - wyrażenie lub stała liczba całkowita.

Jeżeli wartość wyjściowa zajmuje mniej pozycji w polu wyjściowym niż K,

wówczas wartość ta jest poprzedzona spacjami. Jeśli wartością wyjściową jest

nie mieści się w szerokość pola K, to dla tej wartości będzie otwór

podana jest wymagana liczba stanowisk. Dla prawdziwych wartości

element listy wyjściowej może mieć postać A:K:M, gdzie A jest zmienną lub wyrażeniem

określenie aktualnego typu, K - szerokość pola wyjściowego, M - liczba cyfr

część ułamkowa wartości wyjściowej. K i M są wyrażeniami lub stałymi

typ całkowity. W tym przypadku rzeczywiste wartości są wyprowadzane w formularzu

liczba dziesiętna stałoprzecinkowa.

Przykład pisania instrukcji wyjściowych:

. . . . . . . . . . . .

var rA, rB: Real;iP,iQ:Integer;

bR, bS: Boolean;chT, chV, chU, chW: Char;

. . . . . . . . . . . .

ZapiszLn(rA, rB:10:2);

ZapisLn(iP, iQ:8);

ZapiszLn(bR, bS:8);

Jak zorganizowane jest wejście/wyjście danych z urządzenia końcowego? Na początek (kto nie wie) zdefiniujmy urządzenie końcowe. Urządzeniem końcowym jest klawiatura, wyświetlacz, tj. z czym zwykle pracuje użytkownik. Które istnieją? Pascalowe operatory wejścia/wyjścia?

Wprowadzanie danych Pascal:

Jak wprowadzać dane w Pascalu? Bardzo łatwe i proste! Wprowadzanie danych początkowych w Pascalu odbywa się za pomocą procedury readln:

czytajln(b1,b2,…,bk)

W tym przykładzie procedura readln wczytuje k wartości danych źródłowych i przypisuje te wartości zmiennym b1, b2,..., bk nową linią (podobna procedura read różni się od readln tym, że nie nie przechodź do następnej linii). Kiedy wprowadzamy dane w Pascalu, następuje swoista transformacja formy zewnętrznej w wewnętrzną, o której decyduje rodzaj zmiennych.

Zmienne zawarte na liście wejściowej mogą być powiązane różne typy: cały, realny, symboliczny. Jednakże odczytywanie danych boolowskich nie jest dozwolone w Pascalu. Dane źródłowe (czyli ich wartości) oddziela się od siebie poprzez naciśnięcie klawiszy Enter, Tab, spacji (przy wprowadzaniu danych niedopuszczalne jest oddzielanie liczb przecinkami).

Dane wyjściowe w formacie Pascal:

Porozmawiajmy teraz o wyjściu danych w Pascalu. Aby wyświetlić wynik programu na ekranie, zwykle stosujesz dwie procedury:

napisz(b1,b2,…bk)— wyprowadza wartości zmiennych b1, b2,…, bk na linię ekranu.

writeln(b1,b2,…, bk)- powoduje zarówno wyświetlenie danych na ekranie, jak i przejście do początku następnej linii.

Procedurę writeln można zastosować bez parametrów i po prostu pomija oryginalną linię i przechodzi na początek następnej. Na liście wyjściowej zmienne mogą być kilku typów: całkowite, rzeczywiste, znakowe lub logiczne. Elementy listy wyjściowej obejmują także wyrażenia i ciągi znaków. Forma prezentacji wartości w polu wyjściowym odpowiada typowi zmiennych i wyrażeń:

  • wartości całkowite są wyprowadzane jako liczby całkowite dziesiętne,
  • wartości typu rzeczywistego są reprezentowane jako liczby dziesiętne rzeczywiste z wykładnikiem dziesiętnym,
  • wartości typu znakowego i ciągi znaków są wyprowadzane jako znaki,
  • wartości typu logicznego – w postaci prawdy i fałszu (stałe logiczne).

Operator wyjściowy tworzy możliwość ustawienia szerokości pola wyjściowego dla każdego elementu listy wyjściowej, która będzie wyglądać następująco: A:K, gdzie A jest ciągiem znaków lub wyrażeniem, K jest wyrażeniem lub stałą całkowitą. W tym przypadku zachodzą dwie sytuacje:

  1. Jeżeli wartość wyjściowa zajmuje mniej pozycji w polu wyjściowym niż K, przed nią umieszcza się spacje.
  2. Jeżeli wartość nie mieści się w polu K, wówczas zostaje ona przypisana wymagana ilość pozycje.

Element listy wyjściowej dla wartości typu rzeczywistego może mieć postać: A:K:M, gdzie A jest wyrażeniem typu rzeczywistego lub zmienną, K jest szerokością pola wyjściowego (wyrażeniem lub stałą), M to liczba cyfr części ułamkowej wartości wyjściowej (wyrażenie lub stała). W tej sytuacji rzeczywiste wartości zostaną wypisane jako liczba dziesiętna z punktem stałym. Wyobraźmy sobie przykład pisania instrukcji wyjściowych:



2024 O komforcie w domu. Gazomierze. System ogrzewania. Zaopatrzenie w wodę. System wentylacji