ZÁPOČTOVÝ TEST. Zpracoval Vilém Závodný, http://narrow.ic.cz. #include "stdafx.h" #include "stdio.h"



Podobné dokumenty
Program převod z desítkové na dvojkovou soustavu: /* Prevod desitkove na binarni */ #include <stdio.h>

8. lekce Úvod do jazyka C 3. část Základní příkazy jazyka C Miroslav Jílek

Struktury a dynamické proměnné

9. lekce Úvod do jazyka C 4. část Funkce, rekurze Editace, kompilace, spuštění Miroslav Jílek

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Např.: // v hlavičkovém souboru nebo na začátku // programu (pod include): typedef struct { char jmeno[20]; char prijmeni[20]; int rok_nar; } CLOVEK;

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Aplikace Embedded systémů v Mechatronice. Michal Bastl A2/713a

Proměnná. Datový typ. IAJCE Cvičení č. 3. Pojmenované místo v paměti sloužící pro uložení hodnoty.

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

- jak udělat konstantu long int: L long velka = 78L;

1. lekce. do souboru main.c uložíme následující kód a pomocí F9 ho zkompilujeme a spustíme:

Zápis programu v jazyce C#

Formátové specifikace formátovací řetězce

Základy jazyka C. Základy programování 1 Tomáš Kühr

Operační systémy. Cvičení 3: Programování v C pod Unixem

Operační systémy. Cvičení 4: Programování v C pod Unixem

Výrazy a operátory. Operátory Unární - unární a unární + Např.: a +b

Algoritmizace a programování

Programování v C++ 1, 1. cvičení

Pole a Funkce. Úvod do programování 1 Tomáš Kühr

Školní kolo soutěže Baltík 2009, kategorie C

Programování v jazyce C pro chemiky (C2160) 6. Funkce, struktury

ZPRO v "C" Ing. Vít Hanousek. verze 0.3

Správné vytvoření a otevření textového souboru pro čtení a zápis představuje

Struktury a dynamická paměť

