WWW.DOCX.LIB-I.RU
БЕСПЛАТНАЯ  ИНТЕРНЕТ  БИБЛИОТЕКА - Интернет материалы
 

«Дистанционная олимпиада по программированию для 10-11 классов/2015-2016 уч.г. (1 тур) Выполнил: Ракипов Динаф РауфовичОбразовательное учреждение: МОБУ СОШ №2 с.Буздяк МР ...»

Дистанционная олимпиада по программированию для 10-11 классов/2015-2016 уч.г. (1 тур)

Выполнил: Ракипов Динаф РауфовичОбразовательное учреждение: МОБУ СОШ №2 с.Буздяк МР Буздякский район

Задание №1

Текст задания: Разработать программу, случайным образом перемешивающую дни недели (повторы дней не допускаются).

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

const n = 7;

 

var m: array [1..n] of integer;

i, k,a,b,c,d,e,f,j: integer;

t: text;

time:real;

 

begin 

writeln ('Нажмите ENTER что бы запустить рандомизацию...'); //Диалог с пользователем

readln;

time:=milliseconds; // Начало подсчета времени работы программы

randomize; // Начало рандомизации от 1 до 7 т.к в одной недели 7 дней

i := 0;

while i < n do

begin i := i + 1;

m[i] := random(1,7);

for k := 1 to i - 1 do //Цикл для исключения дублей

if m[k] = m[i] then

begin i := i - 1;

break;

end;

end;

assign (t,'saverandom.txt'); //Объявляем файл для сохранении рандомных не повторяющихся цифр в промежутке от 1 до 7

rewrite (t); //Открыть файл на перезапись

for i := 1 to n do

begin writeln(t,m[i]:3); //Записываем цифры

end;

close (t); // Закрываем файл, конец рандомизации

 

assign (t,'saverandom.txt'); // Открываем созданный нами файл saverandom.txt

reset (t);

readln (t,a); // К каждому числу присваиваем переменную

readln (t,b); // 7 переменных 7 дней

readln (t,c);

readln (t,d);

readln (t,e);

readln (t,f);

readln (t,j);

close (t);//Закрываем файл

 

writeln ('Рандомный вывод:'); //Вывод названия дня недели в зависимости каким числом является переменная

writeln;

case a of

1: writeln ('Пн'); //Если 1 то Пн, если 2 то Вт и т.д 2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');

end;

 

case b of //Так поступаем с каждой переменной

1: writeln ('Пн');

2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');

end;

 

case c of

1: writeln ('Пн');

2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');

end;

 

case d of

1: writeln ('Пн');

2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');

end;

 

case e of

1: writeln ('Пн');

2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');

end;

 

case f of

1: writeln ('Пн');

2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');

end;

 

case j of

1: writeln ('Пн');

2: writeln ('Вт');

3: writeln ('Ср');

4: writeln ('Чт');

5: writeln ('Пт');

6: writeln ('Сб');

7: writeln ('Вс');





end;

writeln;

time:=(milliseconds-time)/1000; //Конец подсчета времени

writeln ('Программа проработала ',time,' сек.'); //Вывод затраченного времени

readln;

end.

Комментарии к решению: В программе используем метод рандомизации цифр, используя цикл для исключения дублей. Используется файл saverandom.txt для сохранения цифр и их дальнейшего присвоения к переменным. Каждая цифра — это день недели 1 это Пн. 2, Это Вт. и т.д. Так же для интереса добавил функцию подсчета времени выполнения программы в сек. Программа работает исправно, сбоев не происходило. «Рандомизированные» дни выходят на экране пользователя. Комментарии присутствуют и в самом программном коде, если что-то не понятно обращаться туда.

Скриншоты:

Задание №2

Текст задания: Разработать интерактивную программу для игры «Камень-Ножницы-Бумага-Ящерица-Спок» пользователя с компьютером.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

Uses Crt;

Varz,x,c,a:Integer;

begin 

writeln ('Камень-Ножницы-Бумага-Ящерица-Спок - это расширенный вариант игры «Камень, ножницы, бумага»'); //Диалог с пользователем

writeln;

writeln ('Правила:'); //Диалог с пользователем

