24ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ



Σχετικά έγγραφα
ΕΝΔΕΙΚΤΙΚΕΣ ΛΥΣΕΙΣ ΠΡΟΒΛΗΜΑΤΟΣ Β ΦΑΣΗΣ

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ Οι παρακάτω λύσεις είναι απολύτως ενδεικτικές

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΛΟΣ IFIP, IOI Org. GREEK COMPUTER SOCIETY MEMBER OF IFIP, IOI Org.

ΘΕΜΑ Α ΦΑΣΗΣ. Υπολογιστικά Νέφη Ενδεικτικές Απαντήσεις

ΤΕΧΝΟΛΟΓΙΑ ΚΑΙ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

C: Από τη Θεωρία στην Εφαρμογή

24ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

24ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ

i M-1 1. ij f(i, j) N-1. (pixel) 2. M N (x, y) (x, y ) = 256. R(x, y), G(x, y), B(x, y)

Πανεπιστήμιο Πελοποννήσου. Σχολή Θετικών Επιστημών & Τεχνολογίας. Τμήμα Επιστήμης & Τεχνολογίας Υπολογιστών. Προγραμματισμός Ι Εργαστήριο

Προέλευση της Pazcal ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ. Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

Εισαγωγή στον Προγραμματισμό

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Μεθόδων Επίλυσης Προβλημάτων

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΕΞΕΤΑΣΗ IOYNIOY 2018 ΘΕΜΑΤΑ Α ΟΝΟΜΑΤΕΠΩΝΥΜΟ:... ΑΕΜ: ΕΞΑΜΗΝΟ:

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Α. unsigned int Β. double. Γ. int. unsigned char x = 1; x = x + x ; x = x * x ; x = x ^ x ; printf("%u\n", x); Β. unsigned char

Υπολογισμός - Εντολές Επανάληψης

ΛΥΣΕΙΣ ΘΕΜΑΤΩΝ ΤΕΛΙΚΗΣ ΦΑΣΗΣ

Κεφάλαιο : Επαναλήψεις (oι βρόγχοιfor, do-while) (Διάλεξη 10) Εντολές Επανάληψης που θα καλυφθούν σήμερα

Κεφάλαιο : Επαναλήψεις (for, do-while)

Δομές Ανακυκλώσεων. Εντολές ελέγχου - 1

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. Εισαγωγή στον Προγραμματισμό. Ενότητα 8: Συναρτήσεις. Κ.

10. Εντολές επανάληψηςκαι οι εντολές

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

που θα δώσει αποτέλεσµα 48, λόγω της αριστερής προσεταιριστικότητας των τελεστών / και *, ενώ η επιθυµητή αντικατάσταση θα ήταν η

Σημειώσεις όγδοης εβδομάδας

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Αρχές Προγραμματισμού

Fortran και Αντικειμενοστραφής προγραμματισμός.

Η εντολή if-else. Η απλή μορφή της εντολής if είναι η ακόλουθη: if (συνθήκη) { Η γενική μορφή της εντολής ifelse. εντολή_1; εντολή_2;..

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΕΛΟΣ IFIP, IOI

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ GREEK COMPUTER SOCIETY

ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Ενδεικτικές Απαντήσεις Εξετάσεων Α' Περιόδου Θέµα 1. (α') 2 - ii 3 - iii 4 - iv

ΕΝΤΟΛΕΣ ΕΠΑΝΑΛΗΨΗΣ. for (παράσταση_1; παράσταση_2; παράσταση_3) εντολή επόμενη εντολή

Ενότητα 4: «Εισαγωγή στον Προγραμματισμό. Τα πρώτα προγράμματα σε γλώσσα C»

Εργαστήριο 9: Αρχεία

ΑΡ Χ Ε Ι Α Κ Ε Ι Μ Ε Ν Ο Υ (text files)

Προγραμματισμός Η/Υ Ι (Χρήση της C) 6 η Θεωρία ΜΟΝΟΔΙΑΣΤΑΤΟΙ ΠΙΝΑΚΕΣ

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ ΚΑΙ ΕΠΑΓΓΕΛΜΑΤΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ GREEK COMPUTER SOCIETY

Προγραμματισμός ΙI (E)

Προγραμματισμός Η/Υ (ΤΛ2007 )

ιαφάνειες παρουσίασης #6 (β)

#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]

ΑΠΑΝΤΉΣΕΙΣ ΣΤΟ ΠΡΩΤΟ ΣΥΝΟΛΟ ΑΣΚΗΣΕΩΝ

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 2 η : Βασικές Έννοιες της γλώσσας προγραµµατισµού C Χειµερινό Εξάµηνο 2011

Η γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραμματισμό

Μαζέρας Αχιλλέας. Οι εντολές επανάληψης στην Pascal (While) Φυσικός Αυτοματιστής M.Sc. Νοέµβριος 2009

