• Nie Znaleziono Wyników

Politechnika Białostocka

N/A
N/A
Protected

Academic year: 2021

Share "Politechnika Białostocka "

Copied!
7
0
0

Pełen tekst

(1)

Informatyka 2

Informatyka 2 (EZ1E3012) (EZ1E3012)

Informatyka 2 Informatyka 2

Politechnika Białostocka

Politechnika Białostocka -- Wydział Elektryczny Wydział Elektryczny

Elektrotechnika, semestr III, studia niestacjonarne I stopnia Elektrotechnika, semestr III, studia niestacjonarne I stopnia

Rok akademicki 2020/2021 Rok akademicki 2020/2021 Rok akademicki 2020/2021 Rok akademicki 2020/2021

Pracownia nr 1 (11.10.2020) Pracownia nr 1 (11.10.2020)

dr inż. Jarosław Forenc

Dane podstawowe Dane podstawowe

dr inż. Jarosław Jarosław ForencForenc

Politechnika Białostocka, Wydział Elektryczny,

Politechnika Białostocka, Wydział Elektryczny,

Katedra Elektrotechniki, Energoelektroniki i Elektroenergetyki ul. Wiejska 45D, 15-351 Białystok

WE-204

e-mail: j.forenc@pb.edu.pl

tel. (0-85) 746-93-97

http://jforenc.prv.pl

http://jforenc.prv.pl

Dydaktyka - dodatkowe materiały do pracowni

Konsultacje

wtorek, 16:00-17:00, WE-204 / Teams

piątek, 09:00-11:00, 14:00-15:00, WE-204 / Teams

sobota, 16:00 -17:00, Teams (zaoczne)

niedziela, 14:00 - 15:30, Teams (zaoczne)

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 3/26

Program przedmiotu Program przedmiotu

1. Zajęcia organizacyjne. Tablice dwuwymiarowe, operacje na tablicach dwuwymiarowych.

na tablicach dwuwymiarowych.

2. Łańcuchy znaków. Plik nagłówkowy string.h.

3. Struktury, odwołania do pól struktury. Inicjalizacja zmiennej strukturalnej.

4. Wskaźniki. Dynamiczny przydział pamięci w języku C.

5. Funkcje, ogólna struktura funkcji. Umieszczanie definicji funkcji w programie. Przekazywanie argumentów do funkcji przez wartość w programie. Przekazywanie argumentów do funkcji przez wartość i wskaźnik. Rekurencyjne wywołanie funkcji.

6. Kolokwium nr 1. Programy wielomodułowe.

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 4/26

Program przedmiotu Program przedmiotu

7. Zaawansowane operacje wejścia-wyjścia w języku C. Pliki tekstowe w języku C.

w języku C.

8. Pliki binarne w języku C.

9. Operacje na plikach tekstowych i binarnych. Kolokwium nr 2.

10. Operatory bitowe. Zaliczenie zajęć.

(2)

Literatura Literatura

1. S. Prata: „Język C. Szkoła programowania. Wydanie VI”. Helion, 2016.

2. B.W. Kernighan, D.M. Ritchie: „Język ANSI C. Programowanie.

2. B.W. Kernighan, D.M. Ritchie: „Język ANSI C. Programowanie.

Wydanie II”. Helion, Gliwice, 2010.

3. P.J. Deitel, H. Deitel: „Język C. Solidna wiedza w praktyce.

Wydanie VIII”. Helion, Gliwice, 2020.

4. K.N. King: „Język C. Nowoczesne programowanie. Wydanie II”.

Helion, Gliwice, 2011.

5. S.G. Kochan: „Język C. Kompendium wiedzy. Wydanie IV”. Helion, 5. S.G. Kochan: „Język C. Kompendium wiedzy. Wydanie IV”. Helion,

Gliwice, 2015.

6. R. Reese: „Wskaźniki w języku C. Przewodnik”. Helion, Gliwice, 2014.

7. Instrukcje do pracowni specjalistycznej.

8. Materiały na stronie internetowej:

http://jforenc.prv.pl/dydaktyka.html

Warunki zaliczenia przedmiotu Warunki zaliczenia przedmiotu

Obecność na zajęciach:

więcej niż dwie nieusprawiedliwione nieobecności skutkują

więcej niż dwie nieusprawiedliwione nieobecności skutkują niezaliczeniem pracowni

Realizacja w trakcie zajęć zadań przedstawionych przez prowadzącego

Zaliczenie dwóch kolokwiów - praktycznych sprawdzianów pisania programów komputerowych