for (i = 0, j = 5; i < 10; i++) { // tělo cyklu }

C# konzole Podíl dvou čísel, podmínka IF

- dělají se také pomocí #define - podobné (použitím) funkcím - předpřipravená jsou např. v ctype.h. - jak na vlastní makro:

Začínáme vážně programovat. Řídící struktury Přetypování Vstupně výstupní operace Vlastní tvorba programů

Jazyk C Program v jazyku C má následující strukturu: konstanty nebo proměnné musí Jednoduché datové typy: Strukturované datové typy Výrazy operátory

Základy algoritmizace a programování

Formátová specifikace má tvar (některé sekce nemají smysl pro načítání) %

Řešení sady 1. Úvod do programování 1 Tomáš Kühr

Objektově orientované programování

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE LEXIKÁLNÍ ANALÝZA

Lekce 19 IMPLEMENTACE OPERAČNÍHO SYSTÉMU LINUX DO VÝUKY INFORMAČNÍCH TECHNOLOGIÍ JAZYK C

Př. další použití pointerů

Programovací jazyk C++ Hodina 1

Jazyk C++, některá rozšíření oproti C

PROGRAMOVACÍ JAZYKY A PŘEKLADAČE REALIZACE PŘEKLADAČE I

Základy programování (IZP)

Algebraické výrazy. Algebraický výraz je zápis složený z čísel, písmen (označujících proměnné), znaků matematických funkcí ( +, -,, :, 2, ) a závorek.

Pole stručný úvod do začátku, podrobně později - zatím statická pole (ne dynamicky) - číslují se od 0

10 Práce s řetězci - pokračování

PROGRAMOVÁNÍ V C++ CVIČENÍ

Programování v jazyce C pro chemiky (C2160) 5. Čtení dat ze souboru

Základy jazyka C. Základy programování 1 Martin Kauer (Tomáš Kühr)

Úvod do jazyka C. Ing. Jan Fikejz (KST, FEI) Fakulta elektrotechniky a informatiky Katedra softwarových technologií

Základy programování (IZP)

Strukturu lze funkci předat: (pole[i])+j. switch(výraz) velikost ukazatele

2 Základní funkce a operátory V této kapitole se seznámíme s použitím funkce printf, probereme základní operátory a uvedeme nejdůležitější funkce.

Základy programování (IZP)

Programování v jazyce C pro chemiky (C2160) 4. Textové řetězce, zápis dat do souboru

Úvod do programování. Lekce 1

a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 2 3 x. a jeho hodnotu pro x = 2 a jeho hodnotu pro x = 6; x = = 1 7 a jeho hodnotu pro x = 2

Racionální čísla. Množinu racionálních čísel značíme Q. Zlomky můžeme při počítání s nimi:

68. ročník Matematické olympiády 2018/2019

Cykly. Základy programování 1 Martin Kauer (Tomáš Kühr)

Funkce, intuitivní chápání složitosti

Variace. Mocniny a odmocniny

Základy jazyka C. Úvod do programování 1 Tomáš Kühr

Sada 1 - Základy programování

II. Úlohy na vložené cykly a podprogramy

VÝUKOVÝ MATERIÁL. Bratislavská 2166, Varnsdorf, IČO: tel Číslo projektu

Martin Flusser. December 15, 2016

Racionální čísla, operátory, výrazy, knihovní funkce

2 Datové typy v jazyce C

Odvozené a strukturované typy dat

Opakování programování

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

ADT/ADS = abstraktní datové typy / struktury

Programy na PODMÍNĚNÝ příkaz IF a CASE

BI-PA1 Programování a algoritmizace 1 Katedra teoretické informatiky

Šablony funkcí a tříd (Templates) Genericita

Základy programování (IZP)

Základy programování (IZP)

Racionální čísla, operátory, výrazy, knihovní funkce

Data v počítači. Informační data. Logické hodnoty. Znakové hodnoty

- speciální symboly + - * / =., < > <> <= >= a další. Klíčová slova jsou chráněnými útvary, které nelze použít ve významu identifikátorů.

Michal Krátký. Úvod do programovacích jazyků (Java), 2006/2007

Dotazy tvorba nových polí (vypočítané pole)

X37SGS Signály a systémy

PROMĚNNÉ, KONSTANTY A DATOVÉ TYPY TEORIE DATUM VYTVOŘENÍ: KLÍČOVÁ AKTIVITA: 02 PROGRAMOVÁNÍ 2. ROČNÍK (PRG2) HODINOVÁ DOTACE: 1

Algoritmizace a programování

Poslední nenulová číslice faktoriálu

Čtvrtek 8. prosince. Pascal - opakování základů. Struktura programu:

Seminář z IVT Proměnné a operátory. Slovanské gymnázium Olomouc 11. září 2014 Tomáš Kühr

Anotace: Digitální učební materiály slouží k zopakování a k testování získaných znalostí a dovedností.

Informační systémy 2008/2009. Radim Farana. Obsah. Dotazy přes více tabulek

Programování v C++ 3, 3. cvičení

Základy jazyka C. Úvod do programování 1 Tomáš Kühr

3 KTE / ZPE Informační technologie

A[a 1 ; a 2 ; a 3 ] souřadnice bodu A v kartézské soustavě souřadnic O xyz

Programování a počítače 1 Počítačová cvičení pro obor B-EST

Paměť počítače. alg2 1

6. lekce Úvod do jazyka C knihovny datové typy, definice proměnných základní struktura programu a jeho editace Miroslav Jílek

Programování v C++, 2. cvičení

Algoritmizace a programování

Transkript:

BPC2 ZÁPOČTOVÝ TEST PROSÍM ČTĚTE!!!! Příklady jsou zpracovány tak aby bylo možné je odzkoušet v programu Microsoft Visual C++ jako konzolovou aplikaci. Všechny příklady jsou 100% funkční. V červeném rámečku je část programu, která stačí vypsat do testu. Za vzniklé škody nenese autor zodpovědnost! 1. Pokladna na čerpací stanici ukládá do řádků pole float money[3][100] údaje o tom, kolik jednotliví zákazníci zaplatili za natankovanou naftu (31 Kč/l), natural 95 (33 Kč/l) a natural 98 (35 Kč/l). Za hodnotou posledního nákupu je vždy uloženo záporné číslo. Vytvořte program, který vypočítá počet prodaných litrů každého paliva. 5 b. (NENÍ MI ÚPLNĚ JASNÉ ZADÁNÍ beru v úvahu, že na první řádku je útrata za naftu, na druhém za natural 95 a na třetím za natural 98) float money[3][100]; float nafta=0, nat95=0, nat98=0; int n=0; money[0][0] = 350; money[0][1] = 210; money[0][2] = 880; money[0][3] = 695; money[0][4] = -1; money[1][0] = 1350; money[1][1] = 1210; money[1][2] = 1880; money[1][3] = 1695; money[1][4] = -1; money[2][0] = 985; money[2][1] = 1011; money[2][2] = 859; money[2][3] = 1244; money[2][4] = -1; while(money[0][n] >= 0) nafta += money[0][n]; n++; n=0; while(money[1][n] >= 0) nat95 += money[1][n]; n++; n=0; while(money[2][n] >= 0) nat98 += money[2][n]; n++; printf("prodano %5.2f litru nafty. \n", nafta/31); printf("prodano %5.2f litru naturalu 95. \n", nat95/33); printf("prodano %5.2f litru naturalu 98. \n", nat98/35);

2. Deklarujte stůj vlastní datový typ TVector pole pěti racionálních čísel. Deklarujte proměnné A a B tohoto typu a v deklarační části je naplňte daty. Vytvořte funkci, která vypočte skalární součin vektorů (a 1 b 1 + a 2 b 2 + a 3 b 3 + ). Výsle-dek násobení vypište do konzolového okna. 5 b. typedef float TVector[5]; float soucin(tvector A, TVector B) int n; float vysl = 0; for(n=0; n<5; n++) vysl += A[n]*B[n]; return vysl; TVector A = 6, 4, 8, 3, 2; TVector B = 3, 5, 7, 9, 1; float vysl; vysl = soucin(a, B); printf("skalarni soucin vektoru A a B je %5.2f", vysl);

3. Napište program, který z klávesnice postupně načte dvě celá čísla a, b a jeden znak (+,, *, /). Vypočítejte odpovídající výraz (a+b, a b, ) a výsledek vypište do konzolového okna. 5 b. char znak = '0'; int a, b; while(znak!= 'k') printf("\nzadejte prvni cislo: "); scanf("%d", &a); printf("\nzadejte druhe cislo: "); scanf("%d", &b); printf("\nzadejte operaci(+,-,*,/,k-konec): "); scanf("%c", &znak); switch(znak) case '+': printf("\nvysledek scitani je: %d", a+b); case '-': printf("\nvysledek odcitani je: %d", a-b); case '*': printf("\nvysledek nasobeni je: %d", a*b); case '/': printf("\nvysledek deleni je: %d", a/b);

4. V poli znaků char words[5][21] každý řádek odpovídá jednomu slovu. Seřaďte slova podle abecedy. V úvahu berte pouze první písmeno slova. 5 b. int i, n, x; char words[5][21]; char pom; words[3][0] = 'b'; words[3][1] = 'u'; words[3][2] = 'b'; words[3][3] = 'a'; words[3][4] = 'k'; words[3][5] = '\0'; words[1][0] = 'a'; words[1][1] = 'h'; words[1][2] = 'o'; words[1][3] = 'j'; words[1][4] = '\0'; words[4][0] = 'c'; words[4][1] = 'a'; words[4][2] = 'u'; words[4][3] = '\0'; words[0][0] = 'n'; words[0][1] = 'i'; words[0][2] = 'c'; words[0][3] = '\0'; words[2][0] = 't'; words[2][1] = 'e'; words[2][2] = 's'; words[2][3] = 't'; words[2][4] = '\0'; for(i=0; i<5; i++) for(n=0; n<4; n++) if(words[n][0] > words[n+1][0]) for(x=0; x<21; x++) pom = words[n][x]; words[n][x] = words[n+1][x]; words[n+1][x] = pom; for(n=0; n<5; n++) for(i=0; i<21; i++) if(words[n][i]!= '\0')

printf("%c", words[n][i]); else i = 21; printf("\n");

5. Vytvořte funkci s hlavičkou void cz2en(char *cz, char *en), která v řetězci cz (číslo s desetinnou čárkou) najde čárku, nahradí ji tečkou a uloží do řetězce en. Pokud číslo desetinnou čárku neobsahuje, jsou řetězce cz a en totož-né. Funkci cz2en volejte v hlavním programu, výsledek zobrazte v konzolovém okně. 4 b. #include "string.h" char cz[30] = "12.10"; char en[30]; void cz2en(char *cz, char *en) int n; for(n=0; n<strlen(cz); n++) if(cz[n] == ',') cz[n] = '.'; strcpy(en, cz); cz2en(cz, en); printf("%s", en);

6. Deklarujte strukturu t_pivo, která obsahuje řetězec name s názvem piva a racionální proměnnou price s cenou piva. Napište funkci, která vrátí ukazatele na dynamickou proměnnou typu t_pivo a vytvořené paměťové místo naplní daty. Funkci volejte v hlavním programu s parametry Starobrno Medium a 12.50. 4 b. #include "string.h" #include "stdlib.h" typedef struct t_pivo char name[20]; float price; a_pivo; typedef t_pivo* t_pole[20]; t_pivo* add(char *a_name, float a_price) t_pivo *A; A = (t_pivo*) malloc(sizeof(t_pivo)); strcpy(a->name, a_name); A->price = a_price; return A; int count=0; t_pole zaznam; zaznam[count++] = add("starobrno Medium", 12.50);