ΑΡΧΕΙΑ ΚΕΙΜΕΝΟΥ ΣΤΗΝ C

Αλγόριθμοι. Χρυσόστομος Στύλιος. Εργαστήριο Γνώσης και Ευφυούς Πληροφορικής. Δομές Δεδομένων & Αλγόριθμοι 1

Κεφάλαιο 4: Συνθήκες Έλεγχου (if-else, switch) και Λογικοί τελεστές / παραστάσεις. (Διάλεξη 8)

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

Η γλώσσα προγραμματισμού C

Εισαγωγή στον Προγραµµατισµό. Διάλεξη 3 η : Επίλυση Προβληµάτων Χειµερινό Εξάµηνο 2011

ΕΡΓΑΣΤΗΡΙΟ 5 ΣΗΜΕΙΩΣΕΙΣ

Προγραμματισμός Ι (HY120)

Γλώσσα Προγραμματισμού C. Προγραμματισμός HY: Γλώσσα Προγραμματισμού C. Γρήγορος Πίνακας Αναφοράς Σύνταξης. Εισήγηση #4. Επαναληπτικές δομές:

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Διαφάνειες παρουσιάσεων Αρχικές Διαφάνειες σε Pascal: Σ.Ζάχος, Ν.Παπασπύρου Προσαρμογή σε Fortran: Α.Παγουρτζής, Δ.Σούλιου

Δομή Επανάληψης. Κεφάλαιο 7 Mike Trimos

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Προγραμματισμός Η/Υ (ΤΛ2007 )

Αριθμητικοί αλγόριθμοι

ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο

Εισαγωγή στον δομημένο προγραμματισμό

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Ανάπτυξη Μεγάλων Εφαρµογών στη Γλώσσα C (2)

Παραδείγματα. Γράψτε ένα πρόγραμμα που να τυπώνει τη μέση τιμή ενός συνόλου μη αρνητικών αριθμών

Διάλεξη 10: Δομές Δεδομένων Ι (Στοίβες & Ουρές)

Α' Εξάμηνο ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΟΜΗΜΕΝΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. Ασκήσεις Επανάληψης

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Δομημένος Προγραμματισμός (ΤΛ1006)

Μεθόδων Επίλυσης Προβλημάτων

8. Συνθήκες ελέγχου, λογικοί τελεστές

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Επανάληψη. Εντολές while, for, do-while

Τμ. Τεχνολογίας Πληροφορικής & Τηλεπικοινωνιών Α Εξεταστική Περίοδος, 25 Ιουνίου 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ Ηλίας. Κ. Σάββας

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Δομημένος Προγραμματισμός (ΤΛ1006)

Διάλεξη 9: Δυναμική Δέσμευση Μνήμης

Κεφάλαιο , 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)

Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων

Κεφάλαιο , 3.2: Συναρτήσεις II. (Διάλεξη 12)

Προγραμματισμός Υπολογιστών με C++

Μεταβλητές, σταθερές, τύποι και δηλώσεις. Εντολές αντικατάστασης, τελεστές και παραστάσεις. Εμβέλεια και χρόνος ζωής μεταβλητών

Παρακάτω δίνεται o σκελετός προγράμματος σε γλώσσα C. Σχολιάστε κάθε γραμμή του κώδικα.

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραμματισμός Ι (ΗΥ120)

Δομημένος Προγραμματισμός

Απαντήσεις στο μάθημα Δομημένος Προγραμματισμός ΕΠΑΛ

Στόχοι και αντικείμενο ενότητας. Προτάσεις επανάληψης. Έλεγχος ροής προγράμματος. #5.. Εντολές Επανάληψης

ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ

Προγραμματισμός I (Θ)

Διάλεξη 9η: Πίνακες (arrays)

Transcript:

