Przykªadowe tematy z JiMP

Podobne dokumenty
1. Wprowadzenie do C/C++

Podstawy Programowania Podstawowa składnia języka C++

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

wykład III uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - zarządzanie pamięcią, struktury,

1. Wprowadzenie do C/C++

Programowanie i struktury danych

Wykład 15. Literatura. Kompilatory. Elementarne różnice. Preprocesor. Słowa kluczowe

Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.

1 Bª dy i arytmetyka zmiennopozycyjna

Typy złożone. Struktury, pola bitowe i unie. Programowanie Proceduralne 1

Vincent Van GOGH: M»czyzna pij cy li»ank kawy. Radosªaw Klimek. J zyk programowania Java

Zestaw 1 ZESTAWY A. a 1 a 2 + a 3 ± a n, gdzie skªadnik a n jest odejmowany, gdy n jest liczb parzyst oraz dodawany w przeciwnym.

1 Wskaźniki i zmienne dynamiczne, instrukcja przed zajęciami

Wska¹niki, tablice dynamiczne wielowymiarowe

Funkcja (podprogram) void

Podstawy programowania C. dr. Krystyna Łapin

Wstęp do Programowania, laboratorium 02

Pliki. Informacje ogólne. Obsługa plików w języku C

Wykład VII. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

C++ wprowadzanie zmiennych

Lab. 02: Algorytm Schrage

4. Funkcje. Przykłady

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy programowania. Wykład Pętle. Tablice. Krzysztof Banaś Podstawy programowania 1

Bash i algorytmy. Elwira Wachowicz. 20 lutego

1 Klasy. 1.1 Denicja klasy. 1.2 Skªadniki klasy.

Typy danych i formatowanie

Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.

wiczenie 1 Podstawy j zyka Java. Instrukcje warunkowe

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 2. Karol Tarnowski A-1 p.

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

Programowanie Proceduralne

Wskaźniki. Programowanie Proceduralne 1

Zadania z kolokwiów ze Wst pu do Informatyki. Semestr II.

Podstawy Programowania.

Kompilowanie programów

Microsoft IT Academy kurs programowania

Pytania sprawdzające wiedzę z programowania C++

Tablice deklaracja, reprezentacja wewnętrzna

Podstawy Programowania

2 Przygotował: mgr inż. Maciej Lasota

Interpolacja Lagrange'a, bazy wielomianów

Programowanie 2. Język C++. Wykład 2.

Wartości domyślne, szablony funkcji i klas

Biblioteka standardowa - operacje wejścia/wyjścia

Zmienne, stałe i operatory

Podstawy programowania w języku C++

wykład II uzupełnienie notatek: dr Jerzy Białkowski Programowanie C/C++ Język C - funkcje, tablice i wskaźniki wykład II dr Jarosław Mederski Spis

Programowanie strukturalne i obiektowe

2 Skªadnia polece«w pliku

Pobieranie argumentów wiersza polecenia

Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1. Kraków 2013

Pliki w C/C++ Przykłady na podstawie materiałów dr T. Jeleniewskiego

Functionalization. Funkcje w C. Marcin Makowski. 30 listopada Zak lad Chemii Teoretycznej UJ

Pliki wykład 2. Dorota Pylak

Tablice i struktury. czyli złożone typy danych. Programowanie Proceduralne 1

Temat: Dynamiczne przydzielanie i zwalnianie pamięci. Struktura listy operacje wstawiania, wyszukiwania oraz usuwania danych.

Tablice, funkcje - wprowadzenie

Metody Metody, parametry, zwracanie wartości

WYKŁAD 8. Funkcje i algorytmy rekurencyjne Proste przykłady. Programy: c3_1.c..., c3_6.c. Tomasz Zieliński

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

Informatyka, Ćwiczenie Uruchomienie Microsoft Visual C++ Politechnika Rzeszowska, Wojciech Szydełko. I. ZałoŜenie nowego projektu

Algorytmy i złożoności. Wykład 3. Listy jednokierunkowe

Wstęp do programowania 1

