вторник, 27 марта 2012 г.

воскресенье, 11 марта 2012 г.

Задания для проведения I этапа Всероссийской олимпиады школьников по информатике. 2011-2012 учебный год.

После того, как мы рассмотрели основные принципы составления программ, можно приступить к рассмотрению заданий. Лучше всего думаю, рассматривать олимпиадные задачи, потому как они обычно с какими нибудь подковырками и бывают требуют интересных решений. Начнем с рассмотрения задач с  I этапа Всероссийской олимпиады (2011-2012 учебный год).

1.Куры и кролики (10 баллов).
У кур и кроликов вместе N ног. Сколько среди них кур, сколько кроликов? Составить алгоритм, который перечисляет все возможные комбинации.

Решение:


Program Zadacha_1;



  var Nkurkrol : integer;{Описываем переменные N-количество ног, kur -количество кур, krol - количество кроликов}
begin

 write('Vvedi kol-vo nog'); {Подсказка для пользователя, ввести количество ног.}
 readln(N); {Вводим количество ног}
for kur:=0 to N do {вводим цикл для перебирания количества кур}
for krol:=0 to N do {Вводим цикл для перебирания количества кроликов}
if (2*kur+4*krol)=N then writeln('kur-',kur,'krolikov-',krol);(Вводим условие: если 2*кол-во кур + 4*кол-во кроликов=N, то на экран вывести 'kur-',(число),' ','krolikov-',(число).) Таким образом благодаря циклическому алгоритму переберутся все возможные варианты.
end. (конец программы)




Задача 2. Строки в книге (15 баллов).
В книге на одной странице помещается K строк. Таким образом, на первой странице печатаются строки с 1-й по K-ю, на второй – с (K+1)-й по (2K)-ю и т. д. напишите программу, которая по номеру строки в тексте определяет номер страницы, на которой будет напечатана эта строка и порядковый номер этой строки на странице.
Формат входных данных: входной файл содержит число K – количество строк, которое печатается на странице, и число N – номер строки (1 K 200, 1 N 20 000).
Формат выходных данных: в выходной файл выведите два числа – номер страницы, на которой будет напечатана эта строка, и номер строки на странице.
Примеры:
  1. in
  1. out
50 1
20 25
15 43
  1. 1
2 5
3 13

Program Zadacha_2;
var N, K, n_str, n_stroka : integer;
f1, f2 : text;

BEGIN
assign(f1,'input.txt');
reset(f1);
read(f1,K,N);
if N mod K=0 then
begin n_str:=N div K;
n_stroka:=K
end
else
begin n_str:=(N div K)+1;
n_stroka:=N mod K
end;
assign(f2,'output.txt');
rewrite(f2);
write(f2,n_str,' ',n_stroka);
close(f1);
close(f2);
END.









понедельник, 27 февраля 2012 г.

Введение в программирование



Информатика — это наука, которая занимается сбором, хранением и переработкой информации. Информация бывает различна по способу восприятия и по способу кодирования. В настоящее время в информатике существует огромное количество направлений деятельности.

Одним из таких направлений является — программирование.
Что это такое и зачем это надо? И как это сделать?
Попробуем разобраться с этими вопросами.
Основным средством для решении основных задач информатики является компьютер. В настоящее время компьютер не обладает искусственным интеллектом, и поэтому он выполняет то, что ему прикажет человек. Причем эти команды должны быть ему понятны, и идти в строгой определенной последовательности. Команды в строгой определенной последовательности называются алгоритмами.
Алгоритмы бывают трех видов: линейные, ветвления, циклические.
  • линейные, это когда команды идут последовательно, строго друг за другом.
  • Ветвления, это когда команды выполняются в зависимости от поставленного условия (ключевые слова «если», «то», «иначе»).
  • Циклический, это когда одни и те же задачи выполняются до тех пор, пока не будет выполнена задача. (ключевые слова «делать до тех пор, пока».
Люди общаются между собой звуками, которые образуют слова. Слова образуют предложения. Образуется язык общения. Причем Вы знаете, что существует много языков общения: русский, французский, немецкий и т.д. А для того чтобы люди понимали друг друга существуют переводчики.
Вот и для диалога между людьми и компьютерами требуются переводчики. Программы.
Программы пишут на определенных языках программирования.
Существует много языков программирования(Ассемблер, Фортран, Си, Паскаль, Визуал Бейсик и т.д.) но принцип один и тот же. Все они описывают алгоритмы.
Программу можно разделить на три основных блока.
    1. Ввод данных.
    2. Обработка данных.
    3. Вывод результата.
P.S. Замечено из практики, что ни одна программа, как бы она не была написана, не идет сразу. Необходимо ее отлаживать на компьютере.
P.S. Утилиту с Паскалем можно скачать здесь. Запустить можно следующим образом:
1. Скачаете архив.
2. Разорхивируете.
3. Откроете папку BIN
4. Найдете ярлык BP
5. Запустите.