writeln ('Ножницы режут бумагу. Бумага заворачивает камень. Камень давит ящерицу, а ящерица травит Спока, в то время как Спок ломает ножницы, которые, в свою очередь, отрезают голову ящерице, которая ест бумагу, на которой улики против Спока. Спок испаряет камень, а камень, разумеется, затупляет ножницы.'); //Диалог с пользователем

repeat //Цикл повтора игры

writeln;

Writeln('Выберите один из вариантов'); //Диалог с пользователем

Writeln('Камень - 0');

Writeln('Ножницы - 1');

Writeln('Бумага - 2');

Writeln('Ящерица - 3');

Writeln('Спок - 4');

readln(z);

x:=random(0,4); //Компьютер выбирает рандомное число от 0 до 4, каждому числу соответствует Камень,Ножница,Бумага,Ящерица или СпокIf // Условие ничьи

(z=0) and (x=0)

or (z=1) and (x=1)

or (z=2) and (x=2)

or (z=3) and (x=3)

or (z=4) and (x=4)

thenbeginwriteln;

write('Ничья т.к. вы выбраали');

case z of

0: write (' Камень');

1: write (' Ножницы');

2: write (' Бумагу');

3: write (' Ящерицу');

4: write (' Спок');

end;

write (' и компьютер выбрал');

case x of

0: write (' Камень');

1: write (' Ножницы');

2: write (' Бумагу');

3: write (' Ящерицу');

4: write (' Спок');

end;

writeln;

endelseIf //Условие выигрыша

(z=0) and (x=1) or

(z=1) and (x=2) or

(z=2) and (x=0) or

(z=3) and (x=4) or

(z=4) and (x=1) or

(z=1) and (x=3) or

(z=3) and (x=2) or

(z=2) and (x=4) or

(z=4) and (x=0)

thenbeginwriteln;

write(' Вы выиграли т.к. вы выбраали');

case z of

0: write (' Камень');

1: write (' Ножницы');

2: write (' Бумагу');

3: write (' Ящерицу');

4: write (' Спок');

end;

write (' а компьютер выбрал');

case x of

0: write (' Камень');

1: write (' Ножницы');

2: write (' Бумагу');

3: write (' Ящерицу');

4: write (' Спок');

end;

writeln;

endelse //В остальных случаях пользователь проигрывает

beginwriteln;

Write ('Вы проиграли т.к. вы выбраали');

case z of

0: write (' Камень');

1: write (' Ножницы');

2: write (' Бумагу');

3: write (' Ящерицу');

4: write (' Спок');

end;

write(' а компьютер выбрал');

case x of

0: write (' Камень');

1: write (' Ножницы');

2: write (' Бумагу');

3: write (' Ящерицу');

4: write (' Спок');

end;

writeln;

end;

writeln;

writeln ('Сыграть еще раз ? ДА-0 Нет-1'); //Предложение сыграть еще раз

readln (a);

until a = 1; //Если не 1, то выполнить снова

End.

Комментарии к решению: В программе снова как и в первой задачи используется рандомные цифры в промежутке. Далее дело оставалось за малым записать условия ничьи, выигрыша и проигрыша. Дополнительные фалы использованы не были. Все результаты выходят на экране пользователя. Комментарии так же присутствуют в программном коде.

Скриншоты:

Задание №3

Текст задания: Разработать программу, которая выводит на экран все простые числа в диапазоне от 1 до 1000.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var i,j,max: integer;

f:boolean;

begin max:=1000; // до тысячи

writeln ('Нажми ENTER для вывода всех простых чисел от 1 до 1000'); //Диалог с пользователем

readln;

writeln;

writeln('Все простые числа:');

writeln;

for i:=1 to max do //Цикл от 1 до 1000

begin f:=true; // Сначала же любое число True for j:=2 to i-1 do if i mod j =0 then //Но если оно на цело делится на числа от 2 до -1 нее, исключаем само число и единицу, тем самым если число не соответствует данному условию, то оно остается True begin f:=false; // То это число становиться False break;

end;

if f then write (i,', '); //Если True вывести это число

end;

writeln;

end.

Комментарии к решению: Все комментарии к программе в исходном коде. Все данные выводятся на экран пользователя.