Sieciowa komunikacja procesów - XDR i RPC

utworz tworzącą w pamięci dynamicznej tablicę dwuwymiarową liczb rzeczywistych, a następnie zerującą jej wszystkie elementy,

tablica: dane_liczbowe

Zbiory ograniczone i kresy zbiorów

Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej

Wykład 1

RPC. Zdalne wywoływanie procedur (ang. Remote Procedure Calls )

Pliki. Informacje ogólne. Obsługa plików w języku C

Programowanie - instrukcje sterujące

1 Podstawy c++ w pigułce.

Podstawy programowania

Algorytmy tekstowe. Andrzej Jastrz bski. Akademia ETI

Wska¹niki, tablice dynamiczne jednowymiarowe, staªe

WYKŁAD 10. Zmienne o złożonej budowie Statyczne i dynamiczne struktury danych: lista, kolejka, stos, drzewo. Programy: c5_1.c, c5_2, c5_3, c5_4, c5_5

Programowanie I C / C++ laboratorium 02 Składnia pętli, typy zmiennych, operatory

Formatowane (tekstowe) wejście/wyjście. Binarne wejście/wyjście.

ANALIZA NUMERYCZNA. Grzegorz Szkibiel. Wiosna 2014/15

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

1. Podstawy budowania wyra e regularnych (Regex)

Podziaª pracy. Cz ± II. 1 Tablica sortuj ca. Rozwi zanie

Język ludzki kod maszynowy

Ćwiczenie 4. Obsługa plików. Laboratorium Podstaw Informatyki. Kierunek Elektrotechnika. Laboratorium Podstaw Informatyki Strona 1.

IX. Wskaźniki.(3 godz.)

Co nie powinno być umieszczane w plikach nagłówkowych:

Podstawy programowania w języku C++

Katedra Elektrotechniki Teoretycznej i Informatyki. wykład 12 - sem.iii. M. Czyżak

Programowanie I C / C++ laboratorium 03 arytmetyka, operatory

Tablicę 2-wymiarową można przedstawić jako pewien zestaw tablic 1-wymiarowych np.:

Arytmetyka zmiennopozycyjna

ARYTMETYKA MODULARNA. Grzegorz Szkibiel. Wiosna 2014/15

Podstawy programowania w języku C

۰ Elementem jednostkowym takiego pliku jest bajt. ۰ Format pliku binarnego: [bajty pliku][eof]

Argumenty wywołania programu, operacje na plikach

nowe operatory &. (kropka) * operator rzutowy ->, (przecinek) sizeof

Zbiory i odwzorowania

Transkrypt:

Przykªadowe tematy z JiMP 1. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z punktw na centymetry, (77.27 pt = 1 cal = 2.54 cm) tzn. np. wywoªanie: c:\>pkt 144.54 = 5.08 cm spowoduje wypisanie: 2. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania, ze stopni Celsjusza na stopnie Fahrenheita (c = 5/9*(f-32)) c:\>cel 10 spowoduje wypisanie: = 50 st. F 3. Prosz napisa program, który dokona konwersji swojego argumentu wywoªania z centymetrów na stopy i cale (30cm=1ft, 2.54cm=1in ), tzn. na przyklad wywoªanie: c:\>cm 182 spowoduje wypisanie: okolo 6 stop i 1 cal 4. Prosz napisa program, zamieniaj cy wszystkie litery na maªe (czyta z stdin, pisze na stdout). 5. Prosz napisa funkcj int bc( unsigned int n ); zliczaj c zapalone (czyli == 1) bity w n. 6. Prosz napisa program wypisuj cy na stdout pierwszych 15 linii z pliku, ktorego nazwa podana jest jako argument tzn. na przyklad wywoªanie: c:\>p15 jakisplik.txt spowoduje wypisanie na ekran pierwszych 15 linii z pliku jakisplik.txt. 7. Prosz napisa program, który zlicza znaki w podanym jako pierwszy argument sªowie i wypisuje je na stdout, tzn. wywoªany w postaci c:\>ile abcdefgh spowoduje wypisanie: 8 8. Prosz napisa funkcj double *max( int n, double v[] ) zwracaj c wska¹nik do maksymalnego elementu wektora v. Jak zachowuje si Twoja funkcja, je±li w wektorze jest kilka elementów o maksymalnej warto±ci? 9. Prosz napisa program, który odwraca kolejno± liter w podanym jako argument sªowie i wypisuje je na stdout, tzn. wywoªany w postaci c:\>wspak abcdefgh spowoduje wypisanie: hgfedcba 10. Prosz napisa funkcj, która skleja dowoln liczb ci gów znaków w jeden: char *napis= sklej( "Ala ", "ma ", "kota.", "" ); Prosz zaªo»y,»e wynik nie b dzie dªu»szy ni» 128 znaków. 1