24ος ΠΑΝΕΛΛΗΝΙΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ Β ΦΑΣΗΣ ΓΥΜΝΑΣΙΟΥ Τελεστικοί Ενισχυτές (αθροιστές) C ++ ΚΩΣΤΟΠΑΝΑΓΙΩΤΗΣ ΠΑΝΑΓΙΩΤΗΣ (1 ο Γυμνάσιο Πεύκης) /* NAME: PANAGIOTIS KOSTOPANAGIOTIS * TASK: OPERATORS * LANG: C++ */ #include <cstdio> #include <vector> #include <cmath> int main() { freopen("operators.in","r",stdin); freopen("operators.out","w",stdout); long N,current=0,num[2],min=1000000001; scanf("%d\n",&n); std::vector<long> neg; for(int i=0; scanf("%d ",&current)!= EOF && i<n; ++i) { if(current>0 &&!i) { num[0]=current; scanf("%d ", &num[1]); break; if(current<0) neg.push_back(current); while (current>0 && neg.size()) { Σελίδα 1 από 10

ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ & if(fabs(neg.back()+current)<min) { num[0]=neg.back(); num[1]=current; min=fabs(num[0]+num[1]); if(fabs(neg.back())>current) break; neg.pop_back(); if(neg.size()==0 num[0]+num[1]==0) break; if(neg.size()==n) { for(int i=0; i<2; ++i) { num[1-i]=neg.back(); neg.pop_back(); printf("%d %d\n", num[0],num[1]); return 0; Σελίδα 2 από 10

ΑΓΙΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ (10 ο Γυμνάσιο Λάρισας) /* NAME: KONSTADINOS AGIANIS * TASK: OPERATORS * LANG: C */ #include <stdio.h> #include <stdlib.h> unsigned long int n,n1,n_base,n_try,up_timh_n_try,up_timh_n_base,*pinakas; int main(void) { //-------------------------------------------- FILE * in = fopen ("operators.in", "r"); FILE * out = fopen ("operators.out", "w"); fscanf (in, "%ld/n", &n); //-------------------------------------- C pinakas = (unsigned long int *) malloc(n * 4); long int up_timh1,up_timh; n--; n1=0; //-------------------------------------- fscanf(in,"%ld",&pinakas[0]); n1++; read: //for (n1++;n1<=n;n1++) fscanf(in," %ld",&pinakas[n1]); //{ n1++; if(n1<=n) // goto read; Σελίδα 3 από 10 //fscanf(in," %ld",&pinakas[n1]);

//--------------------------------------- n_try=n; n_base=0; //-------------------------------------------- up_timh=2147483647; //--------------------------------------------------------------- //---------------------------------------------------------------- //------------------------------------------------------------ loop: n1=up_timh1=pinakas[n_base] + pinakas[n_try]; if(up_timh1 < 0) n1=up_timh1*= -1; { if(up_timh1 < up_timh) up_timh=up_timh1; up_timh_n_try=n_try; up_timh_n_base=n_base; main_loop: //------------------------------------------ n_try--; Σελίδα 4 από 10 if (n_base == n_try) goto print;

up_timh1=pinakas[n_base] + pinakas[n_try]; if(up_timh1 < 0) up_timh1*= -1; //---------------------------------------------- if (up_timh1 < n1) { { if(up_timh1 < up_timh) up_timh=up_timh1; up_timh_n_try=n_try; up_timh_n_base=n_base; n1 = up_timh1; goto main_loop; next_base: //------------------------------------ n_try++; n_base++; Σελίδα 5 από 10 if (up_timh == 0)

goto print; goto loop; //-------------------------------------------------------- //-------------------------------------------------------- //-------------------------------------------------------- print: fprintf(out,"%ld %ld\n",pinakas[up_timh_n_base],pinakas[up_timh_n_try]); //--------------------------------------- end: fclose(in); fclose(out); return 0; Σελίδα 6 από 10

PASCAL ΚΟΥΛΑΣ ΙΑΣΩΝΑΣ (Κολέγιο Ψυχικού) (* NAME: KOULAS IASONAS * TASK: OPERATORS * LANG: PASCAL *) program pdp; var input,output: text; c,thet,arn: array [1..1000000] of longint; i,s,j,l,min,a,temp,ar1,ar2:longint; counter,counter1,k,b:integer; assign(input,'operators.in'); reset(input); readln(input,a); assign(output,'operators.out'); rewrite(output); for i:=1 to a do read(input,s); if s<0 then counter:=counter+1; arn[counter]:=s; end Σελίδα 7 από 10

counter1:=counter1+1; thet[counter1]:=s; ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ & if counter1=0 then write(output,arn[counter-1],' ',arn[counter]); end if counter=0 then write(output,thet[1],' ',thet[2]); end i:=1; j:=counter; k:=1; while (i<=counter1) and (j>=1) do if (thet[i]<abs(arn[j])) then c[k]:=thet[i];k:=k+1;i:=i+1; end c[k]:=arn[j]; k:=k+1; j:=j-1; if i>counter1 then for l:=k to a do c[l]:=arn[j]; j:=j-1; Σελίδα 8 από 10

end for l:=k to a do c[l]:=thet[i]; i:=i+1; min:=2000000000; for i:=1 to a-1 do temp:=abs(c[i]+c[i+1]); if temp<=min then min:=temp; ar1:=c[i]; ar2:=c[i+1]; if ar1>ar2 then write(output,ar2,' ',ar1); end write(output,ar1,' ',ar2); ΕΛΛΗΝΙΚΗ ΕΤΑΙΡΕΙΑ ΕΠΙΣΤΗΜΟΝΩΝ & close(output); close(input); end. Σελίδα 9 από 10

Σχήμα από: http://el.wikipedia.org/wiki/αρχείο:opampsumming.svg Οι παραπάνω απαντήσεις είναι ενδεικτικές και κατά συνέπεια δεν σημαίνει ότι και άλλοι μαθητές δεν υπέβαλαν αντίστοιχες λύσεις. Σελίδα 10 από 10