Решение задач по программированию из огэ по информатике на паскале.
В этой статье мы разберем основные примеры и алгоритмы задач из огэ по информатике на pascal, это задачи с2. Для решения задач 20 на программирование огэ по информатике нужно уметь в программе на pascal:
задавать переменные в Паскаль,
вводить данные с клавиатуры в Паскаль,
использовать цикл for в Паскаль,
проверять введенные данные на соответствие данному условию в Паскаль,
выводить данные на экран в Паскаль.
Разберем основные примеры задач с номером 20 на программирование на паскале из огэ по информатике
Программа на паскале для подсчета четных чисел в заданном интервале.
В программе на pascal должно вводиться границы интервала a и b, программа должна подсчитывать число четных чисел в заданном интервале.
Для ввода границ интервала, переменной цикла и переменной счетчика определяются целочисленные переменные
var
a, b, k, i: integer;
Организуем ввод границ интервала.
Как написать программу для задания 15.2 #информатика #огэ #shorts
writeln(‘Введите левую границу’);
readln(a);
writeln(‘Введите правую границу’);
readln(b);
Чтобы проверить все числа, лежащие в интервале от a до b необходимо в цикле for присвоить начальному значению переменой цикла а, конечному значению интервала цикла b. В цикле необходимо с помощью оператора условия if проверить четное ли значение переменной счетчика цикла с помощью условия (i mod 2 =0) if i mod 2 = 0
Оператор переменная mod число выдает остаток от деления значения переменной на число. Если значение переменной делится нацело на число, то переменная mod число=0
Если это условие выполняется, то счётчик четных чисел увеличивается на 1. Перед выполнением цикла необходимо обнулить счетчик четных чисел.
Полная программа на паскаль для подсчета четных чисел в заданном интервале
var
a, b, k, i: integer;
begin
writeln(‘Введите левую границу’);
readln(a);
writeln(‘Введите правую границу’);
readln(b);
k:=0;
for i := a to b do
begin
if i mod 2 = 0 then k := k + 1;
end;
writeln(‘число четных чисел ‘,k);
end.
Разберем пример программы на паскаль на поиск максимального значения в введённой последовательности числе с клавиатуры. Сначала в программе определим переменные:
n количество чисел в последовательности,
i для счетчика цикла
a переменная, в которую мы будем записывать введённые значения
max – переменная в которую будет записываться текущее максимальное значение в последовательности
Все элементы последовательности числе вводятся в цикле for. Внутри цикла for с помощью оператора условия в паскаль if проверяется больше ли новый введенный элемент текущего max, если больше if a > max, то текущему максимуму присваивается это значение элемента последовательности max:=a
Полная программа на паскаль для поиска максимального элемента в веденной последовательности
Как писать программы для ЕГЭ по информатике — алгоритм для любого задания l Коля Касперский
var
n, max, i, a : integer;
begin
writeln(‘число элементов’);
readln(n);
max:=0;
for i := 1 to n do
begin
readln(a);
if a > max then max:=a;
end;
writeln(‘максимальное число ‘,max);
end.
В задачах на программирование с номером 20 огэ по информатике как правило требуется совместить два условия. Например, найти максимальный элемент в последовательности кратный 3. Когда требуется одновременное выполнение двух условий в операторе условия If необходимо использовать логическую операцию and, каждое условие нужно записать в скобках
if (первое условие) and (второе условие) then
Полная программа на паскаль для поиска максимального элемента в последовательности кратного 3
var
n, max, i, a : integer;
begin
writeln(‘число элементов’);
readln(n);
max:=0;
for i := 1 to n do
begin
readln(a);
if (a > max) and (a mod 3 = 0) then max:=a;
end;
writeln(‘максимальное число ‘,max);
end.
Перейти к содержанию курса по паскалю
Полезно почитать по теме решение на паскале задач огэ по информатике:
Решение на паскале задач огэ по информатике на подсчет суммы и среднего арифметического
Решение задач на паскале из демо вариантов огэ по информатике
Нет комментариев. Ваш будет первым!
Разбор решения задания 20.2 ГИА в форме ОГЭ по информатике. 9 класс. Пример решения с объяснением на языке Pascal в среде программирования Pascal ABC.Net 3.2
Задание 20.2
Напишите программу для решения следующей задачи. Камера наблюдения регистрирует в автоматическом режиме скорость проезжающих мимо неё автомобилей, округляя значения скорости до целых чисел. Необходимо определить минимальную зарегистрированную скорость автомобиля. Если скорость хотя бы одного автомобиля была больше 80 км/ч, выведите «YES», иначе выведите «NO».
Программа получает на вход число проехавших автомобилей N (1 =< N =< 30), затем указываются их скорости. Значение скорости не может быть меньше 1 и больше 300.Программа должна сначала вывести минимальную скорость, затем YES или NO.
Пример работы программы:
Входные данные | Выходные данные |
4 74 69 63 96 |
63 YES |
Что необходимо знать для решения задания 20.2 ОГЭ по информатике 9 класс?
- Типы переменных.
- Оператор цикла FOR
- Условный оператор IF
Пример решения верного решения на 2 балла.
var
a, b, c, min: integer; //Объявляем переменные целочисленного типа
d: boolean; //объявляем переменную логического типа. Для определения верности условия (скорость больше 80 км/ч)
begin
//******инициализируем переменные*******
min := 300; //переменная для нахождения минимальной скорости. По условию задачи, скорость не может быть более 300
a := 0; //обнуляем переменную
c := 0; //обнуляем переменную
d := false; //задаём исходное логическое значение 0
readln(a); //чтение с клавиатуры числа количества машин
for b := 1 to a do //задаём цикл от 1 до a количества машин
begin
readln(c); //считываем значение скорости
if c min := c; //Каждый раз присваиваем значение переменной min наименьшую введённую скорость
if c > 80 then //производим проверку была ли скорость больше 80
d := true; //если была скорость более 80, то переменная d меняет логическое значение на true (1)
end;
writeln(min); //Выводим минимальную скорость
if d = true then //Проверяем значение логической переменной
writeln(‘YES’) //Выводим YES, если логическая переменная = true
else writeln(‘NO’); //выводим NO, если логическая переменная не равна true
readln; //Чтобы программа не закрывалась
Скачать исходник программы задание 20.2 ОГЭ:
20.2.pas
Программу можно написать и проще.
Пример решения задания в упрощённой форме.
var
a, b, c,d, min: integer;
begin
min := 300;
readln(a);
for b := 1 to a do
begin
readln(c);
if c min := c;
if c > 80 then
d := 1;
end;
writeln(min);
if d = 1 then
writeln(‘YES’)
else writeln(‘NO’);
readln;
В чём разница решений?
Во втором, упрощённом варианте, не инициализированы переменные. Это не обязательно в PascalABC.Net, так как переменные изначально имеют значения «0». Но делать это желательно, так как это считается правилом хорошего тона. Плюс ко всему в других версиях интерпретатора Pascal без инициализации код работать не будет.
Так же, во второй версии программы не использован логический тип переменных. Использовать его не обязательно. Тут решение на усмотрение составителя программы.
Важно!
У проверяющих совсем другие входные данные для проверки вашей программы (не как приведены в задании), поэтому не старайтесь написать программу под конкретные числа.
Источник: testirovanie24.ru
Простые задачи по программированию
В данной задаче пользователь должен ввести два значения: само число и как-либо указать, во что он хочет его перевести (в байты или килобайты).
8 сентября 2021 0 2.1к. admin
В таблице ASCII символы букв идут по порядку — от «A» до «Z», далее через несколько небуквенных символов от «
Простые задачи
8 сентября 2021 1 12.1к. admin
Присвоить переменной, в которой будет накапливаться сумма цифр, значение 0, а переменной для накопления произведения — значение 1 (если присвоить
Простые задачи
8 сентября 2021 0 12.2к. admin
Для решения данной задачи лучше всего использовать цикл со счетчиком (for), если в нем можно использовать шаг. Такие циклы есть в языках Basic, КуМир и Си.
Источник: gospodaretsva.com
Задание 24. Анализ программ. Исправление ошибок в коде. ЕГЭ 2023 по информатике
За это задание ты можешь получить 1 балл. На решение дается около 30 минут. Уровень сложности: повышенный.
Средний процент выполнения: 52.2%
Ответом к заданию 24 по информатике может быть развернутый ответ (полная запись решения с обоснованием выполненных действий).
Разбор сложных заданий в тг-канале
Задачи для практики
Задача 1
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество символов последовательности в прилагаемом файле, среди которых нет пар символов BD или среди которых нет пар BA. только один вид из этих пар может присутствовать в подпоследовательности.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open(’24_ABD.txt’, ‘r’) s = f.readline().strip() s1 = s.replace(‘BD’, ‘B D’) s2 = s.replace(‘BA’, ‘B A’) x = s1.split() y = s1.split() max_not_bd = len(max(x, key=len)) max_not_ba = len(max(y, key=len)) print(max(max_not_ba, max_not_bd))
Другой способ решения
f = open(’24_ABD.txt’, ‘r’) s = f.readline().strip() max_len = 0 cur_len_notBA = 1 cur_len_notBD = 1 for i in range(len(s) — 1): if s[i] == ‘B’ and s[i + 1] == ‘A’: cur_len_notBA = 1 cur_len_notBD += 1 elif s[i] == ‘B’ and s[i + 1] == ‘D’: cur_len_notBA += 1 cur_len_notBD = 1 else: cur_len_notBA += 1 cur_len_notBD += 1 max_len = max(max_len, cur_len_notBA, cur_len_notBD) print(max_len)
Ответ: 96
Показать решение
Задача 2
Текстовый файл состоит из символов A, B и D.
Определите самую длинную последовательность символов в которой нет символа B. В ответе запишите количество символов в такой последовательности.
Искомая подпоследовательность должна состоять только из символов А или D.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open(’24_ABD.txt’, ‘r’) s = f.readline().strip() max_s = 0 k = 0 for i in range(len(s)): if s[i] != ‘B’: k += 1 max_s = max(k, max_s) else: k = 0 print(max_s)
Другой способ решения:
f = open(’24_ABD.txt’, ‘r’) s = f.readline().strip() s = s.replace(‘B’, ‘ ‘) x = s.split() print(len(max(x, key=len)))
Ответ:
Показать решение
Задача 3
Текстовый файл состоит из символов A, B и D.
Определите каких пар символов BD или BA больше в прилагаемом файле.
В ответе укажите количество таких пар и саму пару, без пробелов. Например: 143BD
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open(’24_4.txt’, ‘r’) s = f.readline().strip() bd = s.count(‘BD’) ba = s.count(‘BA’) if bd > ba: print(f’BD’) else: print(f’BA’)
Ответ:
Показать решение
Задача 4
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд пар символов или BD или BA в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open(’24.txt’, ‘r’) s = f.readline().strip() s = s.replace(‘BD’, ‘1’) s = s.replace(‘BA’, ‘2’) x1 = s.replace(‘A’, ‘2’) x1 = x1.replace(‘B’, ‘2’) x1 = x1.replace(‘D’, ‘2’) x2 = s.replace(‘A’, ‘1’) x2 = x2.replace(‘B’, ‘1’) x2 = x2.replace(‘D’, ‘1’) x = x1.split(‘2’) max_s = len(max(x, key=len)) x = x2.split(‘1’) max_s = max(max_s, len(max(x, key=len))) print(max_s)
Ответ:
Показать решение
Задача 5
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд пар символов BD или BA в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA в произвольном порядке следования этих пар.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open(’24.txt’, ‘r’) s = f.readline().strip() s = s.replace(‘BD’, ‘1’) s = s.replace(‘BA’, ‘2’) s = s.replace(‘A’, ‘ ‘) s = s.replace(‘B’, ‘ ‘) s = s.replace(‘D’, ‘ ‘) x = s.split() print(len(max(x, key=len)))
Ответ:
Показать решение
Задача 6
Текстовый файл состоит из символов A, B и D.
Определите максимальное количество идущих подряд пар символов BD или BA в прилагаемом файле.
Искомая подпоследовательность должна состоять только из пар BA, или только из пар BD, или только из пар BD и BA в произвольном порядке следования этих пар.
Для выполнения этого задания следует написать программу.
Решение
Для решения этого номера нужно написать программу, приведём пример решения на языке Python
f = open(’24.txt’, ‘r’) s = f.readline().strip() s = s.replace(‘BD’, ‘1’) s = s.replace(‘BA’, ‘2’) s = s.replace(‘A’, ‘ ‘) s = s.replace(‘B’, ‘ ‘) s = s.replace(‘D’, ‘ ‘) x = s.split() print(len(max(x, key=len)))
Ответ:
Показать решение
Задача 7
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.
Определите длину самой длинной цепочки, в которой каждые два соседних символа различны.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABC4).txt»)
if x != prev1 and prev1 != «Z»:
if cur_len > max_len:
Для данного по условию файла программа должна вывести ответ 35.
Ответ:
Показать решение
Задача 8
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B, C и D.
Определите длину самой длинной цепочки, состоящей из одинаковых символов.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABCD3).txt»)
if cur_len > max_len:
Пример решения задачи на С++:
#include
#include
using namespace std;
int main() ifstream file(«Задание 24 (ABCD3).txt»);
if (file.is_open()) string text;
file >> text;
int maxCount = 0, currentCount = 1;
for (int i = 1; i < text.length(); ++i) if (text[i — 1] == text[i]) currentCount += 1;
if (currentCount > maxCount)
maxCount = currentCount;
> else
currentCount = 1;
>
cout > else cout >
return 0;
>
Для данного по условию файла программа должна вывести ответ 10.
Ответ:
Показать решение
Задача 9
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B, C и D.
Определите количество цепочек, состоящих из 4-х символов, где каждые 2 соседних символа различны.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABCD2).txt»)
if (prev3 != «Z» and x != prev1 and
prev1 != prev2 and prev2 != prev3):
Пример решения задачи на C++:
#include
#include
using namespace std;
int main() ifstream file(«D:\DOWNLOADS\num3.txt»);
int count = 0;
if (file.is_open()) string text;
file >> text;
for (int i = 3; i < text.length(); ++i)
if ((text[i — 3] != text[i — 2])
(text[i — 2] != text[i — 1])
(text[i — 1] != text[i]))
count++;
cout > else cout return 0;
>
Для данного по условию файла программа должна вывести ответ 422169.
Ответ:
Показать решение
Задача 10
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.
Сколько раз в файле встречается последовательность «CAB»?.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«file.txt»)
st = f.read()
f.close()
count = 0
prev1 = «Z»
prev2 = «Z»
for x in st:
if prev2 == «C» and prev1 == «A» and x == «B»:
count += 1
prev2 = prev1
prev1 = x
print(count)
Пример решения задачи на C++:
#include
#include
using namespace std;
int main() ifstream file(«D:\YandexDisk\YandexDisk\ДОКУМЕНТЫ\РЕПЕТИТОР\ТУРБОПОДГОТОВКА\Файлы для задач\№24\Задание 24 (ABC1).txt»);
if (file.is_open()) string text;
file >> text;
int count = 0;
for (int i = 2; i < text.length(); ++i)if (text[i — 2] == ‘C’ text[i — 1] == ‘A’ text[i] == ‘B’)
count++;
>
cout > else cout return 0;
>
Для данного по условию файла программа должна вывести ответ 37166.
Ответ:
Показать решение
Задача 11
Скачайте текстовый файл, состоящий не более чем из $10^6$ прописных символов английского алфавита от A до Z.
Определите длину самой длинной цепочки, состоящей только из символов A, B и C.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (AZ3).txt»)
Для данного по условию файла программа должна вывести ответ 5.
Ответ:
Показать решение
Задача 12
Скачайте текстовый файл, состоящий не более чем из $10^6$ прописных символов английского алфавита от A до Z.
Определите длину самой длинной цепочки, состоящей только из символов A, B и C.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (AZ1).txt»)
Для данного по условию файла программа должна вывести ответ 6.
Ответ:
Показать решение
Задача 13
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B, C и D.
Определите количество цепочек длины 4, где все четыре символа различны.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABCD3).txt»)
if (x != pred1_x and x != pred2_x and
x != pred3_x and pred1_x != pred2_x and
pred1_x != pred3_x and pred2_x != pred3_x
Пример решения задачи на C++:
#include
#include
using namespace std;
bool check(string text) for (int i = 0; i < text.length() — 1; i++)
for (int j = i + 1; j < text.length(); j++)
if (text[i] == text[j])
return false;
return true;
>
int main() ifstream file(«D:\DOWNLOADS\num4.txt»);
int count = 0;
if (file.is_open()) string text;
file >> text;
for (int i = 3; i < text.length(); ++i)
if ((text[i — 3] != text[i — 2])
(text[i — 3] != text[i — 1])
(text[i — 3] != text[i])
(text[i — 2] != text[i — 1])
(text[i — 2] != text[i])
(text[i — 1] != text[i]))
// if(check(text.substr(i — 4, 4)))
count++;
cout > else cout return 0;
>
Пояснение к коду на C++: реализовано два варианта решения:
1) через проверку различия каждого из 4 символов, окружающих текущий (с номером i)
2) через функцию проверки различия всех символов в подстроке. На вход подаётся строка, циклы производят перебор всех символов и, если хотя бы пара символов равны, функция возвращает false. В функции main вызов этой функции закомментирован.
Для данного по условию файла программа должна вывести ответ 93896.
Ответ:
Показать решение
Задача 14
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.
Определите количество цепочек-палиндромов длиной от 3 до 4 символов. Цепочка-палиндром — это такая цепочка, которая читается одинаково слева направо и справа налево.
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABC2).txt»)
if x == pred3_x and pred1_x == pred2_x:
Пример решения задачи на С++:
#include
#include
using namespace std;
int main() ifstream file(«D:\DOWNLOADS\num5.txt»);
int count = 0;
if (file.is_open()) string text;
file >> text;
for (int i = 3; i < text.length(); ++i)if ((text[i — 3] == text[i])
(text[i — 2] == text[i — 1]))
count++;
if (text[i — 2] == text[i])
count++;
>
cout > else cout return 0;
>
Для данного по условию файла программа должна вывести ответ 445333.
Ответ:
Показать решение
Задача 15
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.
Определите количество символов в самой длинной «восходящей» цепочке. Назовём цепочку «восходящей», если в ней сначала идёт любое (>0) количество символов A, затем любое (>0) количество символов B, а потом любое (>0) количество символов C, например «AABBBBC».
Для выполнения этого задания напишите программу.
Решение
Решение на Python:
f = open(«file.txt»)
max_len = 0
cur_len = 0
st = f.read()
pred_x = «X»
for x in st:
if ((x == pred_x and cur_len > 0) or
(x == «B» and pred_x == «A»)
or (x == «C» and pred_x == «B» and cur_len > 0)):
cur_len += 1
else:
if x == «A»:
cur_len = 1
else:
cur_len = 0
if x == «C» and cur_len > max_len:
max_len = cur_len
pred_x = x
print(max_len)
f.close()
Решение на С++:
Основано на том, что у каждого символа есть код и в восходящей цепочке у каждого следующего символа значение кода должно бытьт больше или рано коду предыдущего
#include
#include
using namespace std;
int main() ifstream file («file.txt»);
string text;
file >> text;
int maxLength = 0, curLength = 1;
for (int i = 1; i < text.length(); ++i) if (text[i-1] <= text[i]) curLength++;
if (curLength > maxLength)
maxLength = curLength;
> else
curLength = 1;
>
cout return 0;
>
Для данного по условию файла программа должна вывести ответ 19.
Ответ:
Показать решение
Задача 16
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.
Определите количество символов в самой длинной «восходящей» цепочке. Назовём цепочку «восходящей», если в ней сначала идёт любое (>0) количество символов A, затем любое (>0) количество символов B, а потом любое (>0) количество символов C, например «AABBBBC».
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABC2).txt»)
if ((x == pred_x and cur_len > 0) or
(x == «B» and pred_x == «A»)
or (x == «C» and pred_x == «B» and cur_len > 0)):
if x == «C» and cur_len > max_len:
Для данного по условию файла программа должна вывести ответ 16.
Ответ:
Показать решение
Задача 17
Скачайте текстовый файл, состоящий не более чем из $10^6$ символов A, B и C.
Определите количество символов в самой длинной «нисходящей» цепочке. Назовём цепочку «нисходящей», если в ней сначала идёт любое (>0) количество символов C, затем любое (>0) количество символов B, а потом любое (>0) количество символов А, например «CCBAAAAA».
Для выполнения этого задания напишите программу.
Решение
Пример решения задачи на Python:
f = open(«Задание 24 (ABC3).txt»)
if ((x == pred_x and cur_len > 0) or
(x == «B» and pred_x == «C»)
or (x == «A» and pred_x == «B» and cur_len > 0)):
if x == «A» and cur_len > max_len:
Для данного по условию файла программа должна вывести ответ 17.
Ответ:
Показать решение
Показать еще
Необходимо зарегистрироваться
Для доступа к решениям необходимо включить уведомления от группы Турбо в вк — это займет буквально 10 секунд. Никакого спама, только самое важное и полезное для тебя. Ты всегда можешь запретить уведомления.
Подпишись на полезные материалы ЕГЭ по информатике: разбор реальных вариантов ЕГЭ и сложных заданий + авторские конспекты
Источник: egeturbo.ru