11. Do czego sªu»y plik stdarg.h. Prosz wykorzysta ten mechanizm do napisania funkcji, która sumuje dowoln liczb dodatnich liczb double: double trzynascie= suma( 0.0, 5.5, 1.25, 2.25, 4., -1. ); Ostatnia liczba jest ujemna i sªu»y tylko do zaznaczenia ko«ca sumowanego ci gu. 12. Dana jest tablica t zwieraj ca struktury: typedef struct { int key; string signature; Elem; Elem t[1000]; Napisz funkcj porównuj c do sortowania t rosn co ze wzgl du na pole key przy pomocy funkcji standardowej qsort. 13. Prosz napisa funkcj nazwa, która pobiera ci g znaków i liczb caªkowit i zwraca nazw pliku zgodnie z przykªadem: char *fn= nazwa( "c:\temp\moj", 1 ) FILE *f= fopen( fn, "w" ) spowoduje otwarcie do pisania pliku o nazwie c:\temp\moj.1 14. Dana jest tablica t zwieraj ca struktury: typedef struct { int key; float val; Elem; Elem t[1000]; Napisz funkcj porównuj c do wyszukiwania w t elementów o danej warto±ci pola key przy pomocy funkcji standardowej bsearch. 15. Prosz pokaza na przykªadzie jak wygl da i do czego sªu»y prototyp funkcji? Czy prototyp funkcji mo»e wyst pi w tym samym pliku, co denicja funkcji? Je»eli tak, to prosz zademonstrowa przydatno± takiej konstrukcji. 16. Prosz zdeniowa typy (napisa odp. deklar. typedef): a) wska¹nik do funkcji pobieraj cej argument typu int i zwracaj cej obiekt double, b) wska¹nik do funkcji pobieraj cej wska¹nik na tablic napisów i zwracaj cej tablic liczb int, c) wska¹nik do struktury zawieraj cej: liczb int, napis o dowolnej" dªugo±ci i wska¹nik do takiej samej struktury d) tablice pi c ciu wska¹ników do funkcji pobieraj cej argument typu int i zwracaj cej obiekt int. 2

17. Jaki ci g znaków zostanie wypisany w wyniku dziaªania nast puj cego fragmentu int a= 12, b= 16, c= 2; a -= b + c >> 2; printf( " a is %d\n", a ); Uwaga: odpowied¹ nie jest trywialna. 18. Jaki ci g znaków zostanie wypisany w wyniku dziaªania nast puj cego fragmentu programu (program daje si skompilowa i jest poprawny): #define MAX 3 int i; int a[] = { 0,1,2,3,4,5; #ifndef DEBUG for( i= 0; i < MAX; i++ ) printf( " %d\n", a[i] ); #else printf( "Done!" ); #endif printf( "\n" );... 19. W wyniku próby kompilacji static int ar[]= {1,2,3,4,5,6,7,8,9,0; int a= 5++; printf( "%d\n", ar[a] ); Pojawiª si nast puj cy komunikat o bª dzie: Error xx.c 4: Lvalue required in function main Prosz go wyja±ni. 20. Prosz przeanalizowa fragment int *a, *b; int x= 5, y= 10; a= &x; *b *= *a + x - y; printf( "%d\n", *b ); Jakie mog by skutki dziaªania tego kodu oraz jaki ci g znaków zostanie wypisany na stdout. 3