Скриншоты:

Задание №4

Текст задания: Разработать программу «Угадай число», которая с помощью генератора случайных чисел загадывает и проверяет угадывание числа. В программе используется интервал от 1 до 100 и дается пять попыток угадывания.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var a,b,c:integer;

 

begin writeln ('Привет, я робот. Давай сыграем в игру "Угадай число". Я загадаю, а ты одгадывай.');//Диалог с пользователем

repeat //Цикл сыграть заново

writeln;

 

 

writeln ('Итак, я загадываю число от 1 до 100... '); //Диалог с пользователем

writeln ('Дам тебе 5 попыток'); //Диалог с пользователем

a:=random(1,100); // Робот выберает случайное число от 1 до ста

writeln;

//Первый раз

write ('И твое число: '); //Диалог с пользователем

read (b); //Считывает число введенное пользователем

writeln;

if b=a then //Условия совпадения случайногоисла и числа которое ввел пользователь

begin writeln ('Спервого раза!? Да ты везучий!'); //Диалог с пользователем

writeln;

writeln ('Игра окончена, ты угадал число');

exit //При победе конец программы

end else writeln ('Первый блин комом, у тебя осталось 4 попытки.');

writeln;

//Первый раз

 

//Далле таких еще 4 условий

 

//Второй раз

write ('И твое число: ');

read (b);

writeln;

if b=a then

begin writeln ('Со второго раза!? Превосходно!');

writeln;

writeln ('Игра окончена, ты угадал число');

exit end else writeln ('Эхх... еще чуть-чуть, у тебя осталось 3 попытки.');

writeln;

//Второй раз

//Третий раз

write ('И твое число: ');

read (b);

writeln;

if b=a then

begin writeln ('Превосходно! Ты угадал мое число!');

writeln;

writeln ('Игра окончена, ты угадал число');

exit end else writeln ('Ты в шаге от победы, у тебя осталось 2 попытки.');

writeln;

//Третий раз

//Четвертый раз

write ('И твое число: ');

read (b);

writeln;

if b=a then

begin writeln ('Вот! С четвертого раза! Молодец!');

writeln;

writeln ('Игра окончена, ты угадал число');

exit end else writeln ('Оу..., у тебя осталось 1 попытка.');

writeln;

//Четвертый раз

//Пятый раз

write ('И твое число: ');

read (b);

writeln;

if b=a then

begin writeln ('Ну ты и везунчик! С последней попытки!');

writeln;

writeln ('Игра окончена, ты угадал число');

exit end else begin writeln ('Ты не угадал число попробуем снова ? ДА-0 Нет-1'); // Если пользователь не угадал число 5 раз подряд, ему предлагается сыграть еще раз до тех пор пока он не угадает число.

readln (c);

writeln;

end;

//Пятый раз

until c = 1; //Цикл сыграть заново

end.

Комментарии к решению: Робот загадывает число, после чего пять раз проверяет его на соответствие с числами, которые ввел пользователь. Все комментарии к программе в исходном коде. Все данные выводятся на экран пользователя.

Скриншоты:

Задание №5

Текст задания: Разработать программу подсчета количество пар любых двух целых чисел диапазоне от 1 до 10000 для которых справедливо утверждение: Сумма квадратов любых двух целых чисел равно кубу одного из этих чисел. Если такие пары чисел существуют, подсчитать среди них количество нечетных чисел. Если такие пары чисел существуют, вывести построчно значения этих чисел.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var i,d,j,a,b,c,max,cx,bx: integer;

f,t:boolean;

r: text;

begin max:=10000; //Максимум 10000

writeln ('Нажмите ENTER что бы найти пары чисел в промежутке от 1 до 10000, которые соответствуют условиям задачи:'); //Диалог с пользователем

readln;

for i:=1 to max do //Двойной цикл первой число пары

for j:=1 to max do //Второе число пары. Будем проверять соответсвуют ли они условиям задачи

begin a:=(i*i)+(j*j);// Условие задачи первое : " Сумма квадратов любых двух целых чисел "

b:=(i*i*i); // Условие задачи второе :" кубу одного из этих чисел "

