Программа паскаль решение задач

Решение задач по программированию из огэ по информатике на паскале.

В этой статье мы разберем основные примеры и алгоритмы задач из огэ по информатике на pascal, это задачи с2. Для решения задач 20 на программирование огэ по информатике нужно уметь в программе на pascal:
задавать переменные в Паскаль,
вводить данные с клавиатуры в Паскаль,
использовать цикл for в Паскаль,
проверять введенные данные на соответствие данному условию в Паскаль,
выводить данные на экран в Паскаль.
Разберем основные примеры задач с номером 20 на программирование на паскале из огэ по информатике
Программа на паскале для подсчета четных чисел в заданном интервале.
В программе на pascal должно вводиться границы интервала a и b, программа должна подсчитывать число четных чисел в заданном интервале.
Для ввода границ интервала, переменной цикла и переменной счетчика определяются целочисленные переменные
var
a, b, k, i: integer;
Организуем ввод границ интервала.

Линейные программы. Решение задач. Ч.1.


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
Полная программа на паскаль для поиска максимального элемента в веденной последовательности
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.

Полезно почитать по теме решение на паскале задач огэ по информатике:

Источник: itrobo.ru

Презентация «Решение задач на языке программирования Pascal»

Данная преентация содержит иллюстративно — объяснительный материал по теме «Язык программирования Паскаль». Лекция в данной презентации необходима для подготовки учащихся 9 класса к итоговой аттестации по информатике.

Вы уже знаете о суперспособностях современного учителя?

Тратить минимум сил на подготовку и проведение уроков.

Быстро и объективно проверять знания учащихся.

Сделать изучение нового материала максимально понятным.

Избавить себя от подбора заданий и их проверки после уроков.

Наладить дисциплину на своих уроках.

Получить возможность работать творчески.

Просмотр содержимого документа
«Презентация «Решение задач на языке программирования Pascal»»

«Решение задач на языке программирования» (Подготовка к ОГЭ) Учителя информатики: Трукжанова Айгуль Зулхаджаевна 2016 г

«Решение задач на языке программирования» (Подготовка к ОГЭ)

Читайте также:
Как сделать закладку программы

Трукжанова Айгуль Зулхаджаевна

Тип урока: комбинированный. Вид: лекция. Метод обучения: Иллюстративно-объяснительный. Оборудование: Компьютер, презентация, доска, проектор. Форма обучения: фронтальная с учащимися. План урока: Организационный момент. (2мин) Актуализация знаний. (5мин) Объяснение нового материала. (8мин) Решение задач.(20мин) Домашняя работа. (2мин) Подведение итогов урока.(3мин)

  • Тип урока: комбинированный.
  • Вид: лекция.
  • Метод обучения: Иллюстративно-объяснительный.
  • Оборудование: Компьютер, презентация, доска, проектор.
  • Форма обучения: фронтальная с учащимися.
  • План урока:
  • Организационный момент. (2мин)
  • Актуализация знаний. (5мин)
  • Объяснение нового материала. (8мин)
  • Решение задач.(20мин)
  • Домашняя работа. (2мин)
  • Подведение итогов урока.(3мин)

Цели урока: Образовательные: закрепить знание системы команд исполнителя; ввести понятие алгоритма, программы; сформировать умение составлять алгоритмы решения задач; Развивающие: развитие алгоритмического и логического мышления, познавательный интерес обучающихся; развитие творческой активности обучающихся; формирование интереса к изучению предмета; Воспитательные: воспитать культуру речи воспитание у обучающихся самостоятельности, аккуратности, внимательности, культуры речи и общения учеников.

  • Образовательные: закрепить знание системы команд исполнителя;

ввести понятие алгоритма, программы;

сформировать умение составлять алгоритмы решения задач;

развитие алгоритмического и логического мышления, познавательный интерес обучающихся;

развитие творческой активности обучающихся;

формирование интереса к изучению предмета;

  • Воспитательные: воспитать культуру речи

воспитание у обучающихся самостоятельности, аккуратности, внимательности, культуры речи и общения учеников.

Языки программирования - это формальные языки, предназначенные для записи алгоритмов, исполнителем которых будет компьютер. Записи алгоритмов на языках программирования называются программами . Язык Паскаль – универсальный язык программирования. Никлаус Вирт (род. в 1934 г.) - швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор информатики (компьютерных наук). Разработчик языка Паскаль и ряда других языков программирования.

  • Задачи урока:
  • Научить составлять алгоритмы решения задач на языке программирования.
  • Раскрыть понятие «программа».

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

