Инфоурок Информатика ПрезентацииПрезентация: программы на языке Pascal олимпиадных задач по информатике (10-11 класс)

Презентация: программы на языке Pascal олимпиадных задач по информатике (10-11 класс)

Скачать материал
Скачать материал "Презентация: программы на языке Pascal олимпиадных задач по информатике (10-11 класс)"

Получите профессию

Фитнес-тренер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Методические разработки к Вашему уроку:

Получите новую специальность за 2 месяца

Карьерный консультант

Описание презентации по отдельным слайдам:

  • Программы на языке Pascal олимпиадных задач по информатикег. Красный Лиман, Д...

    1 слайд

    Программы на языке Pascal олимпиадных задач по информатике
    г. Красный Лиман, Донецкая обл.
    2016 г.
    Подготовил учитель информатики лицея Заруднев А.Н.

  • Задача № 1. Степень симметрии (100 б)Степенью симметрии натурального числа н...

    2 слайд

    Задача № 1.
    Степень симметрии (100 б)
    Степенью симметрии натурального числа назовём количество пар его десятичных цифр, в которых цифры совпадают и расположены симметрично относительно середины десятичной записи этого числа. Если некоторая цифра стоит посередине десятичной записи, её тоже нужно учитывать в паре с ней самой. Найти степень симметрии числа N.

    Входные данные. В строке ввода содержится единственное натуральное число N (N < 2·109).
    123322
    Выходные данные. Нужно вывести единственное число – степень симметрии числа N.
    2

  • Программаvar n:string; i,l,q:byte;
begin
readln(n);
l:= length(n);
if l mod 2...

    3 слайд

    Программа
    var n:string; i,l,q:byte;
    begin
    readln(n);
    l:= length(n);
    if l mod 2=0
    then q:=0 else q:=1;
    for i:=1 to l div 2 do
    if n[i]=n[l-i+1] then q:=q+1;
    writeln(q);
    end.

  • Подсчитайте количество счастливых билетов, у которых сума первых трёх цифр ра...

    4 слайд

    Подсчитайте количество счастливых билетов, у которых сума первых трёх цифр равна N.
    Счастливым билетом называется билет с шестизначным номером, у которого сумма первых трёх цифр равна сумме трёх последних.

    Входные данные. В единственной строке задано натуральное число N (N ≤ 27).
    1

    Выходные данные. Единственное число - количество счастливых билетов.
    9
    Задача № 2.
    Счастливые билеты(100 б)

  • ПрограммаVar  n, j, i, l, k: integer;
begin
readln(n);
 for i:=0 to 9 do
   f...

    5 слайд

    Программа
    Var n, j, i, l, k: integer;
    begin
    readln(n);
    for i:=0 to 9 do
    for j:=0 to 9 do
    for l:=0 to 9 do
    if (i+j+l=n) then k:=k+1;
    writeln(k*k);
    end.

  • Задача № 4. Шарики (100 б)У продавца воздушных шариков есть N шаров. Каждый и...

    6 слайд

    Задача № 4. Шарики (100 б)
    У продавца воздушных шариков есть N шаров. Каждый из них имеет некоторый цвет. Однако совсем недавно Три Толстяка издали указ, разрешающий торговать шариками какого-то одного цвета. Чтобы не нарушать закон, но при этом и не потерять прибыль, продавец решил перекрасить некоторые из своих шариков. Напишите программу для определения минимального количества перекрашиваний.
    Входные данные. В первой строке входного файла задано количество шариков N (1 ≤ N ≤ 100000). Вторая строка состоит из N целых чисел (от 1 до 9), определяющих цвета шариков.
    4
    3 1 2 1
    Выходные данные. В единственную строку выходного файла выведите минимальное количество шариков, которое надо перекрасить, чтобы все шарики были одного цвета.
    2

  • var