if (a=b) then // Если условие выполняется :" Сумма квадратов любых двух целых чисел равно кубу одного из этих чисел. "

begin f:=true; // Присваеваем True

end else begin f:=false; // Если нет False

end;

if f then // Работаем с числами если True begin if i mod 2 <> 0 // Проверяем нечетность первого числа

then cx+=1

else if j mod 2 <> 0 // Проверяем нечетность второго числа

then bx+=1; // Если соответсвует условию то добавляем 1

end;

if f then // Если правда выводим пары чисел

writeln (i,' ', j);

end; //Конец двойного цикла

writeln ;writeln ('Кол-во нечетных чисел в парах: ',cx+bx ); //Выводим сумму нечетных чисел

writeln;

end.

Комментарии к решению: Используется двойной цикл, компьютер проверяет числа на соответствие условиям задачи. Дополнительные комментарии в исходном коде. Все данные выводятся на экран пользователя.

Скриншоты:

Задание №6

Текст задания: Какое число меньше миллиона имеет больше всего делителей? Разработать программу, которая выводит такое число, делители числа и их количество.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var j1,n,i,j,k,max,maxn:longint;

time:real;

beginmax:=1; //Начальное значение

maxn:=1; //Начальное значение

time:=milliseconds; //Начало подсчета времени

writeln ('Просчет числа...');//Диалог с пользователем

for i:=2 to 1000000 do //Цикл от 2 до 1 000 000

begin k:=2;//1 и само

for j:=2 to trunc(sqrt(i)) do //считаем делители до корня из числа и умножаем на 2

if i mod j = 0 then inc(k,2);

if frac(sqrt(i))=0 then dec(k);//если число полный квадрат, то минус 1

if k>max then begin max:=k; //Подсчитывает максимальное число делителей

maxn:=i; //Подсчитываем максимальное число от 1 до 1 000 000

end;

end;

writeln;

writeln ('Просчет делителей...'); // Диалог с пользователем

for j:=1 to maxn do //Цикл от 1 до самого числа

begin if maxn mod j = 0 then

write (j,',');//Выводим делители

end;

time:=(milliseconds-time)/1000; //Конец подсчета времени

writeln;

writeln ('Это число: ',maxn); //вывод числа

writeln ('Кол-во делителей: ',max); //вывод кол-во делителей

writeln ('Затрачено время: ',time,' сек.'); //вывод затраченного времени

writeln;

end.

Комментарии к решению: Просчитываем числа через цикл выявляя максимальное кол-во делителей и максимальное значение числа. Для того что бы программа не уходила в глубокий цикл просчитываем делители до корня из искомого числа. Дополнительные комментарии в исходном коде. Все данные выводятся на экран пользователя. Реализован подсчет времени из-за долгого процесса подсчета чисел.

Скриншоты:

Задание №7

Текст задания: Каждая страница книги содержит 64 строки. В каждой строке содержится 32 символа. Разработать программу, которая подсчитывает число страниц в книге, если известно, что текст книги занял 512 Кбайт памяти. Для кодирования каждого символа использовалась кодировка Unicode.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

const

stroki=64; // число строк

s=32; //число символов в строке

V=512; //Кбайт

ones=2; //2 байт занимает 1 символ в Unicoode var a: integer;

Vpage,pages: real;

 

begin writeln ('Нажмите ENTER для подсчета страниц...');//Диалог с пользователем

readln;

a:=stroki*s; //Подсчет символов на одной странице

Vpage:=a*ones; //Объем страницы в байтах

Vpage:=Vpage/1024; //Объем страницы в Кбайтах pages:=V/Vpage; //Подсчет кол-ва страниц

writeln ('В книге ',pages,' стр. ');

writeln;

 

end.

Комментарии к решению: Просто все подсчитывается. Дополнительные комментарии в исходном коде. Все данные выводятся на экран пользователя.

Скриншоты:

Задание №8

Текст задания: Разработать программу подсчета количества единиц, используемых при записи целых положительных чисел в двоичной и восьмеричной системах счисления. В программе используются числа, которые не больше числа 65 в десятичной системе счисления,

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var a,b,c,d,i: integer;

 

begin 