Записи алгоритмов на языках программирования называются программами .

Язык Паскаль – универсальный язык программирования.

Никлаус Вирт (род. в 1934 г.) — швейцарский учёный, специалист в области информатики, один из известнейших теоретиков в области разработки языков программирования, профессор информатики (компьютерных наук). Разработчик языка Паскаль и ряда других языков программирования.

Алфавит языка Алфавит языка программирования Паскаль - набор допустимых символов, которые можно использовать для записи программы. Алфавит языка Паскаль Латинские прописные буквы A, B, C, …, X Y, Z Латинские строчные буквы a, b, c,…, x, y, z Арабские цифры 0, 1, 2, …, 7, 8, 9 Знаки арифметические, препинания, скобки и другие Специальные символы

Алфавит языка

Алфавит языка программирования Паскаль — набор допустимых символов, которые можно использовать для записи программы.

Алфавит языка Паскаль

Латинские прописные

Латинские строчные

Арабские цифры

препинания, скобки и другие

Специальные

= и» width=»640″

Алфавит языка

В алфавит языка Паскаль включены неделимые элементы (составные символы).

Неделимые элементы

Знак операции

присваивания

Знаки больше или равно,

меньше или равно

Простые числовые типы данных

Простые числовые типы данных

Структура программы на языке Паскаль Структура программы Описание констант, меток и описание переменных ( var ) Описание данных Начинается словом begin и заканчивается словом end с точкой Описание действий

Структура программы на языке Паскаль

Структура программы

Описание констант, меток и

описание переменных ( var )

Описание данных

Начинается словом begin и

заканчивается словом end

Описание действий

Структура программы на Паскале VAR список однотипных переменных: INTEGER; список однотипных переменных:REAL; BEGIN READ(список ввода); READLN(список ввода); переменная:=арифметическое выражение ; WRITE(список вывода); WRITELN(список вывода); END.

Структура программы на Паскале

VAR список однотипных переменных: INTEGER;

список однотипных переменных:REAL;

Источник: kopilkaurokov.ru

Уроки 45 — 47
Подпрограммы
Практикум
Практическая работа № 3.5
«Программирование с использованием подпрограмм»

Еще одним важнейшим методологическим приемом структурного программирования является декомпозиция решаемой задачи на подзадачи — более простые, с точки зрения программирования, части исходной задачи. Алгоритмы решения таких подзадач называются вспомогательными алгоритмами.

В языках программирования вспомогательные алгоритмы называются подпрограммами. В Паскале различаются две разновидности подпрограмм: процедуры и функции. Рассмотрим этот вопрос на примере следующей задачи: даны два натуральных числа а и b. Требуется определить наибольший общий делитель трех величин: а + b, а 2 + b 2 , а • b.

Запишем это так: НОД(а + b, а 2 + b 2 , а • b).

Идея решения состоит в следующем математическом факте: если х, у, z — три натуральных числа, то НОД(х, y, z) = НОД(НОД(х, у), z). Иначе говоря, нужно найти НОД двух величин, а затем НОД полученного значения и третьего числа (попробуйте это доказать).

Очевидно, что вспомогательным алгоритмом для решения поставленной задачи является алгоритм получения наибольшего общего делителя двух чисел. Эта задача решается с помощью алгоритма Евклида, который подробно обсуждался в 9 классе. Напомним, что идея алгоритма Евклида основана на следующей формуле:

image

Приведем алгоритм решения поставленной задачи на учебном Алгоритмическом языке. Алгоритм состоит из процедуры «Евклид» и основного алгоритма «Задача», в котором присутствуют два обращения к процедуре:

image

Здесь М, N и К являются формальными параметрами процедуры. М и N — параметры-аргументы, К — параметр-результат.

image

Процедуры в Паскале. Основное отличие процедур в Паскале от процедур в Алгоритмическом языке (АЯ) состоит в том, что процедуры в Паскале описываются в разделе описания подпрограмм, а в АЯ процедура является внешней по отношению к вызывающей программе. Теперь посмотрим, как решение поставленной задачи программируется на Паскале.

image

В данном примере обмен аргументами и результатами между основной программой и процедурой производится через параметры. Описание процедуры на Паскале имеет следующий формат:

Procedure [(список формальных параметров)];

Квадратные скобки указывают на то, что список формальных параметров может отсутствовать, т. е. возможна процедура без параметров. Параметры могут быть параметрами-переменными и параметрами-значениями. Параметры-переменные записываются следующим образом:

Параметры-значения указываются так:

Чаще всего аргументы представляются как параметры-значения (хотя могут быть и параметрами-переменными). А для передачи результатов используются параметры-переменные. Процедура в качестве результата может передавать в вызывающую программу множество значений (в частном случае — одно), а может и ни одного. Теперь рассмотрим правила обращения к процедуре. Обращение к процедуре производится в форме оператора процедуры:

[(список фактических параметров)]

Если описана процедура с формальными параметрами, то обращение к ней производится оператором процедуры с фактическими параметрами. Правила соответствия между формальными и фактическими параметрами: соответствие по количеству, соответствие по последовательности и соответствие по типам.

Читайте также:
Программа чтоб делать моды

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

Другой вариант взаимодействия формальных и фактических параметров называется передачей по значению: вычисляется значение фактического параметра (выражения), и это значение присваивается соответствующему формальному параметру.

В рассмотренном нами примере формальные параметры М и N являются параметрами-значениями. Это аргументы процедуры. При обращении к ней первый раз им соответствуют значения выражений А + В и abs(A — В); второй раз — С и А*В. Параметр К является параметром-переменной. В ней получается результат работы процедуры.

В обоих обращениях к процедуре соответствующим фактическим параметром является переменная С. Через эту переменную основная программа получает результат.

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

image

Чтобы разобраться в этом примере, требуется объяснить новое для нас понятие: область действия описания.

image

Областью действия описания любого программного объекта (переменной, типа, константы и т. д.) является тот блок, на который это описание распространяется. Если данный блок вложен в другой (подпрограмма), то присутствующие во вложенном блоке описания являются локальными. Они действуют только в пределах внутреннего блока. Описания же, расположенные во внешнем блоке, называются глобальными по отношению к внутреннему блоку. Если глобально описанный объект используется во внутреннем блоке, то на него распространяется внешнее (глобальное) описание.

В программе NOD1 переменные М, N, К являются локальными внутри процедуры; переменные А, В, С — глобальные. Однако внутри процедуры переменные А, В, С не используются. Связь между внешним блоком и процедурой осуществляется через параметры.

В программе N0D2 все переменные являются глобальными. В процедуре Evklid нет ни одной локальной переменной (нет и параметров). Переменные М и N, используемые в процедуре, получают свои значения через оператор присваивания в основном блоке программы и изменяют значения в подпрограмме. Результат получается в глобальной переменной К, значение которой выводится на экран. Здесь обмен значениями между основной программой и процедурой производится через глобальные переменные.

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

image

Функции. Теперь выясним, что такое подпрограмма — функция. Обычно функция используется в том случае, когда результатом работы подпрограммы должна быть скалярная (простая) величина. Тип результата называется типом функции. Формат описания функции следующий:

image

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

Программа решения рассмотренной выше задачи с использованием функции будет выглядеть следующим образом:

image

Из примера видно, что тело функции отличается от тела процедуры только тем, что в функции результат присваивается идентификатору функции: Evklid:=M.

Обращение к функции является операндом в выражении. Оно записывается в следующей форме:

Правила соответствия между формальными и фактическими параметрами все те же. Сравнивая приведенные выше программы, можно сделать вывод, что программа N0D3 имеет определенные преимущества перед другими. Функция позволяет получить результат путем выполнения одного оператора присваивания. Здесь также иллюстрируется возможность того, что фактическим аргументом при обращении к функции может быть эта же функция.

По правилам стандарта Паскаля, возврат в вызывающую программу из подпрограммы происходит, когда выполнение подпрограммы доходит до ее конца (последний End). Однако в современных версиях Паскаля есть средство, позволяющее выйти из подпрограммы в любом ее месте. Это оператор-процедура Exit. Например, функцию определения большего из двух данных вещественных чисел можно описать так:

image

image

Модифицированный алгоритм Евклида. Подпрограмму алгоритма Евклида можно составить иначе, если воспользоваться операцией mod (получение остатка от деления), имеющейся в Паскале. Идея алгоритма исходит из справедливости следующих равенств:

image

В таком случае функцию Evklid можно переписать так:

image

image

Вопросы и задания

1. Для чего используются подпрограммы?

2. В чем различие между процедурами и функциями?

3. Какие существуют способы передачи данных между подпрограммой и вызывающей ее программой?

4. Составьте программу вычисления площади кольца по значениям внутреннего и внешнего радиусов, используя подпрограмму вычисления площади круга (два варианта: с процедурой и с функцией).

5. Составьте программу сложения двух простых дробей. Результат должен быть несократимой дробью. Используйте подпрограмму вычисления НОД по алгоритму Евклида. Простая дробь задается двумя целыми числами: числителем и знаменателем.