kolokwium nr 1: zajęcia nr 6 (ocena efektów EU1 i EU2)

kolokwium nr 2: zajęcia nr 9 (ocena efektów EU3 i EU4)

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 7/26

Warunki zaliczenia przedmiotu Warunki zaliczenia przedmiotu

Zaliczenie dwóch kolokwiów - praktycznych sprawdzianów pisania programów komputerowych (c.d.):

programów komputerowych (c.d.):

poprawy kolokwiów odbędą się poza zajęciami

oba kolokwia muszą być zaliczone na ocenę pozytywną (min. 51 pkt.)

na kolokwiach można korzystać z materiałów w formie drukowanej (instrukcje do przedmiotu, książki, notatki, itp.)

za każde kolokwium można otrzymać od 0 do 100 pkt.

na podstawie otrzymanych punktów wystawiana jest ocena:

Punkty Ocena Punkty Ocena

91 - 100 5,0 61 - 70 3,5

81 - 90 4,5 51 - 60 3,0

71 - 80 4,0 0 - 50 2,0

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 8/26

Warunki zaliczenia przedmiotu Warunki zaliczenia przedmiotu

Zaliczenie prac domowych:

prace domowe polegają na napisaniu programów komputerowych

prace domowe polegają na napisaniu programów komputerowych wskazanych przez prowadzącego zajęcia

pracę domową należy wysłać na adres e-mailowy: j.forenc@pb.edu.pl do końca dnia (godz. 23:59), w którym odbywają się kolejnezajęcia

błędy w programach mogą być poprawione do końca dnia, w którym będą odbywały się następne zajęcia

za każdy poprawnie działający program student otrzymuje 1 pkt.

w przypadku stwierdzenia niesamodzielności pracy domowej:

w przypadku stwierdzenia niesamodzielności pracy domowej:

nie jest ona zaliczana, nie można jej ponownie oddać, student otrzymuje -1 pkt.

należy wysyłać tylko pliki z kodem źródłowym (.cpp, .c)

przed wysłaniem programu należy sprawdzić czy program:

o kompiluje się oraz kompilator nie wyświetla ostrzeżeń o jest poprawnym rozwiązaniem zadania

(3)

Warunki zaliczenia przedmiotu Warunki zaliczenia przedmiotu

przed wysłaniem programu należy sprawdzić czy program:

o ma odpowiednio sformatowany kod źródłowy (Ctrl + K + F) o ma odpowiednio sformatowany kod źródłowy (Ctrl + K + F) o nosi nazwę zgodną z poniższym wzorcem:

Nazwisko_Imie_NrInstrukcji_NrZadania.cpp np. Kowalski_Jan_INF21Z_3.cpp

o zawiera na początku komentarz nagłówkowy:

/*

Nazwa: Kowalski_Jan_INF21Z_3.cpp Autor: Jan Kowalski

Album: 123456 Data: 01-10-2020 Kod: EZ1E3012

Forma: Pracownia specjalistyczna IDE: Microsoft Visual Studio 2008

Opis: Program wyświetlający tekst "Witaj swiecie"

*/

Warunki zaliczenia przedmiotu Warunki zaliczenia przedmiotu

Zaliczenie prac domowych (c.d.):

zaliczenie prac domowych wymaga otrzymania min. 70%

zaliczenie prac domowych wymaga otrzymania min. 70%

maksymalnej liczby punktów

Ocena końcowa wyznaczana jest na podstawie sumy otrzymanych punktów za kolokwia oraz punktów za prace domowe:

Punkty Ocena Punkty Ocena

182 - 200 5,0 122 - 141 3,5

162 - 181 4,5 102 - 121 3,0

142 - 161 4,0 0 - 101 2,0

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 11/26

Warunki zaliczenia przedmiotu Warunki zaliczenia przedmiotu

Zmiany warunków zaliczenia przedmiotu w okresie czasowego

Obecność na zajęciach prowadzonych zdalnie

Realizacja w trakcie zajęć zadań przedstawionych przez prowadzącego