d:=4; // так в двоичной системе при переводе из десятичной у еденицы 1,у двойки 10,у тройки 11, всего 4 еденицы, поэтому d=4

for a:=4 to 65 do // цикл от 4 до 65, так как для первых 3 цифр кол-во едениц мы уже завели

begin //все наверное знает как переводить числа из десятичной в двоичную, главной целью является подсчитать кол-во едениц поэтому без разницы как считать цифры 0,1

b:= a mod 2 ; //вычисляем остаток от деления

write (b);

c:= a div 2; //вычисляем целую часть деления

if b=1 then //если это еденица то добаляем к d еденицуd:=d+1;

repeat //цикл повтора

b:= c mod 2; //снова вычесляем остаток от деления

write (b);

if b=1 then //если это еденица то добаляем к d еденицуd:=d+1;

c:= c div 2; //вычисляем целую часть деления

until c<2; //цикл повтора

write(c);

if c=1 then //если в конце всех вычислений и с = 1 то добаляем к d еденицуd:=d+1;

writeln;

end;

writeln ;writeln ('Число едениц в двоичной системе : ',d); // вывод кол-ва еденицwriteln;

 

i:=1; //в восмеричной системе исчисления от 1 до 3, только одна еденицаfor a:=4 to 65 do // все остальне в принцепе так же, просто в место 2 ставим 8 и все, комп вычеслит все сам

beginb:= a mod 8 ;

write (b);

c:= a div 8;

if b=1 then

i:=i+1;

repeatb:= c mod 8;

write (b);

if b=1 then

i:=i+1;

c:= c div 8;

until c<8;

write(c);

if c=1 then

i:=i+1;

writeln;

end;

writeln;

writeln ('Число едениц в восмертчной системе : ',i); // вывод кол-ва едениц в восмеричной системе исчисления

 

writeln;

writeln ('Общее кол-во едениц : ',d+i); //сумма всех еденицend.

Комментарии к решению: Комментарии в исходном коде. Все данные выводятся на экран пользователя.

Скриншоты:

Задание №9

Текст задания: Определите аминокислотную последовательность первого белка (в информационной РНК кодирующая последовательность расположена между триплетами AUG), закодированную в правой половинке ДНК.

Разработать программу, которая определяет аминокислотную последовательность первого белка в указанной последовательности.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var i,j:integer;

s,a:string;

c:char;

f:text;

begin assign (f,'in.txt'); // Объявляем файл с содержанием кода правой половинке ДНК

reset (f);

readln(f,s);//считываем строку

close (f);//закрываем строку

 

For i:=1 to length(s) do begin //Начинаем переделовать правую половинку в левую, как в условии

 

If s[i] = 'T' then // Темин на Аденини, Аденин на Темин s[i]:='A'

else if s[i] = 'A' then

s[i]:='T';

 

If s[i] = 'G' then // Гуанин на цетазин s[i]:='C'

else if s[i] = 'C' then // Цетазин на гуанин

s[i]:='G';

end;

//Переделали правуб половинку в левую

 

assign (f,'out.txt'); //Объявляем файл для дальнейшей инверсии

rewrite (f); // На перезапись

for i:=length(s) downto 1 do

begin write (f,s[ i]); // Записываем строку в перевернутом виде

end;

close (f); //Закрываем файл 

assign (f,'out.txt'); //Снова откроем

reset (f); //Для чтения

readln(f,s);

close (f);// Закрываем

//Инверсия окончена...

 

For i:=1 to length(s) do begin

 

If s[i] = 'T' then //Заменяем Темин на Гуанин

s[i]:='U'

 

end;

 

//Начало белка

i := Pos('AUG', s); // Приравниваем к позитции AUG

if i > 0 then begin

Delete(s, i, 3); //удаляем 3 символа

Insert('***', s, i); //в место них записываем ***

end;

 

//Конец белка

i := Pos('AUG', s);

if i > 0 then begin

Delete(s, i, 1000); //Удаляем AUG и все после нее так это часть РНК нам не нужно

end;

 

 

i := Pos('***', s); // Приравниваем к позитции ***

j := 1;

if i > 0 then begin

Delete(s, j, i+2); // Удаляем *** и все до нее