kol:array[1..9] of longint; n,i,max:longint;  a:byte;
begin
readln(n);
fo...

    7 слайд

    var
    kol:array[1..9] of longint; n,i,max:longint; a:byte;
    begin
    readln(n);
    for i:=1 to n do
    begin
    read(a);
    kol[a]:=kol[a]+1;
    end;
    max:=kol[1];
    for i:=2 to 9 do
    if max<kol[i] then max:=kol[i];
    writeln(n-max);
    end.

  • Будем рассматривать только строчки, состоящие из заглавных латинских букв. На...

    8 слайд

    Будем рассматривать только строчки, состоящие из заглавных латинских букв. Например, рассмотрим строку AAAABCCCCCDDDD. Длина этой строки равна 14. Поскольку строка состоит только из латинских букв, повторяющиеся символы могут быть удалены и заменены числами, определяющими количество повторений.
    Таким образом, данная строка может быть представлена как 4AB5C4D. Длина такой строки 7. Описанный метод мы назовем упаковкой строки. Напишите программу, которая берет упакованную строчку и восстанавливает по ней исходную строку.
    Задача № 5.
    Распаковка строчки (100 б)

  • Входной файл содержит одну упакованную строку. В строке могут встречаться тол...

    9 слайд

    Входной файл содержит одну упакованную строку. В строке могут встречаться только конструкции вида nA, где n — количество повторений символа (целое число от 2 до 99), а A — заглавная латинская буква, либо конструкции вида A, то есть символ без числа, определяющего количество повторений. Максимальная длина строки не превышает 80.
    В выходной файл выведите восстановленную строку. При этом строка должна быть разбита на строчки длиной ровно по 40 символов (за исключением последней, которая может содержать меньше 40 символов).
    вход
    Sample 1
    3A4B7D

    Sample 2
    22D7AC18FGD
    ВХОДНЫЕ И ВЫХОДНЫЕ данные
    выход
    Sample 1
    AAABBBBDDDDDDD

    Sample 2DDDDDDDDDDDDDDDDDDDDDDAAAAAAACFFFFFFFFFFFFFFFFFFGD

  • Идея решения задачиvar s, z: string; {z - исходная строка, s - новая строка}...

    10 слайд

    Идея решения задачи
    var s, z: string; {z - исходная строка, s - новая строка} i, k, t, c: integer; {k - количество цифр в числе,
    t – число пред буквой в исх. строке, с – функция VAL}
    Z = 95AB; s = ‘’.
    ПОКА Длина(Z) > 0 – ИСТИНА
    Проверим первый символ строки z[1], если это цифра [1..9], то (к=1) проверим второй символ z[2], если это цифра [0..9], то (к=2).
    Z[1] = ‘9’ – это цифра, поэтому проверяем Z[2] = ‘5’ – это цифра, поэтому К = 2.
    С помощью функции Val(Copy(z,1,k),t,c) {Руденко, т.2, стр. 73-75} преобразуем фрагмент исходной строки Copy(z,1,k), состоящий из числа ‘95’, в число t = 95.

  • Идея решения задачиДобавляем в новую строку 95 раз букву, стоящую после числа...

    11 слайд

    Идея решения задачи
    Добавляем в новую строку 95 раз букву, стоящую после числа, на позиции К +1 = 3 – это ‘A’.
    For i := 1 to t do s:= s + z[k+1];
    Затем удалим все отработанные символы.
    Удаляем К+1=3 первых символа из Z:
    Delete(z,1,k+1); – остается ‘B’.
    Длина(Z) > 0 – ИСТИНА (повторяем)
    Если первый символ исходной строки не цифра, то просто переписываем эту букву в новую строку.
    Z[1] = ‘B’ – это не цифра, переписываем эту букву в новую строку. Удаляем эту букву из Z – остается ‘’.
    Длина(Z) > 0 – ЛОЖЬ.

  • Фрагмент программыbegin
Readln(z);  s:=&#039;&#039;;
while length(z)&gt;0 do 
begin
    if...

    12 слайд

    Фрагмент программы
    begin
    Readln(z); s:='';
    while length(z)>0 do
    begin
    if z[1] in ['1'..'9']
    then begin
    k:=1;
    if z[2] in ['0'..'9'] then k:=2;
    Val(Copy(z,1,k),t,c);
    for i := 1 to t do s:=s+z[k+1];
    Delete(z,1,k+1);
    end
    else begin
    s:=s+z[1];
    Delete(z,1,1);
    end;
    end;

  • Вывод новой строки.Пока длина строки больше 40 символов, то мы выводим фрагме...

    13 слайд

    Вывод новой строки.
    Пока длина строки больше 40 символов, то мы выводим фрагмент строки из сорока символов и удаляем эти 40 символов. Затем выводим оставшееся количество символов.

    while Length(s)>40 do
    begin
    writeln(Copy(s,1,40));
    Delete(s,1,40);
    end;
    Writeln(s);

  • Задача № 3. 
Разница в зарплате (100 б) На малом предприятии работает определ...

    14 слайд

    Задача № 3.
    Разница в зарплате (100 б)
    На малом предприятии работает определенное количество работников, но не менее двух – директора и главного бухгалтера. Зная зарплаты всех работников, найти на сколько наименьшая зарплата на предприятии отличается от наибольшей.
    Входные данные. В единственной строке через пробел заданы заработные платы работников в гривнах. Все входные данные – неотрицательные вещественные числа, разделенные пробелами, их количество не превышает 1000.
    1000.00 760.00
    Выходные данные. Единственное число – ответ к задаче, выведенный с двумя цифрами после запятой.
    240.00

  • Идея решения задачиНайти разницу мин. и макс. з/п.
