Tablice. TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji VAR:
|
|
- Konrad Michałowski
- 8 lat temu
- Przeglądów:
Transkrypt
1 Tablice Tablica jest to struktura danych zawierająca pewien uporządkowany zbiór obiektów tego samego typu. Tablice jednowymiarowe odpowiadają wektorom, natomiast tablice dwuwymiarowe macierzom. Elementy tablicy oznakowane są za pomocą indeksów. Tablica stanowi- więc pewien typ strukturalny, zwany typem tablicowym. Tablicę tworzymy za pomocą słowa kluczowego ARRAY. Zdefiniowanie typu tablicowego ma postać: TYPE identyfikator tablicy = ARRAY [Indeksl,..., Indeksn] OF Typ; Dany identyfikator_ tablicy można wykorzystać w deklaracji : Nazwa_zmiennej : identyfikator_ tablicy; Indeks oznacza liczbę elementów. Zawiera on kres dolny i górny, czyli zakres tablicy. Jeśli podany jest tylko jeden indeks, to tablica jest jednowymiarowa, na przykład: TYPE Dane = ARRAY [1..10] OF INTEGER; Zdefiniowano typ tablicowy identyfikujący tablicę jednowymiarową zawierającą 10 elementów. Dany identyfikator tablicy Dane wykorzystany zostanie w deklaracji : TAB : Dane; W powyższym zapisie jest zadeklarowana tablica TAB. Jeśli tablica zawiera więcej indeksów, na przykład dwa, to jest ona dwuwymiarowa: TYPE Dane_l = ARRAY [1..5,1..7] OF REAL; (...) Liczby : Dane_l; Zadeklarowano tablicę dwuwymiarową Liczby zawierającą 5 wierszy (1...5) i 7 kolumn (1...7) z elementami w postaci liczb rzeczywistych. Tablicę Liczby można zadeklarować również bezpośrednio za pomocą deklaracji, jak to przedstawiono poniżej: Dane_1 = ARRAY [1..5,1..7] OF REAL; Jeśli oznaczymy wiersze jako zmienną i (i = l,...,i) oraz kolumny jako zmienną j (j= l,...,j), to element w tablicy na przecięciu i-tego wiersza i j-tej kolumny ma oznaczenie: Identyfikator_tablicy [i, j] Dla określenia elementu znajdującego się w tablicy o identyfikatorze Liczby na przecięciu 2 wiersza i 3 kolumny użyjemy następującego zapisu: Liczby[2, 3] Nadawanie wartości elementom tablicy odbywa się przez przypisanie im pewnej wartości, na przykład: Liczby[3, 5]:=25; W powyższym zapisie elementowi tablicy Liczby znajdującemu się na przecięciu 3 wiersza i 5 kolumny przypisano wartość 25. Nadawanie wartości elementom tablicy może również odbywać się poprzez wczytywanie tych wartości z zewnątrz, np. za pomocą jednej z instrukcji powtórzeń. Bardzo często do tego celu wykorzystuje się instrukcję FOR. Ćwiczenie 76 Napisać program realizujący wprowadzanie liczb całkowitych do tablicy jednowymiarowej o n elementach, a następnie wydrukowanie jej zawartości. Przyjąć dla tablicy maksymalny rozmiar n_max=20 elementów. Do wprowadzania i drukowania danych z tablicy zastosować procedury. Tytuł programu Tablica_jednowymiarowa". Zapisać program na dysku w pliku o nazwie table_1.pas. W bloku deklaracyjnym po słowie kluczowym CONST określić należy maksymalny rozmiar tablicy, tj. n_max=20;
2 Po słowie kluczowym TYPE zdefiniować należy typ tablicowy identyfikujący tablicę jednowymiarową zawierającą n_max elementów: TYPE Dane = ARRAY [l..n_max] OF INTEGER; Następnie po słowie zadeklarować należy zmienną n, służącą do sterowania wprowadzaniem liczby elementów oraz tablicę TAB. n : INTEGER; T_l :Dane; Do wczytywania danych zastosujemy instrukcję FOR. Wczytujemy dane element po elemencie do tablicy jednowymiarowej przy zastosowaniu procedury Wprowadzanie. Wyprowadzanie danych następuje w procedurze Odczyt_tablicy wykorzystującej również instrukcję FOR. Obie procedury wykorzystują zmienną globalną n. PROGRAM Tablica_jednowymiarowa; * CONST n_max=20; (* maksymalna liczba elementów *) TYPE Dane = ARRAY [l..n_max] OF INTEGER; n : INTEGER; T_1 :Dane; (****************************************) PROCEDURE Wprowadzanie ( T: Dane); i : INTEGER; (* zmienna kontrolna *) Writeln (' Wprowadzanie danych do tablicy '); Write (' Podaj liczbę elementów (n<=20), n= '); Readln (n); Write (' Podaj elementy tablicy w kolejności'); FOR i:=1 TO n DO Write('element nr= ',i,', T_1[', i,' ] = '); Readln (T[i]); (******************************************) PROCEDURE Odczyt_tablicy ( T: Dane); i: INTEGER; (* zmienna kontrolna *) Write (' Odczytaj elementy tablicy w kolejności'); FOR i:=1 TO n DO Write (' element nr = *,i,', T_l[',i,' ] = '); Writeln (T[i]) (***********************************) ClrScr;
3 Wprowadzanie (T_1); Odczyt_tablicy (T_1); REPEAT UNTIL KeyPressed END. Ćwiczenie 77 Napisać program realizujący wprowadzanie liczb całkowitych do tablicy jednowymiarowej o n elementach, a następnie wydrukowanie jej zawartości w odwrotnej kolejności. Do wprowadzania i drukowania danych z tablicy zastosować procedury. Tytuł programu Tablica_odwrotna". Zapisać program na dysku w pliku o nazwie table_2.pas. Ćwiczenie 78 Napisać program sprawdzający czy w danej tablicy jednowymiarowej znajdują się jednakowe elementy. Program ma drukować te elementy i podawać ich pozycję. Do wprowadzania i drukowania danych z tablicy oraz wyszukiwania jednakowych elementów zastosować procedury. Tytuł programu Tablica _elementy". Zapisać program na dysku w pliku o nazwie table_3.pas. Uwaga: Przy sprawdzaniu elementów tablicy kolejność postępowania jest następująca: najpierw porównywana jest liczba pierwsza z drugą, następnie pierwsza z trzecią itd. Jeśli porównamy liczbę pierwszą ze wszystkimi liczbami, to należy również porównywać liczbę drugą ze wszystkimi liczbami, ale za wyjątkiem pierwszej. Operację porównywania przeprowadza się dla każdej liczby porównując ją ze wszystkimi liczbami poczynając od liczby następnej. Ćwiczenie 79 Napisać program realizujący wprowadzanie liczb całkowitych do tablicy o wymiarach m x n (m - liczba wierszy, n - liczba kolumn) oraz wydrukowanie jej zawartości. Przyjąć dla tablicy następujące maksymalne rozmiary: w_max=10 i k_max=10. Do wprowadzania i drukowania danych zastosować procedury. Tytuł programu Tablica_dwuwymiarowa". Zapisać program na dysku w pliku o nazwie table _4.pas. W bloku deklaracyjnym po słowie kluczowym CONST określamy maksymalny rozmiar tablicy, tj. CONST w_max=10; (* w_max - max liczba wierszy *) k_max=10; (* k max - max liczba kolumn *) Po słowie kluczowym TYPE definiujemy typ tablicowy. Tablica jest dwuwymiarowa o liczbie wierszy odpowiadającą stałej w_max (10), zaś liczba kolumn odpowiada stałej k_max (10). TYPE Dane = ARRAY [1..w_max, 1..k_max] OF INTEGER; Po uruchomieniu programu w pamięci komputera zostanie zarezerwowane miejsce dla tak określonej tablicy. Następnie po słowie kluczowym zadeklarować należy zmienne m oraz n, które służą do wprowadzania aktualnych wartości liczb wierszy i kolumn wraz z typami oraz tablicę TAB. m,n : INTEGER; TAB :Dane; Do wczytywania danych zastosujemy instrukcję FOR. Wczytujemy dane wiersz po wierszu do tablicy dwuwymiarowej przy zastosowaniu procedury Wprowadzanie. Wyprowadzanie danych następuje w procedurze Odczyt_tablicy wykorzystującej również instrukcję FOR. Obie procedury wykorzystują zmienne globalne m i n. PROGRAM Tablica_dwuwymiarowa; CONST w max =10; (* maksymalna liczba wierszy *) k_max=10; (* maksymalna liczba kolumn *) TYPE Dane = ARRAY [l..w max, l..k max] OF INTEGER; m,n : INTEGER; TAB :Dane; (**********************************************************************)
4 PROCEDURE Wprowadzanie ( T:Dane); i, j : INTEGER; (* zmienna kontrolna *) Writeln (' Wprowadzanie danych do tablicy '); Write (' Podaj liczbę wierszy (m<=10), m= '); Readln (m); Write (' Podaj liczbę kolumn (n<=10), n= '); Read (n); Write (' Podaj elementy tablicy w kolejności'); Writeln (' wiersz po wierszu '); FOR i:=1 TO m DO FOR j:=1 TO n DO Write (' w= ',i, ' k= ',j,', TAB[',i, ', ',j, ']= '); Readln (T[i,j]); (*******************************************) PROCEDURE Odczyt tablicy ( T:Dane); i j :INTEGER; (* zmienna kontrolna *) Write (' Odczytaj elementy tablicy w kolejności'); Writeln (' wiersz po wierszu '); FOR i:=1 TO m DO FOR j:=1 To n DO Write(' w= ',i,', k= ',j,', TAB[',i,','j,'] = '); Writeln (T[i,j]) (***********************************************) ClrScr; Wprowadzanie (TAB); Odczyt_tablicy (TAB); REPEAT UNTIL KeyPressed END. Ćwiczenie 80 Napisać program realizujący wprowadzanie liczb całkowitych do tablicy o wymiarach m x n (m - liczba wierszy, n - liczba kolumn) oraz wydrukowanie jej zawartości w kolejności kolumna po kolumnie. Przyjąć dla tablicy następujące maksymalne rozmiary: w_max=15 i k_max=15. Do wprowadzania i drukowania danych z tablicy zastosować procedury. Tytuł programu Kolumna_po_kolumnie". Zapisać program na dysku w pliku o nazwie table_5.pas. Ćwiczenie 81 Napisać program realizujący znajdowanie sumy elementów w określonym wierszu tablicy dwuwymiarowej. Do wprowadzania, obliczania sumy i drukowania danych z tablicy zastosować procedury. Tytuł programu Suma_elementow_w_wierszu". Zapisać program na dysku w pliku o nazwie tablejs.pas. Ćwiczenie 82 Napisać program realizujący zamianę dwóch wskazanych wierszy tablicy dwuwymiarowej. Do wprowadzania, zamiany wierszy i drukowania danych z tablicy zastosować procedury. Tytuł programu Zamiana _wierszy". Zapisać program na dysku w pliku o nazwie table_7.pas. Uwaga: Zamiany dwóch wskazanych wierszy można dokonać w pętli FOR. Jeśli przyjmie się oznaczenia:
5 j - bieżąca kolumna, n - liczba elementów wiersza, wl - numer pierwszego wiersza do zamiany, w2 - numer drugiego wiersza do zamiany, z_p - zmienna pomocnicza, to można już przedstawić zamianę wierszy za pomocą następującej konstrukcji: FOR j:=1 TO n DO p:=tab[w1,j]; TAB[w1,j]:=TAB[w2,j]; TAB[w2,j] : = z _p; Najpierw zostaje wzięty pierwszy element wiersza w1 i przepisany do zmiennej z_p. Następnie pierwszy element wiersza w2 zostaje przepisany na pierwsze miejsce (wcześniej zwolnione) wiersza w1. Ze zmiennej pomocniczej z_p wpisujemy element na miejsce pierwsze wiersza w2. Ten sposób działania powtarzany jest w pętli dla każdego elementu zaznaczonych wierszy. Funkcja losowa RANDOM Funkcja losowa RANDOM wyprowadza wartość liczby losowej. W przypadku podania argumentu Zakres wynikiem działania funkcji będzie liczba całkowita z przedziału O...Zakres -1. Jeżeli argument ten został pominięty, wynikiem będzie liczba rzeczywista z przedziału Pierwsze wywołanie funkcji RANDOM musi być poprzedzone wywołaniem procedury RANDOMIZE. Przykładowy zapis funkcji RANDOM: RANDOMIZE; i:=random (6); Losujemy liczby całkowite z przedziału Wylosowana liczba podstawiana jest pod zmienną i. Ćwiczenie 91 Napisać program symulujący 20 rzutów monetą i obliczający liczbę wyrzuconych orłów i reszek. Program ma tytuł Rzut_moneta_1". Zapisać program na dysku w pliku o nazwie moneta_1.pas. Przyjmijmy oznaczenia: ORZEŁ - zmienna przechowywująca liczbę wyrzuconych orłów, RESZKA - zmienna przechowywująca liczbę wyrzuconych reszek przedział liczb całkowitych do losowania, gdzie 0 oznacza wylosowanego orła, a 1 wylosowaną reszkę. Pierwsze wywołanie funkcji RANDOM poprzedzi wywołanie procedury RANDOMIZE. Zapis funkcji RANDOM: m:=random (2); Cały program został przedstawiony poniżej: PROGRAM Rzut_moneta; i, ORZEŁ, RESZKA, x : INTEGER; Tak_Nie : CHAR; CONST n=20; (******************************************************)
6 REPEAT ClrScr; RANDOMIZE ; ORZEL:=0; RESZKA:=0; FOR i:=l TO n DO x:=random(2); IF x=0 THEN ORZEL:=ORZEL+l ELSE RESZKA:=RESZKA+1; Writeln (' Losowy rzut moneta '); Writeln (' Moneta rzucano ', i,' razy '); Writeln (' Wylosowano orla...', ORZEL:2 razy'); Writeln (' Wylosowano reszke..reszka:2,' razy'); Writeln (' Jeszcze raz?(t)ak'); Tak Nie:=UpCase(ReadKey) UNTIL NOT (Tak_Nie='T') END. Ćwiczenie 92 Uruchomić program Turbo Pascal. Napisać program symulujący losowanie 20 liczb z 80. Program ma tytuł Multi_lotek_1". Zapisać program na dysku w pliku o nazwie multi_1.pas. Z tablicy Liczby będą losowane liczby. Wylosowane zostaną usunięte, aby ich ponownie nie losować. Usuwanie wylosowanej liczby odbywa się za pomocą konstrukcji: FOR n:=nr_los TO 79-i DO natomiast przesuwanie pozostałych liczb do przodu za pomocą konstrukcji: Liczby [n]: =Liczby [n+1]; Cały program został przedstawiony poniżej: PROGRAM Toto_Multi_Lotek; TYPE t_zakres = 0..80; (* zakres liczb w totku; zero dodatkowo z uwagi na sortowanie z wartownikiem *) CONST (* Z tej tablicy będziemy losowali liczby; wylosowane usuwamy, aby ich ponownie nie losować *) Liczby : ARRAY[1..80] OF t_zakres = (1, 2, 3, 4, 5, 6, 7, 8, 9,10, 11,12,13,14,15,16,17,18,19,20, 21,22,23,24,25,26,27,28,29,30, 31,32,33,34,35,36,37,38,39,40, 41,42,43,44,45,46,47,48,49,50, 51,52,53,54,55,56,57,58,59,60, 61,62,63,64,65,66,67,68,69,70, 71,72,73,74,75,76,77,78,79,80); i, j, nr_los, n, x : t_zakres; wylosowane : ARRAY [0..20] OF t_zakres; (***************************************)
7 ClrScr; Randomize; (* losujemy liczby *) FOR i:=1 TO 20 DO nr_los:=random(80-i)+1; (* losujemy numer liczby z tablicy 'Liczby' *) wylosowane[i]:=liczby [nr_los]; FOR n:=nr_los TO 79-i DO Liczby[n]:=Liczby[n+l]; (* wylosowana liczbę usuwamy z tablicy 'Liczby' a pozostałe przesuwamy do przodu *) (* sortujemy wylosowane liczby *) FOR i: =2 TO 20 DO x:=wylosowane[i]; wylosowane [0]: =x; (* wylosowane [0]' pełni role wartownika *) j:=i-1; WHILE x<wylosowane[j] DO wylosowane(j+1 ]:=wylosowane[j ]; j:=j-l; (* zmniejszamy j o 1 *) wylosowane[j+l]:=x WritelnC Wylosowano następujące liczby w MultiLotku: '); FOR i:=l TO 20 DO Write (wylosowane[i]:4); Readln; END. Ćwiczenie 93 Napisać program symulujący rzuty kostką. Program zawiera funkcje DWA, której wynikiem jest liczba rzutów kostką, jaką trzeba wykonać, aby wypadły dwa oczka. Program ma tytuł Kostka_l". Zapisać program na dysku w pliku o nazwie kostka _1.pas. Ćwiczenie 94 Napisać program losujący tablicę jednowymiarową N liczb i wypisujący parę liczb sąsiednich o największej sumie. Program ma tytuł Para_liczb_1". Zapisać program na dysku w pliku o nazwie para.pas. Ćwiczenie 95 Napisać program losujący tablicę jednowymiarową N liczb i porządkujący, tak aby na początku były liczby podzielne przez 2, dalej podzielne przez 3, 5 i 7. Na końcu mają się znajdować pozostałe liczby. Program ma tytuł Ustawianie_liczb". Zapisać program na dysku w pliku o nazwie table_13.pas. Działania na tekstach Do przedstawienia wszelkich napisów, czyli łańcuchów, w Turbo Pascalu służy typ STRING, czyli zmienna łańcuchowa. Wartością łańcucha jest dowolny ciąg znaków ujęty w apostrofy. Łańcuch znaków może być traktowany jako specyficzna tablica, której typem jest CHAR:
8 TYPE STRING = ARRAY [ ] OF CHAR; W deklaracji: Wyraz: STRING; dla zmiennej Wyraz długość maksymalna ciągu wynosi 255 znaków. Turbo Pascal nie obsługuje dłuższych łańcuchów. W powyższej deklaracji wielkość zmiennej Wyraz została podana bez klamer i wartości ją określającej. Tak zadeklarowana zmienna zajmuje w pamięci 256 bajtów. W deklaracji w postaci: Wyraz : STRING[30]; tak zdefiniowana zmienna może przechowywać najwyżej 30 znaków i każdy kolejny znak będzie po prostu ignorowany. Odczytywanie aktualnej długości łańcucha zapamiętanego w zmiennej odbywa się za pomocą funkcji LENGTH. Funkcja LENGTH Zapis ogólny funkcji: LENGTH(s); Wynikiem jest długość łańcucha znaków s, czyli liczba przedstawiająca liczbę znaków, z których on się składa. Wynik jest typu INTEGER. W poniższym przykładzie zmienna Zdanie jest przydzielona do wprowadzonego tekstu w postaci wyrazu KOT". Zdanie:=' KOT' LENGTH (Zdanie); Odczytaną wartością funkcji LENGTH(Zdanie) jest 3. Tyle bowiem liter liczy wyraz KOT". Ćwiczenie 96 Napisać program sprawdzający długość wprowadzonego nazwiska i imienia. Program ma tytuł Dlugosc_wyrazow". Zapisać program na dysku w pliku o nazwie string_l.pas. W programie zmiennymi jest Nazwisko oraz Imie. Odczyt długości nazwiska uzyskuje się konstrukcją: Writeln (Length (Nazwisko)); zaś odczyt imienia Writeln (Length (Imie)); Cały program został przedstawiony poniżej: PROGRAM Długość_wyrazow; Nazwisko : STRING [25]; Imie : STRING [20]; (*******************) ClrScr; WriteLn (' Wyznaczenie długości nazwiska i imienia '); WriteLn; Write (' Pisanie należy zakończyć naciśnięciem '); WriteLn (' klawisza Enter'); WriteLn; Write (' Podaj nazwisko...: '); ReadLn (Nazwisko); Write (' Podaj imie... : '); ReadLn (Imie); WriteLn; WriteLn (' Imie ',Imie,' zawiera ',Length (Imie),' liter'); WriteLn (' Nazwisko ',Nazwisko,' zawiera ',Length (Nazwisko),' liter'); REPEAT UNTIL KeyPressed END.
9 Turbo Pascal umożliwia operacje nie tylko na całych łańcuchach, lecz również na poszczególnych znakach w łańcuchu. Wyraz : STRING [30]; W powyższym zapisie jest zadeklarowana zmienna typu String. W zapisie Wyraz[3] oznacza trzeci znak łańcucha zapamiętany w zmiennej Wyraz. Wyraz[3] jest typem CHAR, mimo że cały Wyraz jest typu String. Nie wolno żądać dostępu do numeru znaków, których nie ma w danym łańcuchu. Dla bezpieczeństwa najlepiej jest sprawdzić dany łańcuch funkcją LENGTH. Ćwiczenie 97 Napisać program wyświetlający wprowadzony tekst z klawiatury jako rozstrzelony. Program ma tytuł Tekst_rozstrzelony". Zapisać program na dysku w pliku o nazwie string_2.pas. Zmiennej tekst zostaje przypisany wprowadzony tekst z klawiatury. Program wylicza liczbę znaków, a następnie w pętli FOR jest realizowane wyświetlenie kolejnego znaku i dopisanie spacji. PROGRAM Tekst_rozstrzelony; tekst : STRING; i : INTEGER; (******************************) ClrScr; Writeln (' Napisz krotki tekst i nacisnij ENTER'); Readln (tekst); FOR i:=l TO LENGTH (tekst) DO Write (tekst[i],* '); Readln END. Ćwiczenie 98 Napisać program zamieniający we wprowadzonym tekście znak s na p. Program ma tytuł Tekst_zamiany". Zapisać program na dysku w pliku o nazwie string_3.pas. Funkcja COPY Zapis ogólny funkcji: COPY(s,Indeks,Licznik); Funkcja ta powoduje wycięcie z łańcucha znaków s, od miejsca oznaczonego numerem Indeks liczby znaków określonych przez Licznik. Wynik jest typu STRING. W poniższym zapisie: COPY ('KOMPAKT', 5,3); otrzymamy wyraz 'AKT'. Do łączenia łańcuchów wykorzystuje się funkcję CONCAT. Funkcja CONCAT Zapis ogólny funkcji: CONCAT(s l,s 2,...,s_n); Funkcja ta powoduje połączenie łańcuchów s_l, s_2, s_n w jeden wspólny łańcuch. Jeśli wielkość powstałego łańcucha przekroczy długość 256 znaków, wszystkie pozostałe znaki zostają obcięte. Wynik jest typu STRING. Zapis:
10 CONCAT('ADAM',' ',I,' ','MICHAL'); umożliwia uzyskanie napisu 'ADAM I MICHAŁ'. Funkcję CONCAT możemy zastąpić zwyczajnym dodawaniem: s:='komp'+'akt'; Otrzymamy napis 'KOMPAKT'. Do poszukiwania łańcucha s_l w łańcuchu s stosujemy funkcję POS. Funkcja POS Zapis ogólny funkcji: POS(s_1,s); Funkcja ta powoduje wyszukiwanie łańcucha s_l w łańcuchu s. Wynikiem jest numer miejsca, w którym łańcuch s_1 po raz pierwszy zostanie znaleziony w łańcuchu s. Wynik jest typu BYTE. POS('PASCAL','TURBO PASCAL'); Powyższy zapis powoduje uzyskanie wyniku 7. Ćwiczenie 99 Napisać program sprawdzający liczbę małych liter a" w tekście. Program ma tytuł Obecność_litery_a". Zapisać program na dysku w pliku o nazwie string_4.pas. W programie wyznaczana jest długość tekstu (liczba znaków), a następnie sprawdzany jest każdy znak, czy zgodność jest z literą 'a'. PROGRAM Obecność_litery_a; tekst : STRING; (* sprawdzany tekst *) i : INTEGER; ile : INTEGER; (* ile jest liter 'a' w tekście *) (**********************************) ClrScr; Writeln (' Wyznaczenie liczby małych liter 'a' w tekście '); Writeln (' Napisz tekst i nacisnij ENTER'); Readln (tekst); ile:=0; FOR i:=l TO LENGTH (tekst) DO IF (tekst[i]= 'a') THEN ile:=ile+l; Writeln (' Liczba małych liter "a" w tekście : ',ile); REPEAT UNTIL KeyPressed END. Procedura DELETE Zapis ogólny procedury: DELETE (s, Indeks, Licznik); Z łańcucha znaków s zostanie od miejsca oznaczonego numerem Indeks usunięta liczba znaków określona przez zmienną Licznik. Parametrem W musi być zmienna, a nie dowolne wyrażenie, ponieważ procedura DELETE zmienia zawartość s. Dla przykładu: s:='kapela'; DELETE (s, 1, 3); otrzymamy napis 'ela'. Wstawianie danego łańcucha do innego łańcucha uzyskujemy korzystając z procedury INSERT.
11 Procedura INSERT Zapis ogólny procedury: INSERT (s_l,s, Indeks); Do zmiennej s typu STRING zostaje wpisany od pozycji Indeks łańcuch znaków s_l. Parametrem s musi być zmienna, a nie dowolne wyrażenie, ponieważ procedura INSERT zmienia zawartość s. Dla przykładu: s:='stacja'; INSERT ('gna',s, 4); otrzymamy napis 'Stagnacja 1. Ćwiczenie 100 Napisać program sprawdzający działanie podanych funkcji i procedur. Program ma tytuł Przykłady_1". Zapisać program na dysku w pliku o nazwie string_5.pas. W poniższym programie sprawdzimy przykłady do podanych uprzednio funkcji i procedur. PROGRAM Przykłady_1; Zdanie_1 : String[10]; Zdanie_2 : String[8]; Zdanie_3 : String[4]; Zdanie_4 : String[8]; Zdanie 5 : String[15]; Zdanie_6 : String[6]; Zdanie_7 : String[8]; Zdanie_8 : String[6]; Zd_1 :String[20]; Zd_2 : String[20]; (************************) ClrScr; Zdaniel := 'KOMPAKT'; Zdanie_2 := 'ADAM '; Zdanie 3 := 'I '; Zdanie 4 := 'MICHAŁ'; Zdanie_5 := 'TURBO PASCAL'; Zdanie_6 := 'PASCAL'; Zdanie_7 := 'Kapela'; Zdanie_8 := 'Stacja'; Writeln (' Przykładowe wyniki działania funkcji '); Writeln (' Funkcja COPY '); Zd_l := COPY(Zdanie 1,5,3); Writeln (' ',Zd_l); Writeln (' Funkcja CONCAT '); Zd_2 := CONCAT(Zdanie_2, Zdanie 3, Zdanie_4); WritelnC ',Zd_2); Writeln (' Funkcja POS '); Write (' '); Writeln (POS(Zdanie 6,Zdanie_5));
12 Writeln (' Funkcja DELETE '); DELETE (Zdanie_7,1,3); Write (' '); Writeln(Zdanie_7); Writeln (' Funkcja INSERT '); INSERT ('gna',zdanie_8,4); Write(' '); Writeln (Zdanie_8); REPEAT UNTIL KeyPressed END. Procedura STR oraz VAL są najczęściej wykorzystywanymi procedurami przy obróbce tekstu. Procedura STR Zapis ogólny procedury: STR (x[:długość[:miejsca dziesiętne]],s); Procedura ta przekształca wartość numeryczną argumentu x na wartość typu STRING, która zostaje zapamiętana przez zmienną s będącą typu STRING. Przy zapamiętywaniu w łańcuchu wartości jako stałej typu REAL, zapis procedury przybierze postać: STR (370.0,s); W zmiennej s zostanie zapisana wartość E02 Dla liczby 370 jako stałej typu INTEGER będzie to: STR (370,s); W zmiennej s zostanie zapisana wartość 370. Dla liczby 370 jako 3.7E+02 będzie to: STR (3.7E+02: 3:l,s); W zmiennej s zostanie zapisana wartość Liczbę należy odpowiednio zapisać (np. z trzema miejscami po kropce dziesiętnej): STR ( : 15:3,s); W zmiennej s zostanie zapamiętana wartość Procedura VAL Zapis ogólny procedury: VAL(s, x, Kod); Procedura ta przekształca łańcuch znaków s na wartość numeryczną zapamiętaną w zmiennej numerycznej x będącej typu REAL lub INTEGER. W zmiennej Kod zawarta jest informacja dotycząca przebiegu powyższej operacji. Zmienna ta ma wartość 0, jeśli operacja zamiany wartości z łańcuchowej na wartość numeryczną nastąpiła bez błędów. W innym przypadku zmienna ta otrzymuje liczbę pierwszego błędnego znaku w danym łańcuchu. Dla zmiennej s (np. s=2) typu INTEGER otrzymamy: VAL(s, x, Kod); x=2 oraz Kod=0, Ćwiczenie 101 Napisać program wczytujący promień kola jako wyrażenie typu STRING oraz obliczający pole koła. Program ma tytuł Promien_kola_1". Zapisać program na dysku w pliku o nazwie string_6.pas. Cały program został przedstawiony poniżej: PROGRAM Promien_kola_1; PromienString : STRING[20]; Promien_Real : REAL ; Polekola : REAL ; Ocena : INTEGER ;
13 (*********************************) ClrScr; WriteLn (' Obliczenie pola kola - promien_string '); WriteLn; Write (' Podaj promień kola w cm : '); ReadLn (Promien_String); WriteLn; (* zamiana na wartość numeryczna *) VAL (Promien_String, Promien_Real, Ocena); IF Ocena = 0 THEN Pole_kola := Pi * Sqr(Promien_Real); WriteLn; Write (' Pole kola o promieniu r= ', Promien_String,' wynosi ',Pole_kola: 8:3,' cm kw.'); WriteLn; END ELSE WriteLn('Bledny znak na miejscu ',Ocena); REPEAT UNTIL KeyPressed END. Ćwiczenie 102 Napisać program przekształcający liczby całkowite na wyrażenie typu STRING o żądanym formacie. Program ma tytuł Przejrzysta_postac_liczb". Zapisać program na dysku w pliku o nazwie string_7.pas. Liczby, którymi operuje Turbo Pascal, nie mogą zawierać w sobie żadnych niewidocznych znaków (spacji). Wartość liczby w postaci jest trudna do odczytu. Liczba napisana w sposób następujący: jest bardziej przejrzysta. Program będzie zamieniał wprowadzane liczby na taki właśnie format. Po wprowadzeniu liczby do programu zostaje ona zamieniona procedurą STR na wartość typu STRING. Następuje obliczenie jej długości i wstawienie do pozycji wyznaczonej przez licznik nowego łańcucha w postaci spacji powodującej rozsunięcie liczb po każdych trzech cyfrach licząc od prawej strony. PROGRAM Przejrzysta_postac_liczb;. LiczbaString : STRING[15]; Liczba : LONGINT; Licznik : SHORTINT; (*********************) ClrScr; Writeln (' Przejrzystość liczb'); Write (' Podaj liczbę całkowita (do 9 cyfr): '); Readln (Liczba); STR (Liczba, Liczba_String); Licznik := Length(Liczba_String) - 2; WHILE Licznik > 0 DO Insert (' ',Liczba_String, Licznik); Licznik := Licznik - 3 Writeln (' Przejrzysta postać : ', Liczba_String); REPEAT UNTIL KeyPressed
14 END. Ćwiczenie 103 Napisać program przekształcający liczby całkowite większe niż 9-cyfrowe na wyrażenie typu STRING o żądanym formacie (co trzy cyfry). Program ma tytuł Przejrzystość_ liczb". Zapisać program na dysku w pliku string_8.pas. Ćwiczenie 104 Napisać program wczytujący dany tekst i wypisujący z niego wszystkie wyrazy, których pierwszy znak jest równy ostatniemu. Program ma tytuł Znaki_rowne". Zapisać program na dysku w pliku o nazwie string_9.pas. Ćwiczenie 105 Napisać program wczytujący dany tekst i wypisujący z niego wszystkie wyrazy o nieparzystej długości zaczynające się na literę 'p'. Program ma tytuł Wyrazy_nieparzyste". Zapisać program na dysku w pliku o nazwie st_1.pas.. Ćwictenie 106 Napisać program sprawdzający, czy dany tekst jest palindromem (czytany od początku i od końca tworzy ten sam ciąg znaków). Program ma tytuł Palindromy". Zapisać program na dysku w pliku o nazwie st_2.pas. Ćwiczenie 107 Napisać program tworzący wszystkie możliwe anagramy danego słowa. Anagram tworzy się przestawiając kolejność liter w wyrazie. Program ma tytuł Anagramy". Zapisać program na dysku w pliku o nazwie st_3.pas. Ćwiczenie 108 Napisać program pozwalający wykonywać dodawanie bardzo dużych liczb naturalnych (liczba cyfr >9). Program ma tytuł Dodawanie_duzych_liczb". Zapisać program na dysku w pliku o nazwie st_4.pas. Uwaga: Jednym ze sposobów rozwiązania jest metoda polegająca na traktowaniu liczby jako ciągu cyfr, a więc jako zmiennej łańcuchowej. Pozwala to na działania na liczbach o 255 cyfrach. Liczbę naturalną na zmienną łańcuchową zamienia funkcja STR, zmienną łańcuchową na liczbę naturalną zamienia funkcja VAL. Dodawanie przebiega tak jak w przypadku zwykłego dodawania pisemnego. W metodzie drugiej przyjmuje się, że liczba jest tablicą zawierającą cyfry. Dodawanie przebiega podobnie jak w metodzie pierwszej. Ćwiczenie 109 Napisać program pozwalający wykonywać mnożenie bardzo dużych liczb całkowitych (liczba cyfr >9). Program ma tytuł Mnożenie_duzych_liczb". Zapisać program na dysku w pliku o nazwie st_5.pas. Ćwiczenie 110 Napisać program pozwalający wykonywać obliczenie ilorazu i reszty z dzielenia bardzo dużych liczb naturalnych (liczba cyfr >9). Program ma tytuł Dzielenie_duzych_liczb". Zapisać program na dysku w pliku st_6.pas.
Wprowadzenie komentarzy do programu
Wprowadzenie komentarzy do programu W programach mogą wystąpić objaśnienia, uwagi zamykane w klamrach { } lub nawiasach z gwiazdką (* *). Komentarze ułatwiają zrozumienie programów. Przyjmijmy, że komentarze
Bardziej szczegółowoWykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja, - liczby losowe 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych;
Bardziej szczegółowoINSTRUKCJA PUSTA. Nie składa się z żadnych znaków i symboli, niczego nie robi. for i := 1 to 10 do {tu nic nie ma};
INSTRUKCJA PUSTA Nie składa się z żadnych znaków i symboli, niczego nie robi Przykłady: for i := 1 to 10 do {tu nic nie ma}; while a>0 do {tu nic nie ma}; if a = 0 then {tu nic nie ma}; INSTRUKCJA CASE
Bardziej szczegółowoPodprogramy. Procedury
Podprogramy Turbo Pascal oferuje metody ułatwiające tworzenie struktury programu, szczególnie dotyczy to większych programów. Przy tworzeniu większego programu stosuje się jego podział na kilka mniejszych
Bardziej szczegółowoProgramowanie strukturalne. Opis ogólny programu w Turbo Pascalu
Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część ósma Tablice znaków i przetwarzanie napisów Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Bardziej szczegółowoWykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1
Podstawy programowania Wykład II PASCAL - podstawy składni i zmienne, - instrukcje wyboru, - iteracja cz. 1 1 I. Składnia Składnia programu Program nazwa; Uses biblioteki; Var deklaracje zmiennych; Begin
Bardziej szczegółowoPodstawy Programowania C++
Wykład 3 - podstawowe konstrukcje Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu, instrukcja przypisania, podstawowe typy danych, zapis i odczyt danych, wyrażenia:
Bardziej szczegółowoWykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe
Podstawy programowania Wykład IV PASCAL - łańcuch znaków, - procedury i funkcje, - sortowanie bąbelkowe 1 Podstawy programowania Część I Łańcuchy znaków 2 I. Zmienne łańcuchowe Klasyfikacja zmiennych statycznych
Bardziej szczegółowoInstrukcja standardowa Writeln
Instrukcja standardowa Writeln Instrukcja Writeln umożliwia wprowadzenie danych na ekran monitora powodując automatycznie późniejsze przejście kursora do nowej linii. Jest to ustawienie domyślne w działaniu
Bardziej szczegółowoLekcja 6: Pascal. Procedura i funkcja
Lekcja 6: Pascal. Procedura i funkcja S. Hoa Nguyen 1 Materiał Książka: Programowanie w języku Pascal. Rozdział 9. Podprogramy Podprogramy - motywacja Skrócenie zapisu (wielokrotne powtórzenia tej samej
Bardziej szczegółowoPoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy.
PoniŜej znajdują się pytania z egzaminów zawodowych teoretycznych. Jest to materiał poglądowy. 1. Instrukcję case t of... w przedstawionym fragmencie programu moŝna zastąpić: var t : integer; write( Podaj
Bardziej szczegółowoProgramowanie w Turbo Pascal
Skróty: ALT + F9 Kompilacja CTRL + F9 Uruchomienie Struktura programu: Programowanie w Turbo Pascal Program nazwa; - nagłówek programu - blok deklaracji (tu znajduje się VAR lub CONST) - blok instrukcji
Bardziej szczegółowoTablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011
Tablice mgr Tomasz Xięski, Instytut Informatyki, Uniwersytet Śląski Katowice, 2011 Załóżmy, że uprawiamy jogging i chcemy monitorować swoje postępy. W tym celu napiszemy program, który zlicza, ile czasu
Bardziej szczegółowotyp zakres sposob zapamietania shortint integer bajty (z bitem znaku) longint byte word
Pascal - powtórka Alfabet, Nazwy W odróŝnieniu do C w Pascal nie odróŝnia małych i duŝych liter. Zapisy ALA i ala oznaczają tę samą nazwę. Podobnie np. słowo kluczowe for moŝe być zapisane: FOR. W Pascalu
Bardziej szczegółowoPodstawy programowania w języku Visual Basic dla Aplikacji (VBA)
Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest
Bardziej szczegółowoINSTRUKCJE PĘTLI, INSTRUKCJA WYBORU. Instrukcja pętli For to do
INSTRUKCJE PĘTLI, INSTRUKCJA WYBORU Instrukcja pętli For to do Instrukcja ta określa dokładnie ile razy zostanie powtórzony dany ciąg instrukcji. Postać pętli for w Pascalu: for zmienna : = początek to
Bardziej szczegółowoInstrukcje podsumowanie. Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne:
Instrukcje podsumowanie Proste: - przypisania - wejścia-wyjścia (read, readln, write, writeln) - pusta - po prostu ; (średnik) Strukturalne: - grupująca end - warunkowa if
Bardziej szczegółowo2.Sprawdzanie czy podana liczba naturalna jest pierwsza Liczba pierwsza to liczba podzielna tylko przez 1 i przez siebie.
CZEŚĆ A. Przykłady, cd. 1.Obliczanie wartości pierwiastka kwadratowego - algorytm Newtona-Raphsona http://pl.wikipedia.org/wiki/metoda_newtona (pierwszy przykład na stronach Wiki) Dane: Liczba a (a>0)
Bardziej szczegółowoWykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice
Podstawy programowania Wykład III PASCAL - iteracja cz, 2, - liczby losowe, - tablice 1 Podstawy programowania Iteracja 2 III. Iteracja Iteracja o nieznanej liczbie powtórzeń while warunek do instrukcja_do_wykonania;
Bardziej szczegółowoutworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,
Lista 3 Zestaw I Zadanie 1. Zaprojektować i zaimplementować funkcje: utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy, zapisz
Bardziej szczegółowoWskaźniki i dynamiczna alokacja pamięci. Spotkanie 4. Wskaźniki. Dynamiczna alokacja pamięci. Przykłady
Wskaźniki i dynamiczna alokacja pamięci. Spotkanie 4 Dr inż. Dariusz JĘDRZEJCZYK Wskaźniki Dynamiczna alokacja pamięci Przykłady 11/3/2016 AGH, Katedra Informatyki Stosowanej i Modelowania 2 Wskaźnik to
Bardziej szczegółowoInformatyka 1. Przetwarzanie tekstów
Informatyka 1 Wykład IX Przetwarzanie tekstów Robert Muszyński ZPCiR ICT PWr Zagadnienia: reprezentacja napisów znakowych, zmienne napisowe w Sun Pascalu, zgodność typów, operowanie na napisach: testowanie
Bardziej szczegółowolekcja 8a Gry komputerowe MasterMind
lekcja 8a Gry komputerowe MasterMind Posiadamy już elementarną wiedzę w zakresie programowania. Pora więc zabrać się za rozwiązywanie problemów bardziej złożonych, które wymagają zastosowania typowych
Bardziej szczegółowoProgramowanie 3 - Funkcje, pliki i klasy
Instytut Informatyki Uniwersytetu Śląskiego Laborki funkcja; parametry funkcji; typ zwracany; typ void; funkcje bez parametrów; napis.length() - jako przykład funkcji. Zadania funkcja dodająca dwie liczby;
Bardziej szczegółowoBaltie 3. Podręcznik do nauki programowania dla klas I III gimnazjum. Tadeusz Sołtys, Bohumír Soukup
Baltie 3 Podręcznik do nauki programowania dla klas I III gimnazjum Tadeusz Sołtys, Bohumír Soukup Czytanie klawisza lub przycisku myszy Czytaj klawisz lub przycisk myszy - czekaj na naciśnięcie Polecenie
Bardziej szczegółowoProgramowanie. Wprowadzanie danych i wyprowadzanie wyników. Klasa 2 Lekcja 24 WEJŚCIE/WYJŚCIE
Programowanie Wprowadzanie danych i wyprowadzanie wyników Klasa 2 Lekcja 24 WEJŚCIE/WYJŚCIE Losowanie danych W wielu zastosowaniach (np( np.. szyfrowanie, symulacje, gry komputerowe, grafika komputerowa)
Bardziej szczegółowoProgramowanie w języku Python. Grażyna Koba
Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i
Bardziej szczegółowo1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci:
1. Napisz program, który wyświetli Twoje dane jako napis Witaj, Imię Nazwisko. 2. Napisz program, który wyświetli wizytówkę postaci: * Jan Kowalski * * ul. Zana 31 * 3. Zadeklaruj zmienne przechowujące
Bardziej szczegółowoZmienne i struktury dynamiczne
Zmienne i struktury dynamiczne Zmienne dynamiczne są to zmienne, które tworzymy w trakcie działania programu za pomocą operatora new. Usuwa się je operatorem delete. Czas ich występowania w programie jest
Bardziej szczegółowoZadania do wykonania. Rozwiązując poniższe zadania użyj pętlę for.
Zadania do wykonania Rozwiązując poniższe zadania użyj pętlę for. 1. apisz program, który przesuwa w prawo o dwie pozycje zawartość tablicy 10-cio elementowej liczb całkowitych tzn. element t[i] dla i=2,..,9
Bardziej szczegółowoStałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane
Stałe, znaki, łańcuchy znaków, wejście i wyjście sformatowane Stałe Oprócz zmiennych w programie mamy też stałe, które jak sama nazwa mówi, zachowują swoją wartość przez cały czas działania programu. Można
Bardziej szczegółowoPodstawy programowania
Podstawy programowania Część siódma Tablice różne zastosowania Zbiory Autor Roman Simiński Kontakt siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie zawiera skrót treści wykładu, lektura
Bardziej szczegółowo> C++ dynamiczna alokacja/rezerwacja/przydział pamięci. Dane: Iwona Polak. Uniwersytet Śląski Instytut Informatyki
> C++ dynamiczna alokacja/rezerwacja/przydział pamięci Dane: Iwona Polak iwona.polak@us.edu.pl Uniwersytet Śląski Instytut Informatyki 1429536600 > Dzisiejsze zajęcia sponsorują słówka: new oraz delete
Bardziej szczegółowoPascal - wprowadzenie
Pascal - wprowadzenie Ogólne informacje o specyfice języka i budowaniu programów Filip Jarmuszczak kl. III c Historia Pascal dawniej jeden z najpopularniejszych języków programowania, uniwersalny, wysokiego
Bardziej szczegółowo1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja. 2. Schemat blokowy przedstawia algorytm obliczania
1. Nagłówek funkcji: int funkcja(void); wskazuje na to, że ta funkcja nie ma parametru i zwraca wartość na zewnątrz. nie ma parametru i nie zwraca wartości na zewnątrz. ma parametr o nazwie void i zwraca
Bardziej szczegółowoPliki. Ze względu na typ zawartych w nich danych rozróżnia się trzy podstawowe rodzaje plików:
Pliki Dotychczas operowaliśmy danymi, które zapamiętywane były w pamięci operacyjnej komputera (RAM). Program Turbo Pascal umożliwia zapisywanie i odczyt danych, co zapewnia możliwość wielokrotnego ich
Bardziej szczegółowo1 Powtórzenie wiadomości
1 Powtórzenie wiadomości Zadanie 1 Napisać program, który w trybie dialogu z użytkownikiem przyjmie liczbę całkowitą, a następnie wyświetli informację czy jest to liczba parzysta czy nieparzysta oraz czy
Bardziej szczegółowoZadania język C++ Zad. 1. Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy.
Zadania język C++ Zad. 1 Napisz program wczytujący z klawiatury wiek dwóch studentów i wypisujący informację o tym, który z nich jest starszy. (Być moŝe są w tym samym wieku. Zrób w programie warunek,
Bardziej szczegółowo2. Tablice. Tablice jednowymiarowe - wektory. Algorytmy i Struktury Danych
2. Tablice Tablica to struktura danych przechowująca elementy jednego typu (jednorodna). Dostęp do poszczególnych elementów składowych jest możliwy za pomocą indeksów. Rozróżniamy następujące typy tablic:
Bardziej szczegółowo#7 P r o g r a m... Rys Struktura zmiennej typu string
11. OPERACJE NA ŁAŃCUCHACH ZNAKOWYCH 11.1. Opis typu i deklarowanie zmiennych łańcuchowych Typ łańcuchowy o nazwie string opisuje strukturę danych, złożoną z 255 elementów typu Char. Jest ona przeznaczona
Bardziej szczegółowoUwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Bardziej szczegółowoMetody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Bardziej szczegółowoIX. Wskaźniki.(3 godz.)
Opracowała: dr inż. Anna Dubowicka Uczelniane Centrum Komputerowe PK IX. Wskaźniki.(3 godz.) Wskaźnik jest zmienną, która zawiera adres innej. 1. Definiowanie wskaźników. typ * nazwa ; gdzie: znak * informuje
Bardziej szczegółowoTABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ;
Ogólna postać definicji tablicy: TABLICE W JĘZYKU C/C++ typ_elementu nazwa_tablicy [wymiar_1][wymiar_2]... [wymiar_n] ; np. int tablica [ 10 ]; // 10-cio elementowa tablica liczb całkowitych char tekst
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje
Bardziej szczegółowoProgramowanie w C++ Wykład 5. Katarzyna Grzelak. 26 marca kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40
Programowanie w C++ Wykład 5 Katarzyna Grzelak 26 marca 2018 9 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 40 Pojęcia z poprzedniego wykładu Podział programu na funkcje podział na niezależne
Bardziej szczegółowoOPERACJE NA PLIKACH. Podstawowe pojęcia:
OPERACJE NA PLIKACH Podstawowe pojęcia: plik fizyczny, zbiór informacji w pamięci zewnętrznej wykorzystywany do trwałego przechowywania danych lub jako przedłużenie pamięci operacyjnej w przypadku przetwarzania
Bardziej szczegółowoWymiar musi być wyrażeniem stałym typu całkowitego, tzn. takim, które może obliczyć kompilator. Przykłady:
5 Tablice Tablica jest zestawem obiektów (zmiennych) tego samego typu, do których można się odwołać za pomocą wspólnej nazwy. Obiekty składowe tablicy noszą nazwę elementów tablicy. Dostęp do nich jest
Bardziej szczegółowoStruktury, unie, formatowanie, wskaźniki
Struktury, unie, formatowanie, wskaźniki 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12, na rzecz swoich 143209 poddanych uchwalił dekret o 20 procentowej
Bardziej szczegółowoLaboratorium nr 1. i 2.
Laboratorium nr 1. i 2. Celem laboratorium jest zapoznanie się ze zintegrowanym środowiskiem programistycznym, na przykładzie podstawowych aplikacji z obsługą standardowego wejścia wyjścia, podstawowych
Bardziej szczegółowoProgramowanie w języku Java
Katedra Inżynierii Wiedzy laborki 6 Czytanie z plików tekstowych import biblioteki io; klasa File; klasa FileReader; klasa BudderedReader; czytanie z pliku i metoda readline(); koniec dostępu do pliku;
Bardziej szczegółowoPliki. Operacje na plikach w Pascalu
Pliki. Operacje na plikach w Pascalu ścieżka zapisu, pliki elementowe, tekstowe, operacja plikowa, etapy, assign, zmienna plikowa, skojarzenie, tryby otwarcia, reset, rewrite, append, read, write, buforowanie
Bardziej szczegółowoPython wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
Bardziej szczegółowoPROGRAMOWANIE W C++ ZADANIA
PROGRAMOWANIE W C++ ZADANIA Włodzimierz Gajda Rozdział 7 PĘTLE 7.1 PĘTLA FOR: rysowanie wzorków. ZADANIE 7.1.1 Napisz program drukujący na ekranie 19 gwiazdek: ******************* ZADANIE 7.1.2 Napisz
Bardziej szczegółowoProgramowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2
Programowanie w języku C++ Agnieszka Nowak Brzezińska Laboratorium nr 2 1 program Kontynuujemy program który wczytuje dystans i ilości paliwa zużytego na trasie, ale z kontrolą danych. A więc jeśli coś
Bardziej szczegółowo3. Opracować program kodowania/dekodowania pliku tekstowego. Algorytm kodowania:
Zadania-7 1. Opracować program prowadzący spis pracowników firmy (max.. 50 pracowników). Każdy pracownik opisany jest za pomocą struktury zawierającej nazwisko i pensję. Program realizuje następujące polecenia:
Bardziej szczegółowodo instrukcja while (wyrażenie);
Instrukcje pętli -ćwiczenia Instrukcja while Pętla while (póki) powoduje powtarzanie zawartej w niej sekwencji instrukcji tak długo, jak długo zaczynające pętlę wyrażenie pozostaje prawdziwe. while ( wyrażenie
Bardziej szczegółowoPodstawy programowania 2. Temat: Wprowadzenie do wskaźników. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 1 Podstawy programowania 2 Temat: Wprowadzenie do wskaźników Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Rysunek przedstawia najważniejszą różnicę pomiędzy zmiennymi,
Bardziej szczegółowoPodstawy Programowania Podstawowa składnia języka C++
Podstawy Programowania Podstawowa składnia języka C++ Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 3 października 2013 r. Szablon programu w C++ Najprostszy program w C++ ma postać: #include #include
Bardziej szczegółowoPASCAL Kompendium. Środowisko TURBO PASCAL Skróty klawiaturowe. Edycja kodu Pomoc spis treści. Skopiowanie zaznaczonego bloku do schowka
PASCAL Kompendium Środowisko TURBO PASCAL Skróty klawiaturowe Edycja kodu F1 Pomoc spis treści CTRL + F1 Pomoc kontekstowa SHIFT + strzałki Zaznaczanie bloku CTRL + INSERT Skopiowanie zaznaczonego bloku
Bardziej szczegółowoPrzykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym
S t r o n a 1 Bożena Ignatowska Przykłady zastosowań funkcji tekstowych w arkuszu kalkulacyjnym Wprowadzenie W artykule zostaną omówione zagadnienia związane z wykorzystaniem funkcji tekstowych w arkuszu
Bardziej szczegółowoInformacje wstępne #include <nazwa> - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char
Programowanie C++ Informacje wstępne #include - derektywa procesora umożliwiająca włączenie do programu pliku o podanej nazwie. Typy danych: char, signed char = -128 do 127, unsigned char = od
Bardziej szczegółowoPodstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno
Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują
Bardziej szczegółowoINFORMATYKA Z MERMIDONEM. Programowanie. Moduł 5 / Notatki
INFORMATYKA Z MERMIDONEM Programowanie Moduł 5 / Notatki Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego. Realizator projektu: Opracowano w ramach projektu
Bardziej szczegółowoProgramowanie 2 - Tablice i łańcuchy
Instytut Informatyki Uniwersytetu Śląskiego Laborki Zadania String jako klasa; length() - długość łańcucha; char CharAt (int index) - sprawdzenie znaku na zadanym numerze. Użytkownik podaje n łańcuchów.
Bardziej szczegółowoLab 9 Podstawy Programowania
Lab 9 Podstawy Programowania (Kaja.Gutowska@cs.put.poznan.pl) Wszystkie kody/fragmenty kodów dostępne w osobnym pliku.txt. Materiały pomocnicze: Wskaźnik to specjalny rodzaj zmiennej, w której zapisany
Bardziej szczegółowoZestaw 1-1 Organizacja plików: Oddajemy tylko źródła programów (pliki o rozszerzeniach.cpp)!!!
Zestaw 1-1 1. Napisz program pobierający od użytkownika liczbę całkowitą R (R>1) i liczbę rzeczywistą dodatnią S, a następnie informujący ile kolejnych liczb z ciągu 1, R-1, R 2-2, R 3-3, R 4-4, należy
Bardziej szczegółowoJęzyk programowania PASCAL
Język programowania PASCAL (wersja podstawowa - standard) Literatura: dowolny podręcznik do języka PASCAL (na laboratoriach Borland) Iglewski, Madey, Matwin PASCAL STANDARD, PASCAL 360 Marciniak TURBO
Bardziej szczegółowo3. Podstawowe funkcje mamematyczne. ZAPOZNAĆ SIĘ!!!
Zajęcia 3 1. Instrukcja iteracyjna while while WARUNEK do Instrukcja; 2. Deklaracja funkcji function nazwa(x:real;i:integer;...): typ_funkcji; deklaracje zmiennych lokalnych; instrukcje (w tym podstawienie
Bardziej szczegółowoKonwersje napis <-> liczba Struktury, unie Scanf / printf Wskaźniki
Konwersje napis liczba Struktury, unie Scanf / printf Wskaźniki Konwersje liczba napis Ćwiczenia 1. Napisz aplikację, która na wejściu dostaje napis postaci W Roku Pańskim 1345, władca Henryk 12,
Bardziej szczegółowotablica: dane_liczbowe
TABLICE W JĘZYKU C/C++ tablica: dane_liczbowe float dane_liczbowe[5]; dane_liczbowe[0]=12.5; dane_liczbowe[1]=-0.2; dane_liczbowe[2]= 8.0;... 12.5-0.2 8.0...... 0 1 2 3 4 indeksy/numery elementów Tablica
Bardziej szczegółowoWstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.
Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy Laboratorium 2 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Komentarze Funkcja printf() Zmienne Łańcuchy
Bardziej szczegółowoJęzyki programowania obiektowego Nieobiektowe elementy języka C++
Języki programowania obiektowego Nieobiektowe elementy języka C++ Roman Simiński roman.siminski@us.edu.pl www.programowanie.siminskionline.pl Przetwarzanie tablic znaków Łańcuchy znakowe jako tablice znaków
Bardziej szczegółowoProste programy w C++ zadania
Proste programy w C++ zadania Zbiór zadao do samodzielnego rozwiązania stanowiący powtórzenie materiału. Podstawy C++ Budowa programu w C++ Dyrektywy preprocesora Usunięcie dublujących się nazw Częśd główna
Bardziej szczegółowo1 Podstawy c++ w pigułce.
1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,
Bardziej szczegółowoWrocław, dn. 19 kwietnia 2006 roku. Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu
Anna Kaleta Piotr Chojnacki IV rok, informatyka chemiczna Liceum Ogólnokształcące nr 10 we Wrocławiu Wrocław, dn 19 kwietnia 2006 roku Czas trwania zajęć: 90 minut, przedmiot: informatyka Temat lekcji:
Bardziej szczegółowoElżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki
Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,
Bardziej szczegółowoZASADY PROGRAMOWANIA KOMPUTERÓW
POLITECHNIKA WARSZAWSKA Instytut Automatyki i i Robotyki ZASADY PROGRAMOWANIA KOMPUTERÓW Język Język programowania: C/C++ Środowisko programistyczne: C++Builder 6 Wykład 9.. Wskaźniki i i zmienne dynamiczne.
Bardziej szczegółowoWstęp do programowania. Różne różności
Wstęp do programowania Różne różności Typy danych Typ danych określa dwie rzeczy: Jak wartości danego typu są określane w pamięci Jakie operacje są dozwolone na obiektach danego typu 2 Rodzaje typów Proste
Bardziej szczegółowoMETODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH
METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH ĆWICZENIE NR 9 WYRAŻENIA LOGICZNE, INSTRUKCJE WARUNKOWE I INSTRUKCJE ITERACYJNE W PROGRAMIE KOMPUTEROWYM MATLAB Dr inż. Sergiusz Sienkowski ĆWICZENIE NR
Bardziej szczegółowoProgramowanie Delphi obliczenia, schematy blokowe
Informatyka II MPZI2 ćw.2 Programowanie Delphi obliczenia, schematy blokowe Zastosowania obliczeń numerycznych Wyrażenia arytmetyczne służą do zapisu wykonywania operacji obliczeniowych w trakcie przebiegu
Bardziej szczegółowoTablice. Monika Wrzosek (IM UG) Podstawy Programowania 96 / 119
Tablice Tablica to struktura danych, która może przechowywać wiele wartości tego samego typu. Na przykład tablica może zawierać: 10 wartości typu int opisujących liczbę studentów przyjętych na kierunek
Bardziej szczegółowoPodstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Bardziej szczegółowoLABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI. Wprowadzenie do środowiska Matlab
LABORATORIUM 3 ALGORYTMY OBLICZENIOWE W ELEKTRONICE I TELEKOMUNIKACJI Wprowadzenie do środowiska Matlab 1. Podstawowe informacje Przedstawione poniżej informacje maja wprowadzić i zapoznać ze środowiskiem
Bardziej szczegółowoDIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0
Uwaga: DIAGRAMY SYNTAKTYCZNE JĘZYKA TURBO PASCAL 6.0 1. Zostały pominięte diagramy: CYFRA, CYFRA SZESNASTKOWA, ZNAK i LITERA. Nie została uwzględniona możliwość posługiwania się komentarzami. 2. Brakuje
Bardziej szczegółowoWprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
Bardziej szczegółowoKilka prostych programów
Ćwiczenie 1 Kilka prostych programów Ćwiczenie to poświęcone jest tworzeniu krótkich programów, pozwalających na zapoznanie się z takimi elementami programowania jak: definiowanie stałych, deklarowanie
Bardziej szczegółowoAlgorytmy i struktury danych
Algorytmy i struktury danych Proste algorytmy sortowania Witold Marańda maranda@dmcs.p.lodz.pl 1 Pojęcie sortowania Sortowaniem nazywa się proces ustawiania zbioru obiektów w określonym porządku Sortowanie
Bardziej szczegółowoProgramowanie obiektowe - zadania
Programowanie obiektowe - zadania Elementy języka Java Zad.1. Napisz program, który sprawdza, czy dana liczba całkowita jest parzysta. Zad.2. Napisz program, który sumuje dane dwie liczby tylko w przypadku,
Bardziej szczegółowoPodstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Tablica znaków w językach C i C++ (oraz pochodnych) łańcuch znaków przechowywany jest jako
Bardziej szczegółowoSchematy blokowe I. 1. Dostępne bloki: 2. Prosty program drukujący tekst.
Schematy blokowe I Jeżeli po schematach blokowych będzie używany język C, to należy używać operatorów: '&&', ' ', '!=', '%' natomiast jeśli Ruby to 'and', 'or', '%', '!='. 1. Dostępne bloki: a) początek:
Bardziej szczegółowoZajęcia 6 wskaźniki i tablice dynamiczne
Zajęcia 6 wskaźniki i tablice dynamiczne 1. Napisz funkcję void zamien(int *a, int *b), która otrzymuje wskaźniki dwóch zmiennych typu całkowitego, a następnie dokonuje zamiany wartości wskazywanych zmiennych.
Bardziej szczegółowoĆwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Bardziej szczegółowoProgramowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++
Programowanie Wstęp p do programowania Klasa 3 Lekcja 9 PASCAL & C++ Język programowania Do przedstawiania algorytmów w postaci programów służą języki programowania. Tylko algorytm zapisany w postaci programu
Bardziej szczegółowoPodstawy programowania. Wykład: 9. Łańcuchy znaków. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 9 Łańcuchy znaków 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Rodzaje plików Dane przechowywane w pliku mogą mieć reprezentację binarną (taką samą, jak
Bardziej szczegółowoJęzyk ludzki kod maszynowy
Język ludzki kod maszynowy poziom wysoki Język ludzki (mowa) Język programowania wysokiego poziomu Jeśli liczba punktów jest większa niż 50, test zostaje zaliczony; w przeciwnym razie testu nie zalicza
Bardziej szczegółowoWIADOMOŚCI WSTĘPNE WPROWADZENIE DO JĘZYKA TURBO PASCAL. Klawisze skrótów. {to jest właśnie komentarz, moŝna tu umieścić dowolny opis}
1 WIADOMOŚCI WSTĘPNE Programowanie komputerów najogólniej mówiąc polega na zapisaniu pewniej listy poleceń do wykonania przez komputer w pewnym umownym języku Taką listę poleceń nazywamy programem Program
Bardziej szczegółowoI. Podstawy języka C powtórka
I. Podstawy języka C powtórka Zadanie 1. Utwórz zmienne a = 730 (typu int), b = 106 (typu long long), c = 123.45 (typu double) Wypisz następujące komunikaty: Dane sa liczby: a = 730, b = 106 i c = 123.45.
Bardziej szczegółowo