end;

 

//Остается та часть которая нужна для определения аминокислотной последовательности первого белка

 

j:= length(s) div 3; //Приравниваем к целому значению, деления на 3. Т.к один триплет 3 буквы

 

for i:=1 to j do //начинам определние аминокислотной последовательности

begin a:= copy (s, 1, 3); //Копируем первые 3 символа

 

case a of //Сравниваем с таблицей генетических кодов, при совпадение выводим

//По U

'UUU': write ('Phe, '); 'UUC': write ('Phe, '); 'UUA': write ('Leu, '); 'UUG': write ('Leu, '); 

'UCU': write ('Ser, '); 'UCC': write ('Ser, '); 'UCA': write ('Ser, '); 'UCG': write ('Ser, '); 

'UAU': write ('Uyr, '); 'UAC': write ('Uyr, '); 'UAA': write ('Stop, '); 'UAG': write ('Stop, '); 

'UGU': write ('Cys, '); 'UGC': write ('Cys, '); 'UGA': write ('Stop, '); 'UGG': write ('Trp, '); 

//По C

'CUU': write ('Leu, '); 'CUC': write ('Leu, '); 'CUA': write ('Leu, '); 'CUG': write ('Leu, '); 

'CCU': write ('Pro, ');

'CCC': write ('Pro, ');

'CCA': write ('Pro, ');

'CCG': write ('Pro, ');

 

'CAU': write ('His, '); 'CAC': write ('His, '); 'CAA': write ('Gin, '); 'CAG': write ('Gin, '); 

'CGU': write ('Arg, '); 'CGC': write ('Arg, '); 'CGA': write ('Arg, '); 'CGG': write ('Arg, '); 

//По A

'AUU': write ('IIe, '); 'AUC': write ('IIe, '); 'AUA': write ('IIe, '); 'AUG': write ('Met, '); 

'ACU': write ('Thr, '); 'ACC': write ('Thr, '); 'ACA': write ('Thr, '); 'ACG': write ('Thr, '); 

'AAU': write ('Asn, '); 'AAC': write ('Asn, '); 'AAA': write ('Lys, '); 'AAG': write ('Lys, '); 

'AGU': write ('Ser, '); 'AGC': write ('Ser, '); 'AGA': write ('Arg, '); 'AGG': write ('Arg, '); 

//По G

'GUU': write ('Val, '); 'GUC': write ('Val, '); 'GUA': write ('Val, '); 'GUG': write ('Val, '); 

'GCU': write ('Ala, '); 'GCC': write ('Ala, '); 'GCA': write ('Ala, '); 'GCG': write ('Ala, '); 

'GAU': write ('Asp, '); 'GAC': write ('Asp, '); 'GAA': write ('Glu, '); 'GAG': write ('Glu, '); 

'GGU': write ('Gly, '); 'GGC': write ('Gly, '); 'GGA': write ('Gly, '); 'GGG': write ('Gly, ');

 

end;

 

delete (s, 1, 3); //Удаляем эти три буквы, т.к в дальнейшем они уже не нужны

 

end; // Конец цикла

 

 

end.

Комментарии к решению: Все комментарии в исходном коде. Все данные выводятся на экран пользователя. Есть дополнительные файлы in.txt и out.txt их предназначение описано в коде программы.

Скриншоты:

Задание №10

Текст задания: Сколько в ней генов AGAA?

Определить индексы этих генов.

Разработать программу, которая определяет количество и индексы этих генов.

Язык программирования: PascalABC.Net

Версия: 3.0 Сборка 1073

Исходный код программы:

var b,i,j:integer;

s,a:string;

c:char;

f:text;

q: real;

begin assign (f,'in.txt'); //считываем строку s

reset (f);

readln(f,s);

close (f);

 

 

for b:=1 to length(s) div 4 do //саздаем цикл

begin i := Pos('AGAA', s); // находим AGGA

if i > 0 then begin // если больше нуля,то добавляем к количеству еденицу j:=j+1;

end;

Delete(s, i, 4); // удаляем, для раюоты он больше не понадобиться

end;

writeln ('Кол-во AGAA : ',j); //Выводим кол-во

 

end.

