Przeliczanie na zapis stałoprzecinkowy
|
|
- Jadwiga Olejniczak
- 9 lat temu
- Przeglądów:
Transkrypt
1 Artykuł pobrano ze strony eioba.pl Przeliczanie na zapis stałoprzecinkowy Nasz problem polega na znalezieniu reprezentacji danej liczby dziesiętnej w docelowym systemie pozycyjnym o podstawie p. Część całkowitą przeliczamy wg poznanych zasad. Znalezienie kolejnych cyfr zapisu części ułamkowej w systemie docelowym jest zadziwiająco proste. Rozpiszmy wzór na część ułamkową liczby: L u = C -1 p -1 + C -2 p -2 + C -3 p C -m+1 p -m+1 + C -m p -m gdzie: L u - wartość części ułamkowej zapisu liczby C i, i = -1,-2,...,-m - kolejne cyfry zapisu części ułamkowej p - podstawa systemu pozycyjnego zapisu liczby stałoprzecinkowej m - liczba cyfr części ułamkowej Pomnóżmy część ułamkową przez podstawę p. Otrzymamy: L u x p = (C -1 p -1 + C -2 p -2 + C -3 p C -m+1 p -m+1 + C -m p -m ) p L u x p = C -1 p -1 p + C -2 p -2 p + C -3 p -3 p C -m+1 p -m+1 p + C -m p -m p L u x p = C -1 p + C -2 p -1 + C -3 p C -m+1 p -m+2 + C -m p -m+1 Co uzyskaliśmy w wyniku? Wynikowa liczba ma przesunięte wszystkie cyfry zapisu o jedną pozycję w lewo. Pierwsza cyfra ułamkowa stała się teraz cyfrą całkowitą. Aby ją wydobyć wystarczy wziąć część całkowitą wyniku mnożenia przez p. Za nową część ułamkową przyjmujemy część ułamkową wyniku mnożenia. Działanie to będziemy kontynuowali dotąd, aż wydobędziemy zadaną ilość cyfr ułamkowych. Znaleźć zapis liczby dziesiętnej 234,13 (10) w systemie czwórkowym z dokładnością do 10 cyfr po przecinku. Rozdzielamy liczbę na część całkowitą i ułamkową: L c = 234, L u = 0,13 Wyznaczamy cyfry zapisu części całkowitej w systemie czwórkowym:
2 234 div 4 = 58 i reszta 2 58 div 4 = 14 i reszta 2 14 div 4 = 3 i reszta 2 3 div 4 = 0 i reszta 3 - koniec 234 (10) = 3222 (4) Teraz wyznaczamy 10 kolejnych cyfr części ułamkowej 0,13 x 4 = 0,52 - cyfra 0,52 x 4 = 2,08 - cyfra 2 0,08 x 4 = 0,32 - cyfra 0,32 x 4 = 1,28 - cyfra 1 0,28 x 4 = 1,12 - cyfra 1 0,12 x 4 = 0,48 - cyfra 0,48 x 4 = 1,92 - cyfra 1 0,92 x 4 = 3,68 - cyfra 3 0,68 x 4 = 2,72 - cyfra 2 0,72 x 4 = 2,88 - cyfra 2 - koniec, obliczyliśmy zadaną ilość cyfr po przecinku 0,13 (10) = 0, (4). Łączymy wyznaczone cyfry części całkowitej i ułamkowej otrzymując wynik: 234,13 (10) = 3222, (4). Zwróć uwagę, iż wyznaczając cyfry ułamkowe nie otrzymaliśmy wyniku równego 0. Oznacza to, iż znalezione rozwinięcie zapisu liczby w systemie czwórkowym jest przybliżone - z dokładnością do 10 cyfr ułamkowych systemu czwórkowego. Fakt ten sygnalizujemy w zapisie trzema kropeczkami za ostatnią cyfrą. Dane wejściowe L - liczba rzeczywista, której reprezentację wyznaczamy w systemie docelowym, L R + p - podstawa docelowego systemu pozycyjnego, p N, p 2,3,...,10} m- liczba cyfr części ułamkowej w systemie docelowym, m N Dane wyjściowe Ciąg znaków ASCII reprezentujących zapis liczby L w systemie pozycyjnym o podstawie p. Zmienne pomocnicze i funkcje L c - część całkowita liczby L, L c N L u - część ułamkowa liczby L, L u R + + 0} s - łańcuch znaków, w którym składowane są kolejne cyfry zapisu liczby c - wartość wyliczonej cyfry, c N + 0} znak(kod)- zwraca znak ASCII o podanym kodzie krok 1:Czytaj L, p, m krok 2:L c [L]; L u L - L c ; s "" krok 3: c krok 4: s L c mod p znak(c + 48) + s
3 krok 5: L c L c div p krok 6:Jeśli L c, idź do kroku 3 krok 7:s s + "," krok 8: Jeśli m, to pisz s i zakończ algorytm. krok 9: L u L u x p krok 10: c [L u ] krok 11: s s + znak(c + 48) krok 12:m m - 1 i idź do kroku 8 Odczytujemy liczbę L, podstawę docelowego systemu pozycyjnego p, na który mamy przeliczyć liczbę L oraz ilość cyfr po przecinku m, które mają się pojawić w rozwinięciu zapisu liczby L w systemie pozycyjnym o podstawie p. Liczbę L rozdzielamy na dwie części - całkowitą L c oraz ułamkową L u. W pierwszej pętli wyznaczamy kolejne cyfry (od tyłu) zapisu części całkowitej L c w docelowym systemie pozycyjnym. Zastosowany tutaj algorytm opisaliśmy w rozdziale o przeliczaniu liczby na inny system pozycyjny. Po wyznaczeniu tych cyfr dodajemy do zapisu znak przecinka. Druga pętla wyznacza m cyfr rozwinięcia części ułamkowej L u. L u mnożymy przez podstawę p. Cyfrę otrzymujemy z części całkowitej wyniku tego iloczynu. Otrzymaną cyfrę zamieniamy na znak ASCII i dopisujemy do zmiennej s. Za nową część ułamkową L u przyjmujemy część ułamkową iloczynu poprzedniej części ułamkowej L u i podstawy p. Zmniejszamy licznik cyfr m o 1. Pętla jest kontynuowana aż do wyzerowania tego licznika. Po zakończeniu obu pętli w zmiennej s mamy kompletny zapis liczby L w systemie pozycyjnym o podstawie p. Wypisujemy zawartość tej zmiennej i kończymy algorytm. Zwróć uwagę, iż dla prostoty algorytm nie sprawdza poprawności wprowadzonych przez użytkownika danych. Zaproponuj odpowiednią modyfikację algorytmu, aby takie sprawdzenie było wykonywane. Szczególnie niebezpieczna jest sytuacja, gdy podstawa docelowego systemu pozycyjnego p otrzyma wartość 1. Wtedy pętla pierwsza stanie się pętlą nieskończoną (dlaczego?) i program po prostu się zawiesi. DLA GENIUSZA
4 Poniższe, przykładowe programy są praktyczną realizacją omawianego w tym rozdziale algorytmu. Zapewne można je napisać bardziej efektywnie. To już twoje zadanie. Dokładny opis stosowanych środowisk programowania znajdziesz we wstępie. Programy przed opublikowaniem w serwisie edukacyjnym zostały dokładnie przetestowane. Jeśli jednak znajdziesz jakąś usterkę (co zawsze może się zdarzyć), to prześlij o niej informację do autora. Pozwoli to ulepszyć nasze artykuły. Będziemy Ci za to wdzięczni. Na podstawie algorytmu tworzymy programy przeliczające liczbę w zapisie dziesiętnym na zapis w systemie pozycyjnym o podstawie od 2 do 10. Przy wprowadzaniu liczby zamiast przecinka używaj kropki do oddzielenia części całkowitej od ułamkowej - wymaga tego biblioteka we/wy języka Pascal. Wydruk z uruchomionego programu Przeliczanie stałoprzecinkowej liczby dziesiętnej na zapis w systemie pozycyjnym o podstawie (C)2005 mgr Jerzy Wałaszek I LO Tarnów Podaj liczbę L = Podaj p (2..10) = 2 Cyfry ułamkowe = 10 17,127(10) = 10001, (2) KONIEC. Naciśnij dowolny klawisz... Microsoft Visual Basic 2005 Express Edition
5 Borland Delphi 7.0 Personal Edition // Przeliczanie dziesiętnej liczby stałoprzecinkowej // na zapis w systemie pozycyjnym o podstawie // (C)2005 mgr Jerzy Wałaszek // I Liceum Ogólnokształcące // im. K. Brodzińskiego // w Tarnowie program pldz; $APPTYPE CONSOLE} var s : string; L,Lu : real; p,c,lc,m : cardinal; begin writeln('przeliczanie staloprzecinkowej liczby dziesietnej'); writeln('na zapis w systemie pozycyjnym o podstawie '); writeln(' '); writeln('(c)2005 mgr Jerzy Walaszek I LO Tarnow'); write('podaj liczbe L = '); readln(l); write('podaj p (2..10) = '); readln(p); write('cyfry ulamkowe = '); readln(m); Lc := trunc(l); Lu := L - Lc; s := ''; repeat c := Lc mod p; s := char(c + 48) + s; Lc := Lc div p; until Lc = ; s := s + ','; while m > do begin Lu := Lu * p; c := trunc(lu); s := s + char(c + 48); Lu := Lu - c; dec(m); end; writeln(l::10,'(10) = ',s,'(',p,')'); writeln('nacisnij klawisz ENTER...'); readln; end.
6 Borland C++ Builder 6.0 Personal Edition // Przeliczanie dziesiętnej liczby stałoprzecinkowej // na zapis w systemie pozycyjnym o podstawie // (C)2005 mgr Jerzy Wałaszek // I Liceum Ogólnokształcące // im. K. Brodzińskiego // w Tarnowie #include <cmath> #include <iostream> #include <iomanip> #include <string> using namespace std; main() string s; double L,Lu; unsigned p,c,lc,m; char z[1]; cout.precision(10); // 10 cyfr po przecinku cout.setf(ios::fixed); // format stałoprzecinkowy cout << "Przeliczanie staloprzecinkowej liczby dziesietnej\n" "na zapis w systemie pozycyjnym o podstawie \n" " \n" "(C)2005 mgr Jerzy Walaszek I LO Tarnow\n\n" "Podaj liczbe L = "; cin >> L; cout << "\npodaj p (2..10) = "; cin >> p; cout << "\ncyfry ulamkowe = "; cin >> m; cout << endl; Lc = (unsigned) floor(l); Lu = L - Lc; s = ""; do c = Lc % p; s = (char) (c + 48) + s; Lc = Lc / p; } while(lc); s += ","; while(m) Lu *= p; c = (unsigned) floor(lu); s += (char) (c + 48); Lu -= c; m--; }; cout << L << "(10) = " << s << "(" << p << ")\n\nnacisnij ENTER...\n"; cin.getline(z,1); cin.getline(z,1); }
7 Microsoft Visual Basic 2005 Express Edition ' Przeliczanie dziesiętnej liczby stałoprzecinkowej ' na zapis w systemie pozycyjnym o podstawie ' ' (C)2005 mgr Jerzy Wałaszek ' I Liceum Ogólnokształcące ' im. K. Brodzińskiego ' w Tarnowie ' Option Explicit On Module Module1 Sub Main() Dim s As String Dim L, Lu As Double Dim p, c, Lc, m As UInteger Console.WriteLine("Przeliczanie stałoprzecinkowej liczby dziesiętnej") Console.WriteLine("na zapis w systemie pozycyjnym o podstawie ") Console.WriteLine(" ") Console.WriteLine("(C)2005 mgr Jerzy Wałaszek I LO Tarnów") Console.Write("Podaj liczbę L = ") : L = Val(Console.ReadLine) Console.Write("Podaj p (2..10) = ") : p = Val(Console.ReadLine) Console.Write("Cyfry ułamkowe = ") : m = Val(Console.ReadLine) Lc = Int(L) : Lu = L - Lc s = "" Do c = Lc Mod p s = Chr(c + 48) + s Lc \= p Loop Until Lc = s += "," While m > Lu *= p c = Int(Lu) s += Chr(c + 48) Lu -= c m -= 1 End While Console.WriteLine("0}(10) = 1}(2})", L, s, p) Console.WriteLine("KONIEC. Naciśnij dowolny klawisz...") Console.ReadLine() End Sub End Module Python # -*- coding: cp1250 -*- # Przeliczanie dziesiętnej liczby stałoprzecinkowej # na zapis w systemie pozycyjnym o podstawie # # (C)2005 mgr Jerzy Wałaszek # I Liceum Ogólnokształcące # im. K. Brodzińskiego # w Tarnowie # import math "Przeliczanie staloprzecinkowej liczby dziesietnej" "na zapis w systemie pozycyjnym o podstawie " " " "(C)2005 mgr Jerzy Walaszek I LO Tarnow" L = float(raw_input("podaj liczbe L = ")) p = int(raw_input("podaj p (2..10) = ")) m = int(raw_input("cyfry ulamkowe = ")) Lc = int(math.floor(l)) Lu = L - Lc s = "" while Lc: c = Lc % p s = chr(c + 48) + s Lc //= p if s == "": s = "0" s = s + "," while m: Lu *= p c = int(math.floor(lu)) s += chr(c + 48) Lu -= c m -= 1 "%f(10) = %s(%d)" % (L, s, p) raw_input("nacisnij klawisz ENTER...")
8 JavaScript <html> <head> </head> <body> <div align="center"> <form style="border-right: #ff9933 1px outset; PADDING-RIGHT: 4px; BORDER-TOP: #ff9933 1px outset; PADDING-LEFT: 4px; PADDING-BOTTOM: 1px; BORDER-LEFT: #ff9933 1px outset; PADDING-TOP: 1px; BORDER-BOTTOM: #ff9933 1px outset; BACKGROUND-COLOR: #ffcc66" name="frmprzelicz"> <h3 id="data_out" style="text-align: center"> Przeliczanie stałoprzecinkowej liczby dziesiętnej<br> na zapis w systemie pozycyjnym o podstawie </h3> <p style="text-align: center"> (C)2005 mgr Jerzy Wałaszek I LO w Tarnowie </p> <hr> <div align="center"> <table border="0" cellpadding="4" style="border-collapse: collapse"> <tr> <td align="right">liczba =</td> <td> <input value=" " name="inp_l" size="20" style="text-align: right"> </td> </tr> <tr> <td align="right">podstawa (2...10) =</td> <td> <input value="8" name="inp_p" size="20" style="text-align: right"> </td> </tr> <tr> <td align="right">ilość cyfr po przecinku =</td> <td> <input type="text" name="inp_m" size="20" value="10" style="text-align: right"> </td> </tr> </table> </div> <p style="text-align: center"> <input onclick="main();" type="button" value="przelicz" name="b1"> </p> <p id="out_t" style="text-align: center">...</p> </form> <script language=javascript> // Przeliczanie dziesiętnej liczby stałoprzecinkowej // na zapis w systemie pozycyjnym o podstawie // (C)2005 mgr Jerzy Wałaszek // I Liceum Ogólnokształcące // im. K. Brodzińskiego // w Tarnowie function main() var s,t,l,lu,p,c,lc,m; L = parsefloat(document.frmprzelicz.inp_l.value); p = parseint(document.frmprzelicz.inp_p.value); m = parseint(document.frmprzelicz.inp_m.value); if(isnan(l) isnan(p) isnan(m)) t = "<font color=red><b>złe dane</b></font>"; else Lc = Math.floor(L); Lu = L - Lc; s = ""; do c = Lc % p; s = String.fromCharCode(c + 48) + s; Lc = Math.floor(Lc / p); } while(lc); s += ","; while(m) Lu *= p; c = Math.floor(Lu); s += String.fromCharCode(c + 48); Lu -= c; m--; }; t = L + "<sub>(10)</sub> = " + s + "<sub>(" + p + ")</sub>"; }; document.getelementbyid("out_t").innerhtml = t; } </script> </div> </body> </html>
9 Podany algorytm jest niejednorodny. Czy można go przekształcić tak, aby cała liczba stałoprzecinkowa była wyznaczana w jednym przebiegu bez podziału na część całkowitą i ułamkową? Czy potrafisz ocenić wady takiego rozwiązania? Dokument ten rozpowszechniany jest zgodnie z zasadami licencji GNU Free Documentation License. Autor: mgr Jerzy Wałaszek Przedruk ze strony: Artykuł pobrano ze strony eioba.pl
Całkowanie numeryczne - metoda prostokątów
Artykuł pobrano ze strony eioba.pl Całkowanie numeryczne - metoda prostokątów W metodzie prostokątów korzystamy z definicji całki oznaczonej Riemanna, w której wartość całki interpretowana jest jako suma
Liczby pierwsze - generacja liczb pierwszych
Artykuł pobrano ze strony eioba.pl Liczby pierwsze - generacja liczb pierwszych Do generacji liczb pierwszych wykorzystamy podaną w poprzednim rozdziale definicję liczby pierwszej. Algorytm będzie składał
Miejsca zerowe funkcji - Metoda połowienia
Artykuł pobrano ze strony eioba.pl Miejsca zerowe funkcji - Metoda połowienia Mamy daną funkcję f(x) oraz przedział , w którym będziemy poszukiwali miejsca zerowego (czyli pierwiastka funkcji f(x)).
Całkowanie numeryczne - metoda Simpsona
Artykuł pobrano ze strony eioba.pl Całkowanie numeryczne - metoda Simpsona TRUDNE! Metoda Simpsona jest najdokładniejszą z dotąd poznanych przez nas metod przybliżonego całkowania. W metodzie prostokątów
Liczby pierwsze - sito Eratostenesa
Artykuł pobrano ze strony eioba.pl Liczby pierwsze - sito Eratostenesa Już w czasach starożytnych znano metodę opisaną przez greckiego uczonego Eratostenesa z Cyreny. Podszedł on do rozwiązania od drugiej
Miejsca zerowe funkcji - Metoda Newtona
Artykuł pobrano ze strony eioba.pl Miejsca zerowe funkcji - Metoda Newtona Mamy daną funkcję f(x), jeden punkty startowy x o i przedział poszukiwań pierwiastka, do którego należy punkt x o. W przedziale
Ilość cyfr liczby naturalnej
Ilość cyfr liczby naturalnej Użytkownik wprowadza liczbę naturalną n. Podaj algorytm znajdowania ilości cyfr liczby n. (Np.: po wprowadzeniu liczby 2453, jako wynik powinna zostać podana liczba 4). Specyfikacja
Wyszukiwanie największej spośród czterech liczb. Przykładowe rozwiązanie
Wyszukiwanie największej spośród czterech liczb Użytkownik podaje cztery liczby rzeczywiste. Podaj algorytm znajdowania największej spośród nich. (Np.: po wprowadzeniu liczb: 12 7 18.5 9 program powinien
binit - binary digit, bigit - binary digit
Artykuł pobrano ze strony eioba.pl Kody binarne Historia rozwoju komputerów pokazuje nam, iż system binarny nie został od razu wybrany jako podstawowy system reprezentacji liczb w maszynach cyfrowych.
Palindromy. Przykładowe rozwiązanie
Palindromy Palindromem (z greckiego) nazywamy wyraz, który tak samo brzmi, gdy jest czytany wspak. Palindromami są na przykład takie wyrazy, jak kajak, zaraz, oko, zakaz, mam itp. Użytkownik wprowadza
Sortowanie stogowe Heap Sort
Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek, Wersja 4.1 Sortowanie stogowe Heap Sort Podrozdziały Tematy pokrewne Algorytm rozbioru kopca
Liczby pierwsze - algorytm RSA
Artykuł pobrano ze strony eioba.pl Liczby pierwsze - algorytm RSA W roku 1977 trzej profesorowie z MIT w USA opublikowali nowy rodzaj szyfrowania danych, który nazwano od pierwszych liter ich nazwisk systemem
Podstawy 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
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41
Programowanie w C++ Wykład 2 Katarzyna Grzelak 5 marca 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41 Reprezentacje liczb w komputerze K.Grzelak (Wykład 1) Programowanie w C++ 2 / 41 Reprezentacje
Programowanie. 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
Wstęp do programowania
wykład 3 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Instrukcja wielokrotnego wyboru Instrukcja wielokrotnego wyboru switch umożliwia podejmowanie decyzji na podstawie wartości
Programowanie komputerowe. Zajęcia 1
Programowanie komputerowe Zajęcia 1 Code::Blocks - tworzenie projektu Create New Project Console Application -> C++ Wybierz nazwę projektu Stworzy się nowy projekt z wpisaną funkcją main Wpisz swój program
Wykł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;
Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44
Programowanie w C++ Wykład 2 Katarzyna Grzelak 4 marca 2019 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44 Na poprzednim wykładzie podstawy C++ Każdy program w C++ musi mieć funkcję o nazwie main Wcięcia
Ję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
Funkcje i instrukcje języka JavaScript
Funkcje i instrukcje języka JavaScript 1. Cele lekcji a) Wiadomości Uczeń : zna operatory i typy danych języka JavaScript, zna konstrukcję definicji funkcji, zna pętlę If i For, Do i While oraz podaje
Podstawy Programowania
Podstawy Programowania Monika Wrzosek Instytut Matematyki Uniwersytet Gdański Matematyka 2017/18 Monika Wrzosek (IM UG) Podstawy Programowania 1 / 119 Sprawy organizacyjne E-mail: mwrzosek@mat.ug.edu.pl
Laboratorium 1. Programowanie II - Kierunek Informatyka. dr inż. Janusz Słupik. Gliwice, 2015. Wydział Matematyki Stosowanej Politechniki Śląskiej
Laboratorium 1 - Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Punkty Na laboratorium można zdobyć 60 punktów. Ocena ogólna z zajęć:
Sortowanie przez scalanie Merge Sort
Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek, Wersja 4.1 Sortowanie przez scalanie Merge Sort Podrozdziały Algorytm Rekurencyjne obliczanie
#include <stdio.h> int main( ) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
Operacje arytmetyczne w systemie dwójkowym
Artykuł pobrano ze strony eioba.pl Operacje arytmetyczne w systemie dwójkowym Zasady arytmetyki w systemie binarnym są identyczne (prawie) jak w dobrze nam znanym systemie dziesiętnym. Zaletą arytmetyki
wagi cyfry 7 5 8 2 pozycje 3 2 1 0
Wartość liczby pozycyjnej System dziesiętny W rozdziale opiszemy pozycyjne systemy liczbowe. Wiedza ta znakomicie ułatwi nam zrozumienie sposobu przechowywania liczb w pamięci komputerów. Na pierwszy ogień
Wykł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
Wstęp do informatyki- wykład 7
1 Wstęp do informatyki- wykład 7 Operatory przypisania, złożone operatory przypisania, Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
SCHEMAT OCENIANIA poziom rozszerzony arkusz II
SCHEMAT OCENIANIA poziom rozszerzony arkusz II Zadanie - Organizationally Unique Identifier Prawidłowe zaimportowanie danych do przetwarzania. Uwaga: Prawidłowe zaimportowanie można uzyskać np. przez użycie
Podstawy programowania w C++
Podstawy programowania w C++ Strumienie wejścia cin>> i wyjścia cout
INSTRUKCJA 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
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Wstęp do Informatyki
Wstęp do Informatyki Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 11 Bożena Woźna-Szcześniak (AJD) Wstęp do Informatyki Wykład 11 1 / 52 Pętla for # i n c l u d e
Informatyka 1. Wyrażenia i instrukcje, złożoność obliczeniowa
Informatyka 1 Wykład III Wyrażenia i instrukcje, złożoność obliczeniowa Robert Muszyński ZPCiR ICT PWr Zagadnienia: składnia wyrażeń, drzewa rozbioru gramatycznego i wyliczenia wartości wyrażeń, operatory
Liczby całkowite i rzeczywiste
Wykład 4(20 marzec 2014r.) Liczby całkowite i rzeczywiste Paulina Rogowiecka Klaudia Kamińska Adrianna Znyk 1 Spis treści: Czynniki pierwsze metoda próbnych dzieleń Pierwszość liczby naturalnej algorytmy
Programowanie - wykład 4
Programowanie - wykład 4 Filip Sośnicki Wydział Fizyki Uniwersytet Warszawski 20.03.2019 Przypomnienie Prosty program liczący i wyświeltający wartość silni dla wprowadzonej z klawiatury liczby: 1 # include
Wstęp do informatyki- wykład 6
1 Wstęp do informatyki- wykład 6 Operatory przypisania, złożone operatory przypisania, operator przecinkowy Pętla while i do..while Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++.
Informatyka dla klas I wykresy funkcji
2013 mgr Jerzy Wałaszek I LO w Tarnowie Informatyka dla klas I wykresy funkcji Prezentowane materiały są przeznaczone dla uczniów szkół ponadgimnazjalnych. Autor artykułu: mgr Jerzy Wałaszek, wersja1.0
Pascal - 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
Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki
Wykład 2 - podstawy języka C++ Instytut Automatyki i Robotyki Warszawa, 2014 Wstęp Plan wykładu Struktura programu. Zmienne i ich nazwy, podstawowe typy: całkowite, rzeczywiste, znakowe i napisowe. Instrukcje:
Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.
M. Trzebiński C++ 1/14 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IVedycja,2016r. IFJ PAN Przygotowanie środowiska pracy Niniejsza
Podstawy 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
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
do 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
Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
programowania Wykład: 4 Instrukcje sterujące, operatory 1 programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe ; instrukcja_krok ) tresc_petli ; instrukcja_ini
Informacje 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
C++ wprowadzanie zmiennych
C++ wprowadzanie zmiennych Każda zmienna musi być zadeklarowana, należy określić jej nazwę (identyfikator) oraz typ. Opis_typu lista zmiennych Dla każdej zmiennej rezerwowany jest fragment pamięci o określonym
Wstęp do programowania
wykład 4 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2017/2018 Pętle wykonujące się podaną liczbę razy Jeśli chcemy wykonać pewien fragment programu określoną liczbę razy, możemy użyć
LibreOffice Calc VBA
LibreOffice Calc VBA LibreOffice Calc umożliwia tworzenie własnych funkcji i procedur przy użyciu składni języka VBA. Dostęp do edytora makr: Narzędzia->Makra->Zarządaj makrami->libreoffice Calc Aby rozpocząć
for (inicjacja_warunkow_poczatkowych(końcowych); wyrazenie_warunkowe; wyrazenie_zwiekszajace(zmniejszające)) { blok instrukcji; }
Pętle Pętle (ang. loops), zwane też instrukcjami iteracyjnymi, stanowią podstawę prawie wszystkich algorytmów. Lwia część zadań wykonywanych przez programy komputerowe opiera się w całości lub częściowo
Programowanie 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
Temat 1: Podstawowe pojęcia: program, kompilacja, kod
Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,
1 P roste e t ypy p d a d n a ych c - c ąg ą g d a d l a szy 2 T y T py p z ł z o ł żo ż ne e d a d n a ych c : T BLICE
1. Proste typy danych- ciąg dalszy 2. Typy złożone danych : TABLICE Wykład 3 ZMIENNE PROSTE: TYPY WBUDOWANE Typy zmiennoprzecinkowe: float double long double Różne rozmiary bajtowe. W konsekwencji różne
Wprowadzenie 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
Pracownia Komputerowa wykład V
Pracownia Komputerowa wykład V dr Magdalena Posiadała-Zezula http://www.fuw.edu.pl/~mposiada/pk16 1 Reprezentacje liczb i znaków! Liczby:! Reprezentacja naturalna nieujemne liczby całkowite naturalny system
1 Wielokrotne powtarzanie tych samych operacji
1 Wielokrotne powtarzanie tych samych operacji Zadanie 1. roszę porównać następujące programy(efekt działania każdego z nich jest takisam). rzykład 1 przedstawia najbardziej typowy zapis, powodujący wykonanie
Wstęp do programowania
wykład 5 Agata Półrola Wydział Matematyki i Informatyki UŁ sem. zimowy 2016/2017 Zadanie o kotach z poprzedniego wykładu # include < iostream > using namespace std ; int main (){ int rozmiar_ rodzinki,
Uwagi 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
Pytania sprawdzające wiedzę z programowania C++
Pytania sprawdzające wiedzę z programowania C++ Wstęp 1. Zaprezentuj mechanikę tworzenia programu napisanego w języku C++. 2. Co to jest kompilacja? 3. Co to jest konsolidacja? 4. Co to jest kod wykonywalny?
Wstęp do Programowania 2
Wstęp do Programowania 2 dr Bożena Woźna-Szcześniak bwozna@gmail.com Akademia im. Jana Długosza Wykład 2 Stałe całkowite inne niż dziesiętne Stałe ósemkowe Stałe szesnastkowe Aby wskazać czy dane maj a
Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++
Podstawy programowania Wykład II Tablice (wstęp) Przykłady algorytmów Wstęp do języka C/C++ 1 dr Artur Bartoszewski - Podstawy programowania, sem. 1- WYKŁAD Część I Wstęp do struktur danych: Tablice 2
3. Instrukcje warunkowe
. Instrukcje warunkowe Przykłady.1. Napisz program, który pobierze od użytkownika liczbę i wypisze na ekran słowo ujemna lub nieujemna, w zależności od tego czy dana liczba jest ujemna czy nie. 1 #include
Podstawy 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
Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 1 Podstawy programowania dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Ramowy program warsztatów 1. Pierwsze: Podstawy programowania 2. Drugie:
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw
Programowanie Obiektowo Zorientowane w języku c++ Przestrzenie nazw Mirosław Głowacki 1 1 Akademia Górniczo-Hutnicza im. Stanisława Staszica w Ktrakowie Wydział Inżynierii Metali i Informatyki Stosowanej
Wprowadzenie do informatyki - ć wiczenia
Stałoprzecinkowy zapis liczb wymiernych dr inż. Izabela Szczęch WSNHiD Ćwiczenia z wprowadzenia do informatyki Reprezentacja liczb wymiernych Stałoprzecinkowa bez znaku ze znakiem Zmiennoprzecinkowa pojedynczej
Struktura pliku projektu Console Application
Struktura pliku projektu Console Application #include #include using namespace std; int main(int argc, char *argv[]) // to jest komentarz system("pause"); return EXIT_SUCCESS; Na początku
Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27
Programowanie w C++ Wykład 5 Katarzyna Grzelak 16 kwietnia 2018 K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27 Pojęcia z poprzednich wykładów Tablica to ciag obiektów tego samego typu, zajmujacy ciagły
Ok. Rozbijmy to na czynniki pierwsze, pomijając fragmenty, które już znamy:
Kurs C++ częśd II Podstawowa obsługa konsoli + zmienne. Autor: Dawid Chróścielski. Wprowadzanie i wyprowadzanie danych z/do konsoli. Jak wyprowadzad dane dowiedzieliśmy się już wcześniej (metoda cout z
Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną)
1 Wstęp do informatyki- wykład 12 Funkcje (przekazywanie parametrów przez wartość i zmienną) Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion,
Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory
1 Wstęp do informatyki- wykład 8 Pętla while, do while,for -pętla w pętli- przykłady Operator rzutowania Manipulatory Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania.
Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe
Wykład 15 Wprowadzenie do języka na bazie a Literatura Podobieństwa i różnice Literatura B.W.Kernighan, D.M.Ritchie Język ANSI Kompilatory Elementarne różnice Turbo Delphi FP Kylix GNU (gcc) GNU ++ (g++)
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza na stronie WWW z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed
Podstawy Informatyki. Kompilacja. Historia. Metalurgia, I rok. Kompilatory C++ Pierwszy program. Dyrektywy preprocesora. Darmowe:
Podstawy Informatyki Metalurgia, I rok Historia Lata 0-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard Koniec lat 80 standard
Aplikacje WWW - laboratorium
Aplikacje WWW - laboratorium Język JavaScript Celem ćwiczenia jest przygotowanie formularza HTML z wykorzystaniem języka JavaScript. Formularz ten będzie sprawdzany pod względem zawartości przed wysłaniem
Podstawy Informatyki. Metalurgia, I rok. Wykład 6 Krótki kurs C++
Podstawy Informatyki Metalurgia, I rok Wykład 6 Krótki kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Język C++ zajęcia nr 1
I. Programowanie obiektowe Język C++ zajęcia nr 1 Zasadniczą cechą programowania obiektowego jest łączne rozpatrywanie zagadnień dotyczących algorytmów i struktur danych. Wyrazem tego jest zmiana w sposobie
Rekurencja. Przygotowała: Agnieszka Reiter
Rekurencja Przygotowała: Agnieszka Reiter Definicja Charakterystyczną cechą funkcji (procedury) rekurencyjnej jest to, że wywołuje ona samą siebie. Drugą cechą rekursji jest jej dziedzina, którą mogą być
Systemy liczbowe. 1. Przedstawić w postaci sumy wag poszczególnych cyfr liczbę rzeczywistą R = (10).
Wprowadzenie do inżynierii przetwarzania informacji. Ćwiczenie 1. Systemy liczbowe Cel dydaktyczny: Poznanie zasad reprezentacji liczb w systemach pozycyjnych o różnych podstawach. Kodowanie liczb dziesiętnych
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.
Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą
#include <stdio.h> void main(void) { int x = 10; long y = 20; double s; s = x + y; printf ( %s obliczen %d + %ld = %f, Wynik, x, y, s ); }
OPERACJE WEJŚCIA / WYJŚCIA Funkcja: printf() biblioteka: wysyła sformatowane dane do standardowego strumienia wyjściowego (stdout) int printf ( tekst_sterujący, argument_1, argument_2,... ) ;
ROZDZIAŁ I. Czym i jak to zrobić, czyli narzędzia i metody.
ROZDZIAŁ I Czym i jak to zrobić, czyli narzędzia i metody. Wiele z podanych dalej zadań może być rozwiązane różnymi sposobami, z zastosowaniem różnych narzędzi i metod informatycznych, z wykorzystaniem
Ćwiczenia podstawowe, zestaw 5, część 1
Ćwiczenia podstawowe, zestaw 5, część 1 1 Napisz zestaw funkcji identyfikujących rodzaj znaku Należy napisać funkcje, pozwalające na identyfikowanie typu znaku przekazanego parametrem. Załóżmy, że tworzymy
Zajęcia nr 2 Programowanie strukturalne. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej
Zajęcia nr 2 Programowanie strukturalne dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej Pętla while #include using namespace std; int main ()
utworz 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
Algorytmika i programowanie. Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie
Algorytmika i programowanie Wykład 2 inż. Barbara Fryc Wyższa Szkoła Informatyki i Zarządzania w Rzeszowie Tablice Tablica jest zbiorem elementów tego samego typu. Każdy element jest identyfikowany (numer
Wstę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
Elż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,
Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD
Języki C i C++ Wykład: 2 Wstęp Instrukcje sterujące 1 dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD programowania w C++ Instrukcje sterujące 2 Pętla for for ( instrukcja_ini ; wyrazenie_warunkowe
Luty 2001 Algorytmy (7) 2000/2001 s-rg@siwy.il.pw.edu.pl
System dziesiętny 7 * 10 4 + 3 * 10 3 + 0 * 10 2 + 5 *10 1 + 1 * 10 0 = 73051 Liczba 10 w tym zapisie nazywa się podstawą systemu liczenia. Jeśli liczba 73051 byłaby zapisana w systemie ósemkowym, co powinniśmy
Podstawy Informatyki. Inżynieria Ciepła, I rok. Wykład 10 Kurs C++
Podstawy Informatyki Inżynieria Ciepła, I rok Wykład 10 Kurs C++ Historia Lata 70-te XX w język C (do pisania systemów operacyjnych) "The C programming language" B. Kernighan, D. Ritchie pierwszy standard
Kontrola przebiegu programu
Kontrola przebiegu programu Wykład 9 Instrukcje sterujące: pętle rozgałęzienia skoki PRZYPOMINAJKA Zadanie : Zaprojektuj rekurencyjny przepis na wyznaczenie największej takiej liczby m, że 2 m jest podzielnikiem
( wykł. dr Marek Piasecki )
INE 1007 Informatyka 1 Język programowania C++ ( wykł. dr Marek Piasecki ) Literatura: dowolny podręcznik do języka C++ (na laboratoriach Borland C++ 3.1) Robert Lafore Jerzy Grębosz Andrzej Zalewski Programowanie
Wstęp do informatyki- wykład 9 Funkcje
1 Wstęp do informatyki- wykład 9 Funkcje Treści prezentowane w wykładzie zostały oparte o: S. Prata, Język C++. Szkoła programowania. Wydanie VI, Helion, 2012 www.cplusplus.com Jerzy Grębosz, Opus magnum
5. Rekurencja. Przykłady
5. Rekurencja Uwaga! W tym rozdziale nie są omówione żadne nowe konstrukcje języka C++. Omówiona jest za to technika wykorzystująca funkcje, która pozwala na rozwiązanie pewnych nowych rodzajów zadań.
Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16
M. Trzebiński C++ 1/16 Podstawy języka C++ Maciej Trzebiński Instytut Fizyki Jądrowej Polskiej Akademii Nauk Praktyki studenckie na LHC IFJ PAN 6lipca2015 Uruchomienie maszyny w CC1 M. Trzebiński C++ 2/16
Podstawy programowania. Wykład: 11. Trochę różnych przykładów. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD
Podstawy programowania Wykład: 11 Trochę różnych przykładów 1 dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD Podstawy programowania Przykłady 2 Przykład 1 - palindrom Program sprawdza, czy
while(wyrażenie) instrukcja
emat zajęć: Operatory i instrukcje w języku C - 2 Autor: mgr inż. Sławomir Samolej Zagadnienie 1. (instrukcja cyklu: while) Do wykonywania cyklicznych obliczeń w języku C stosuje się instrukcje cyklu (pętli).
Wprowadzenie do programowania w VBA
Wprowadzenie do programowania w VBA Spis treści Struktura programu... 1 Typy danych... 2 Deklaracja zmiennych i stałych... 2 Deklaracja tablic... 3 Instrukcja przypisania... 3 Wprowadzanie danych... 3