min:=z[1];
max:=z[1];
for...

    15 слайд

    Идея решения задачи
    Найти разницу мин. и макс. з/п.
    min:=z[1];
    max:=z[1];
    for i:=2 to n-1 do
    begin
    if min>z[i] then min:=z[i];
    if max<z[i] then max:=z[i];
    end;
    r:=max-min;
    writeln(r:1:2);

  • Чтение данных из текстового файла В программе необходимо выполнить описание ф...

    16 слайд

    Чтение данных из текстового файла
    В программе необходимо выполнить описание файла
    Var f : Text; {имя файловой переменной: тип}
    Установить связь логического имени файла – f и физического – ‘data.txt‘
    Assign(f,'data.txt')
    Открыть файл для чтения Reset(f);
    Ввести данные из файла в программу, т.е. вывести данные из файла (Read, Readln).
    Read(имя файловой переменной, список ввода)
    read(f,a);
    Процедура Close(F). Выполняется закрытие файла F.
    Обязательна для файла открытого для записи!

  • var max,min,a:real; f:text;
begin
assign(f,&#039;data.txt&#039;);
reset(f);
read(f,a);...

    17 слайд

    var max,min,a:real; f:text;
    begin
    assign(f,'data.txt');
    reset(f);
    read(f,a);
    max:=a; min:=a;
    while not eof(f) do begin
    read(f,a);
    if max<a then max:=a;
    if min>a then min:=a;
    end;
    writeln(max-min:1:2);
    close(f)
    end.
    Программа

  • Текстовые файлы  - совокупность строк переменной длины, состоящих из символов...

    18 слайд

    Текстовые файлы -
    совокупность строк переменной длины, состоящих из символов (числа, записанные через пробел, составляют таблицу чисел: одна строка – одномерный массив, несколько строк - двумерный).
    В конце каждой строки ставится специальный признак (маркер) eol (end of line).
    Функция Eoln(F):boolean возвращает значение true, если во входном потоке достигнут маркер конца строки eol.
    В конце файла ставится признак (маркер) eof (end of file).
    Функция Eof(F):boolean. Функция возвращает значение true, если достигнут конец файла; в противном случае выходное значение равно false.

Получите профессию

HR-менеджер

за 6 месяцев

Пройти курс

Рабочие листы
к вашим урокам

Скачать

Скачать материал

Найдите материал к любому уроку, указав свой предмет (категорию), класс, учебник и тему:

6 655 772 материала в базе

Скачать материал

Другие материалы

Вам будут интересны эти курсы:

Оставьте свой комментарий

Авторизуйтесь, чтобы задавать вопросы.

  • Скачать материал
    • 01.11.2016 561
    • PPTX 220 кбайт
    • Оцените материал:
  • Настоящий материал опубликован пользователем Заруднев Андрей Николаевич. Инфоурок является информационным посредником и предоставляет пользователям возможность размещать на сайте методические материалы. Всю ответственность за опубликованные материалы, содержащиеся в них сведения, а также за соблюдение авторских прав несут пользователи, загрузившие материал на сайт

    Если Вы считаете, что материал нарушает авторские права либо по каким-то другим причинам должен быть удален с сайта, Вы можете оставить жалобу на материал.

    Удалить материал
  • Автор материала

    Заруднев Андрей Николаевич
    Заруднев Андрей Николаевич
    • На сайте: 8 лет и 8 месяцев
    • Подписчики: 0
    • Всего просмотров: 40352
    • Всего материалов: 6

Ваша скидка на курсы

40%
Скидка для нового слушателя. Войдите на сайт, чтобы применить скидку к любому курсу
Курсы со скидкой

Курс профессиональной переподготовки

Копирайтер

Копирайтер

500/1000 ч.

Подать заявку О курсе

Курс повышения квалификации

Методы и инструменты современного моделирования

72 ч. — 180 ч.

от 2200 руб. от 1100 руб.
Подать заявку О курсе
  • Сейчас обучается 37 человек из 19 регионов
  • Этот курс уже прошли 68 человек

Курс повышения квалификации

Организация преподавания информационных систем и технологий в профессиональном образовании

36 ч. — 180 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Этот курс уже прошли 73 человека

Курс повышения квалификации

Использование нейросетей в учебной и научной работе: ChatGPT, DALL-E 2, Midjourney

36/72 ч.

от 1700 руб. от 850 руб.
Подать заявку О курсе
  • Сейчас обучается 610 человек из 77 регионов
  • Этот курс уже прошли 945 человек

Мини-курс

Договоры и их правовое регулирование

8 ч.

1180 руб. 590 руб.
Подать заявку О курсе
  • Сейчас обучается 24 человека из 14 регионов

Мини-курс

Эффективная самоорганизация и планирование

3 ч.

780 руб. 390 руб.
Подать заявку О курсе
  • Сейчас обучается 103 человека из 34 регионов
  • Этот курс уже прошли 38 человек

Мини-курс

Состав и анализ финансовой отчетности

5 ч.

780 руб. 390 руб.
Подать заявку О курсе