Zaliczenie dwóch kolokwiów - praktycznych sprawdzianów pisania programów komputerowych (kolokwia odbędą się z wykorzystaniem

ograniczenia lub zawieszenia funkcjonowania Uczelni

programów komputerowych (kolokwia odbędą się z wykorzystaniem technik zdalnego nauczania)

Zaliczenie prac domowych

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 12/26

Efekty uczenia się i system ich oceniania Efekty uczenia się i system ich oceniania

Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi stwierdzenie, że każdy z założonych efektów uczenia się został osiągnięty w co najmniej minimalnym akceptowalnym stopniu.

Podstawę do zaliczenia przedmiotu (uzyskanie punktów ECTS) stanowi stwierdzenie, że każdy z założonych efektów uczenia się został osiągnięty w co najmniej minimalnym akceptowalnym stopniu.

EU2 definiuje i wykorzystuje własne funkcje w programach w języku C

EU1 wykonuje podstawowe operacje na tablicach dwuwymiarowych w programach w języku C

EU2 w języku C

EU3 tworzy programy wielomodułowe w języku C

EU4 stosuje operacje zapisu i odczytu plików w samodzielnie napisanych programach komputerowych

(4)

Język C

Język C -- tablica elementów tablica elementów

Tablica- ciągły obszar pamięci, w którym umieszczone są elementy tego samego typu

elementy tego samego typu

wektor

1.2 2.5 2.0 10.0

-0.1 4.3 6.2 -5.1

0.0 12.2 4.1 -2.2

macierz

Język C

Język C -- deklaracja tablica dwuwymiarowej deklaracja tablica dwuwymiarowej

float

tab[3][4];

0 1 2 3

float

tab[3][4];

nazwa liczba kolumn

typ elementów liczba wierszy

0 1 2 3

0 1 2

indeks kolumny

indeks wiersza

Rozmiar tablicy (liczba wierszy, liczba kolumn) to wartość:

– całkowita, dodatnia

– znana na etapie kompilacji programu

(stała liczbowa: 5, #defineN5, const intn= 5;)

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 15/26

Język C

Język C -- odwołania do elementów macierzy odwołania do elementów macierzy

[ ]- dwuargumentowy operator indeksowania

indeks (numer) kolumny

nazwa tablicy

[ ] dwuargumentowy operator indeksowania

tab[1][2];

Indeks:

indeks (numer) wiersza

– stała liczbowa, np. 0, 1, 10

– nazwa zmiennej, np. i, idx

– wyrażenie, np. i*j+5

Brak sprawdzania poprawności indeksów!

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 16/26

Język C

Język C -- inicjalizacja elementów macierzy inicjalizacja elementów macierzy

0 1 2

int

T[2][3] = {{1,2,3},{4,5,6}};

int

T[2][3] {1,2,3,4};

int

T[2][3] = {1,2,3,4,5,6};

1 0

2 3 1 2

4 5 6

0 1

int

T[2][3] = {1,2,3,4};

int

T[2][3] = {{1},{4,5}};

(5)

Język C

Język C -- inicjalizacja elementów macierzy inicjalizacja elementów macierzy

0 0

0 0 1 2

int

T[2][3] = {0};

0

int

T[][3] = {{1,2,3},{4,5,6}};

1 0

2 3 1 2

4 5 6

0 1

0 0 0

0 0 0

0 1 wyzerowanie elementów macierzy

pominięcie liczby wierszy

Język C

Język C -- operacje na macierzy operacje na macierzy

#include <stdio.h>

#include <stdio.h>

#include <stdlib.h>

#include <time.h>

#define N 3 /* liczba wierszy */

#define M 3 /* liczba kolumn */

int main(void) {

M

int tab[N][M];

int i, j;

0 1 2

0

1

2 N

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 19/26

Język C

Język C -- operacje na macierzy operacje na macierzy

/* generowanie pseudolosowe elementow macierzy */

/* generowanie pseudolosowe elementow macierzy */

srand((unsigned int) time(NULL));

for (i=0; i<N; i++) for (j=0; j<M; j++)

tab[i][j] = rand() % 10;

M

9

0

3 1

1 2

6 4 8

9 4 6

0

1

2 N

0 1 2

0

1

2

kolejność zapisywania wartości elementów macierzy

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 20/26

Język C

Język C -- operacje na macierzy operacje na macierzy

/* wyswietlenie elementow macierzy */

/* wyswietlenie elementow macierzy */

for (i=0; i<N; i++) {

for (j=0; j<M; j++)

printf("%3d",tab[i][j]);

printf("\n");

} 9 3 1

6 4 8

0 1 2

0

1

2

9 4 6

(6)

Język C

Język C -- operacje na macierzy operacje na macierzy

/* poszukiwanie elementu o wartosci minimalnej */

/* poszukiwanie elementu o wartosci minimalnej */

int min = tab[0][0];

for (i=0; i<N; i++) for (j=0; j<M; j++)

if (tab[i][j] < min) min = tab[i][j];

printf("Wartosc min: %d\n",min); Wartosc min: 1

0 1 2

0

1

2

Język C

Język C -- operacje na macierzy operacje na macierzy

/* suma i srednia arytmetyczna elementow */

/* suma i srednia arytmetyczna elementow */

int suma = 0;

for (i=0; i<N; i++) for (j=0; j<M; j++)

suma = suma + tab[i][j];

float srednia = (float) suma/(N*M);

printf("Suma: %d\n",suma);

printf("Srednia: %f\n\n",srednia);

0 1 2

0

1

2

Suma: 50

Srednia: 5.555555

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 23/26

Język C

Język C -- operacje na macierzy operacje na macierzy

/* sumy elementow w poszczegolnych wierszach */

/* sumy elementow w poszczegolnych wierszach */

for (i=0; i<N; i++) {

suma = 0;

for (j=0; j<M; j++)

suma = suma + tab[i][j];

printf("Suma wiersza %d = %d\n",i,suma);

}

0 1 2

0

1

2

Suma wiersza 0 = 13 Suma wiersza 1 = 18 Suma wiersza 2 = 19

Informatyka 2 (EZ1E3012), studia niestacjonarne I st. dr inż. Jarosław Forenc

Rok akademicki 2020/2021, Pracownia nr 1 24/26

Język C

Język C -- operacje na macierzy operacje na macierzy

/* sumy elementow w poszczegolnych kolumnach */

/* sumy elementow w poszczegolnych kolumnach */

for (j=0; j<M; j++) {

suma = 0;

for (i=0; i<N; i++)

suma = suma + tab[i][j];

printf("Suma kolumny %d = %d\n",j,suma);

}

Suma kolumny 0 = 24 Suma kolumny 1 = 11 Suma kolumny 2 = 15

(7)

Język C

Język C -- operacje na macierzy operacje na macierzy

/* sumy elementow nad, na i ponizej przekatnej */

/* sumy elementow nad, na i ponizej przekatnej */

suma = suma1 = suma2 = 0;

for (i=0; i<N; i++) for (j=0; j<M; j++) {

if (i < j) suma1+=tab[i][j]; /* nad */

if (i > j) suma2+=tab[i][j]; /* pod */

if (i == j) suma+=tab[i][j]; /* na */

} }

printf("Suma nad: %d\n",suma1);

printf("Suma na: %d\n",suma);

printf("Suma pod: %d\n",suma2);

Suma nad: 12 Suma na: 19 Suma pod: 19

Język C

Język C -- operacje na macierzy operacje na macierzy

j j j

0,0

0

0,1 0,2

1 2

1,0 1,1 1,2 2,0 2,1 2,2

0

1

2 i

0,0

0

0,1 0,2

1 2

1,0 1,1 1,2 2,0 2,1 2,2

0

1

2 i

0,0

0

0,1 0,2

1 2

1,0 1,1 1,2 2,0 2,1 2,2

0

1

2 i

i < j i = j i > j

Suma nad: 12 Suma na: 19 Suma pod: 19

j j j

0 1 2

0

1

2

Cytaty

Powiązane dokumenty

K_U04 Samodzielnie zdobywa i utrwala wiedzę z zakresu nauk o sztuce, nauk o zarządzaniu i jakości oraz literaturoznawstwa; wiedzę tę wykorzystuje w działalności menedżerskiej

Prezentacja, egzamin ustny lub pisemny, indywidualny raport z projektu, projekt, test wielokrotnego wyboru, dyskusja, sprawdzian pisemny, test końcowy, przygotowanie

C 1 - student nabywa wiedzę z zakresu ergonomii architektury we wnętrzu, zna zasady ergonomii projektowania poruszania się we wnętrzu, projektowania mebla i

3 Ocenianie ciągłe (bieżące przygotowanie do zajęć), śródsemestralne zaliczenie pisemne, śródsemestralne zaliczenie ustne, końcowe zaliczenia pisemne, końcowe zaliczenia

Teoria przekładu Językoznawstwo ogólne Językoznawstwo stosowane (e-learning) Współczesny język angielski i jego odmiany Metodologia badań kulturoznawczych Analiza języka

(wypełnia koordynator praktyki ocena podsumowująca na

• 3) osobie posiadającej tytuł zawodowy magistra lub równorzędny i co najmniej dwa lata doświadczenia zawodowego po ukończeniu studiów drugiego stopnia albo jednolitych

egzamin pisemny (w formie opisowej lub testowej, rozwiązywanie zadań i problemów); zaliczenie pisemne/kolokwium (w formie opisowej lub testowej, rozwiązywanie zadań i