Комментарии к решению: Все комментарии в исходном коде. Все данные выводятся на экран пользователя.Скриншоты:

\




Похожие работы:

«ПРОТОКОЛ № 690-ОАОФ/1ОБ ОПРЕДЕЛЕНИИ УЧАСТНИКОВ ОТКРЫТЫХ ТОРГОВ В ФОРМЕ АУКЦИОНА ПО ПРОДАЖЕ ИМУЩЕСТВА ООО "Гранд Ривер" Лот № 1 Дата подписания протокола 14.03.2016  Настоящий протокол подписан в подтверждение следующего:На участие в торгах, подлежащих проведению в соответствии с извещением, опубликованным в газе...»

«Светильники ЭколаАртикул Наименование Кол-во в упаковке Цена Комплекты GX53 H4 TW5W42ELC Ecola Light GX53 H4 LED светильник Белый встр.без рефл. с лампой GX53 LED 4,2W 2800К матовое стекло 38x106 50 338,00 TW5V42ELC Ecola Light GX53 H4 LED светильник Белый встр.без рефл. с лампой GX53 LED 4,2W 4200К матовое стекло 38x106 50 338,00 4095757620...»

«НАИМЕНОВАНИЕ ОРГАНИЗАЦИИПРИКАЗ издается ежегодно в декабре! № 101 пгт Тужа Об организации обучения и подготовки работников наименование организации по вопросам гражданской обороны и защиты от чрезвычайных ситуаций в 2015 года.В соответствии с постановлением Правительства Российской Федерации от 02.11...»

«Гульнара Ахметзянова Найти себя Картина №1 Костя. Лето. Вечер. Заросший парк. Здесь тихо и прохладно, как в лесу, шум большого города остается позади, и на душе остается только тихая грусть, да? Мол...»

«БАКТЕРИИ Форма НАЗВАНИЕ СЕМЕЙСТВО РОД ВИД Кокки Гр(+)-фак.анаэробыМicrococcaceaeStaphylococcus (Стафилококки) StreptococcaceaeStreptococcus (Стрептококки) Pneumonie (Пневмококи) Гр(-) аэробы NeisseriaceaeNeisseriaMeningitidis (Менингококки) Gonorrhoeae (Гонококки) Палочки Гр(+)-спорообразующC...»

«ПОСТАНОВЛЕНИЕ № 1579 от 03.08.2015 года О родительской плате за присмотр и уход за детьми в образовательных организациях, реализующих основную общеобразовательную программу дошкольного образованияРуководствуясь статьей 65 Федерального закона от 29.12.2012...»

«1.Тема: Средства и методы лучевой диагностики2.Цель: формирование у студентов знаний о рентгенологической семиотике заболеваний зубочелюстной области, раскрытие общих принципов интерпритации рентгенограмм.3.Аннотация лекции: Лучевые методы исследования ко...»

«Число имени существительного Урок русского языка в 4 классеЦели урока: Предметные: 1. Уметь изменять существительные по числам.2. Уметь определять число имени существительного. Регулятивные: 1. Принимать, сохранять цели и следовать им в учебной деятельности.2. Планировать свою деятельность.3. Уметь контроли...»

«АРБИТРАЖНЫЙ СУД УЛЬЯНОВСКОЙ ОБЛАСТИ Именем Российской ФедерацииРЕШЕНИЕ (извлечение) "26" декабря 2016 года Дело №А72-14835/2016 Индивидуальный предприниматель О. обратился в Арбитражный суд Ульяновской...»

«Министерство внутренних дел по Удмуртской Республике Центр профессиональной подготовкиСОГЛАСОВАНО Начальник Управления по работе с личным составом МВД по Удмуртской Республике подполковник внутренней службы _А.Ю. Каратунов" 22 " марта 2016 г.УТВЕРЖДАЮ Начальник Центра профессиональной...»







 
2017 www.docx.lib-i.ru - «Бесплатная электронная библиотека - интернет материалы»

Материалы этого сайта размещены для ознакомления, все права принадлежат их авторам.
Если Вы не согласны с тем, что Ваш материал размещён на этом сайте, пожалуйста, напишите нам, мы в течении 1-2 рабочих дней удалим его.