21. Prosz napisa makroinstrukcj ZAM( i, j, v ) równowa»n funkcji void zamien( int i, int j, double v[] ) { double tmp= v[i]; v[i]= v[j]; v[j]= tmp; 22. Jaki ci g znaków zostanie wypisany w wyniku dziaªania nast puj cego int count( int x ) { static int log; log += x; return log; int i; for( i= 1; i <= 30; ) { i= count( i ); printf( " %d", i ); 23. Jaki ci g znaków zostanie wypisany w wyniku dziaªania nast puj cego int val( int x ) { while( x < 5 ) x++; return x << 3; int s, a= 1; s= val( a ); printf( "s= %d\n", s ); 24. Jaki ci g znaków zostanie wypisany w wyniku dziaªania nast puj cego void sw( int x, int *y ) { 4

int t= x; x= *y; *y= t; int a= 5, b= 10; sw( &a, b ); printf( "a= %d b= %d\n", a, b ); 25. Jaki ci g znaków zostanie wypisany w wyniku dziaªania nast puj cego cnt( int *a, int n ) { int p= 0; while( --n >= 0 ) p += a[n] > 0? 1 : 0; return p; int a[]= {1,2,3,-4,5,-6; int ne= (sizeof a / sizeof a[0]); int nd= cnt( a, ne ); printf( "%d elements, %d positive\n", ne, nd ); 26. Napisz makrodenicj max( A, B, C ) zwracaj c warto± najwi ksz z A,B,C. Np. max( 1, -1, 0 ) => 1 27. Dany jest wska¹nik na znak, np.: char *p= " \t\n\t ABC \n\n\n"; napisz fragment kodu, który zmodykuje wska¹nik p tak, aby wskazywaª on na ostatni znak ró»ny od spacji, tabulatora i znaku ko«ca wiersza (kod powinien by niezale»ny od zawarto±ci ci gu znaków wskazywanego przez p). 28. Napisz funkcj 5

char *wstrip( char *s ); usuwaj c wszystkie biaªe znaki z s. Funkcja powinna zwraca wska¹nik do zmodykowanego ci gu znaków. 29. Dany jest wska¹nik na znak, np.: char *p= " \t\n\t ABC"; napisz fragment kodu obliczaj cy liczb biaªych znaków w ci gu wskazywanym przez p (kod powinien by niezale»ny od zawarto±ci ci gu znaków wskazywanego przez p). Przyjmij,»e ci g ko«czy si znakiem '\0'. 30. Napisz funkcj double min_diff( int n, double v[], double w[] ); zwracaj c minimalny element ró»nicy wektorów v - w, o dªugo±ci n ka»- dy. 31. Napisz funkcj double l2( int n, double v[] ); zwracaj c norm L2 (pierwiastek z sumy kwadratów elementów) wektora v o dªugo±ci n. 32. Aby skompilowa pewien program nale»y wykona nast puj ce polecenia cc -c project.c cc -c filesystem.c cc -o dir project.o filesystem.o Prosz napisa równowa»ny skrypt dla programu make. 33. Pewien program w j zyku C skªada si z trzech plików: main.c, interface.h, data.h. Pliki nagªówkowe *.h s wci gane do pliku main.c. Poza tym program zale»y od pliku formats.html. Kompilacj programu wykonuje si przy pomocy nast puj cego polecenia: cc -o main.cgi main.c Prosz napisa skrypt dla programu make, który b dzie tworzyª now wersj main.cgi je»eli od ostaniej kompilacji zmieniª si który± z plików ¹ródªowych. 34. Prosz napisa do czego sªu» zmienne w skryptach dla programu make, i pokaza na przykªadzie, jak tych zmiennych u»ywa. 35. Prosz opisa, jak wygl da reguªa w skryptach dla programu make, i pokaza na przykªadzie, jej elementy skªadowe. 6