Читайте также:
Программа которая меняет язык автоматически

6. По координатам вершин треугольника вычислите его периметр, используя подпрограмму вычисления длины отрезка между двумя точками.

7. Даны три целых числа. Определите, у которого из них больше сумма цифр. Подсчет суммы цифр организуйте через подпрограмму.

Практикум

Работа 3.5. Программирование с использованием подпрограмм

Задание 1

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

Уровень 1

1. Составить программу нахождения наибольшего общего делителя (НОД) и наименьшего общего кратного (НОК) двух натуральных чисел

image

.

Использовать подпрограмму алгоритма Евклида для определения НОД.

2. Вычислить площадь правильного шестиугольника со стороной а, используя подпрограмму вычисления площади треугольника.

image

3. Даны две дроби — (А, В, С, D — натуральные числа).

Составить программу деления дроби на дробь. Ответ должен быть несократимой дробью. Использовать подпрограмму алгоритма Евклида для определения НОД.

image

4. Даны две дроби — (А, В, С, D — натуральные числа).

Составить программу умножения дроби на дробь. Ответ должен быть несократимой дробью. Использовать подпрограмму алгоритма Евклида для определения НОД.

image

5. Даны две дроби — (А, В, С, D — натуральные числа).

Составить программу вычитания из первой дроби второй. Ответ должен быть несократимой дробью. Использовать подпрограмму алгоритма Евклида для определения НОД.

6. Написать программу вычисления суммы image— для заданного числа n. Результат представить в виде несократимой дроби image(р, q — натуральные). Использовать подпрограммы алгоритма Евклида для определения НОД и сложения двух простых дробей.

7. Даны числа X, Y, Z, Т — длины сторон четырехугольника. Вычислить его площадь, если угол между сторонами длиной X и Y — прямой. Использовать две подпрограммы для вычисления площадей: прямоугольного треугольника и прямоугольника.

Задание 2

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

Уровень 2

1. Дано простое число. Найти следующее за ним простое число.

2. Для заданного натурального числа п найти наименьший нечетный натуральный делитель k (k ≠ 1).

3. Заменить данное натуральное число на число, которое получается из исходного записью его цифр в обратном порядке (например, дано число 156, нужно получить 651).

4. Найти все натуральные числа, не превосходящие заданного п, которые делятся на каждую из своих цифр.

5. Имеется часть катушки с автобусными билетами. Номер билета шестизначный. Составить программу, определяющую количество счастливых билетов на катушке, если меньший номер билета — N, больший — М (билет является счастливым, если сумма первых трех его цифр равна сумме последних трех).

6. Из заданного числа вычли сумму его цифр. Из результата вновь вычли сумму его цифр и т. д. Через сколько таких действий получится нуль?

8. Найти все натуральные n-значные числа, цифры в которых образуют строго возрастающую последовательность (например, 1234,5789).

Уровень 3

9. Два простых числа называются «близнецами», если они отличаются друг от друга на 2 (например, 41 и 43). Напечатать все пары «близнецов» из отрезка [n, 2n], где n — заданное натуральное число, большее 2.

10. Дано четное число n > 2. Проверить для него гипотезу Гольдбаха: каждое четное п представляется в виде суммы двух простых чисел.

11. Составить программу разложения данного натурального числа на простые множители. Например, 200 = 2 3 • 5 2 .

12. Дано натуральное число n. Найти все меньшие п числа Мерсенна. (Простое число называется числом Мерсенна, если оно может быть представлено в виде 2 p — 1, где р — тоже простое число. Например, 31 = 2 5 — 1 — число Мерсенна.)

13. Два натуральных числа называются «дружественными», если каждое из них равно сумме всех делителей (кроме его самого) другого (например, числа 220 и 284). Найти все пары «дружественных» чисел, которые не больше данного числа N.

14. Натуральное число, в записи которого n цифр, называется числом Армстронга, если сумма его цифр, возведенная в степень n, равна самому числу. Найти все числа Армстронга от 1 до k.

15. Найти все простые натуральные числа, не превосходящие n, двоичная запись которых представляет собой палиндром, т. е. читается одинаково слева направо и справа налево.

16. Составить программу для нахождения чисел из интервала [М, N], имеющих наибольшее количество делителей.

17 Дано натуральное число n > 1. Определить длину периода десятичной записи дроби 1/n.

Источник: xn—-7sbbfb7a7aej.xn--p1ai

Рейтинг
( Пока оценок нет )
Загрузка ...
EFT-Soft.ru