Операторы Линейные алгоритмы Понятие оператора Простые и структурные операторы Составление линейных алгоритмов.

Презентация:



Advertisements
Похожие презентации
Программирование на Pascal. Темы Повторение. Составные логические условия Повторение. Составные логические условия Повторение. Составные логические условия.
Advertisements

К. Поляков, Программирование на алгоритмическом языке Тема 4. Циклы.
1 Программирование на языке Паскаль Циклы. 2 Цикл – это многократное выполнение одинаковой последовательности действий. цикл с известным числом шагов.
Массивы 9 класс. Основные теоретические сведения Примеры решения задач.
Ветвления 8 класс. 2 Основные теоретические сведения Примеры решения задач.
Знакомство с языком Паскаль Структура программы Ветвление на Паскале Циклические программы Пример линейной программы Пример программы с ветвлением Пример.
Организация повторений в Паскале. Найди ошибки: Program new Uses crt; Var a, b, c integer Begin clrscr Readln(a,b); C:=a*a+b*b Wreteln(c); End.
Циклические программы Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
Циклы на языке Pascal повторение. Циклы позволяют многократно выполнять одну или группу команд, причем в тексте программы нет необходимости записывать.
ЦИКЛИЧЕСКИЙ АЛГОРИТМ Цели: -Познакомиться с понятием циклического алгоритма. -Освоить языковые средства для реализации циклических алгоритмов.
Алгоритмическая структура цикл Алгоритм циклической структуры - это алгоритм, в котором происходит многократное повторение одного и того же участка программы.
Организация повторений в Паскале. i,1,n Действие 1 Действие 2 i,1,n Действие 1 Действие 2 FOR i:=1 TO N DO BEGIN действие 1; действие 2; END; FOR i:=1.
Тест по теме «Линейный алгоритм». 1.Определите значение целочисленной переменной а после выполнения фрагмента алгоритма. а:=247; b:=(a div 100)*10+9;
Pascal Алгоритмы разветвляющейся структуры, программирование на языке Pascal 10 «А» класс.
Циклы в языке программирования Pascal
1 БАЗОВЫЕ АЛГОРИТМИЧЕСКИЕ КОНСТРУКЦИИ ПОВТОРЕНИЕ НЕОПРЕДЕЛЕННЫЕ ЦИКЛЫ.
1 Программирование на языке Паскаль Ветвления. 2 Разветвляющиеся алгоритмы Задача. Ввести два целых числа и вывести на экран наибольшее из них. Идея решения:
Глава 6. УПРАВЛЯЮЩИЕ СТРУКТУРЫ Оператор присваивания Простой и составной операторы Условный оператор Оператор множественного выбора Оператор цикла с предусловием.
ЦИКЛЫ Преподаватель информатики КГБОУ СПО «Барнаульский государственный педагогический колледж» Жиляева Ирина Петровна.
Язык программирования Pascal Повторение А. Жидков.
Транксрипт:

Операторы Линейные алгоритмы Понятие оператора Простые и структурные операторы Составление линейных алгоритмов

Операции и операнды Оператор это команда, записанная на языке программирования. Разделителем операторов служит точка с запятой.

Простые операторы Оператор присваивания Простой оператор это оператор, который не содержит других операторов. Оператор присваивания это простой оператор, позволяющий задать некоторое значение переменной. Формат блока: Пример: := ; a := 3; b := a + 5; c := a + b;

Простые операторы Оператор безусловного перехода Оператор безусловного перехода применяется в случаях, когда после выполнения некоторого оператора надо выполнить не следующий по порядку, а какой-либо другой, отмеченный меткой оператор. Метка объявляется в разделе описания меток и может содержать как цифровые, так и буквенные символы. Использование безусловных передач управления в программе хоть и является допустимым, но является «дурным тоном» в программировании. !

Простые операторы Оператор безусловного перехода Формат блока: Пример: Go to ;... : ; Go to Metka_1;... Metka_1 : WriteLn;

Простые операторы Оператор вызова процедуры Оператор вызова процедуры служит для активизации, предварительно описанной пользователем, или стандартной процедуры. Пример: ClrScr;// Вызов процедуры очистки экрана ReadLn (x);// Вызов процедуры ввода WriteLn (x:3);// Вызов процедуры вывода

Простые операторы Пустой оператор Пустой оператор не содержит никаких символов и не выполняет никаких действий. Обычно пустой оператор используется для организации перехода к концу блока, если необходимо пропустить несколько операторов, но не выходить из блока. Пример: begin... Go to Metka; // Переход в конец блока... Metka : // Пустой оператор помечен меткой end;

Структурные операторы Составной оператор Структурный оператор это конструкция языка программирования, построенная из других операторов по строго определенным правилам. Составной оператор представляет собой блок из произвольного числа операторов, отделенных друг от друга точкой с запятой, и ограниченный операторными скобками begin и end;. Формат блока: begin ;... end;

Решение задач Входные данные:Выходные данные: a = 1 a = 2 b = 2 b = 1 Задача 1 Поменять значения двух введенных переменных. Какой поменять местами краску в ведрах? ?

Решение задач Блок-схема:Алгоритм: Начало Вывод a, b Конец Ввод а, b c := a; a := b; b := c; алг Перемена цел а, b, c Нач Ввод a, b c := a a := b b := c Вывод a, b Кон

Решение задач Входные данные:Выходные данные: sm = 256 m = 2 Входные данные:Выходные данные: n = 769 n = 697 n = 6* * Задача 2 Дано расстояние в сантиметрах. Найти число полных метров в нем. Задача 3 Дано трехзначное число. В нем зачеркнули первую слева цифру и приписали ее в конце. Найти полученное число. Как трехзначное число поделить на цифры? Сколько переменных необходимо? ?

Решение задач Входные данные:Выходные данные: n = 4566 n = 6645 Задача 4 Дано четырехзначное число. Найти число, образованное перестановкой двух первых и двух последних цифр заданного числа. Задача 5 В трехзначном числе x зачеркнули его вторую цифру. Когда к образовавшемуся двузначному числу справа приписали вторую цифру числа x, то получилось число y. По заданному y найти число x, y (99;1000). Задача 6 С начала суток прошло n секунд. Определить сколько целых часов прошло с начала суток.

Решение задач Входные данные:Выходные данные: a = 6 c = 1 b = 3 Идея: Если a mod b = 0 или b mod a = 0, то выводим 1, иначе выводим любое другое число. с = (a mod b) или (b mod a) + 1 Задача 7 Даны два целых числа a и b. Если а делится на b или b делится на а, то вывести 1, иначе любое другое число. Какая арифметическая операция соответствует логической операции «ИЛИ»? ?

Решение задач Задача 8 Известны координаты двух точек на плоскости. Найти расстояние между ними. * Расстояние d между точками A(x1, y1) и B(x2, y2) плоскости определяется по формуле: Задача 9 Найти площадь кольца по заданным внешнему и внутреннему радиусам. * Площадь круга рассчитывается по формуле R 2. Какой тип данных будет у переменной Sq ? ? Входные данные: r_min, r_max Выходные данные: Sq

Решение задач Входные данные:Выходные данные: n = 43 52, = = Задача 10 Дано двухзначное число. Определить, каким кодом таблицы ASCII закодирована каждая из цифр числа. Как вычислить значения кода ASCII для любой цифры? ? ASCII Цифра

Решение задач Входные данные:Выходные данные: ch_1 = a False ch_2 = b Алгоритм: Задача 11 По двум введенным символам определить, является ли первый введенный символ больше второго. алг Символы перем ch_1, ch_2, f Нач Ввод ch_1, ch_2 f := ch_1 > ch_2 Вывод f Кон Какой тип данных будет у переменных? ?

Решение задач I способ:II способ: Через проверку деления на 2. Через функцию Odd(х). Число n лежит в диапазоне [a; b], если n >= a и n

Решение задач Формула Герона:, где p полупериметр. Задача 15 Найти площадь треугольника по длинам его сторон. Задача 16 Составить программу, которая преобразует введенное с клавиатуры дробное число в денежный формат. Например, число 12,348 должно быть преобразовано к виду 12 руб. 35 коп. Задача 17 Дано вещественное число x. Вычислить значение полинома: 2 х 4 – 3 х х 2 – 5 х + 6.

Решение задач Задача 18 Сколько процентов от (a + b – c) приходится на a, b и c? Задача 19 Первая бригада может выполнить задание за a дней, а вторая за b дней. За сколько дней две бригады выполнят задание, работая вместе? Задача 20 На борту самолета, летящего по маршруту Москва Лондон, находится x пассажиров. Три четверти пассажиров имеют билеты второго класса, все остальные первого. Билет первого класса стоит b рублей. Это в два раза больше стоимости билета второго класса. Сколько денег получила авиакомпания при продажи билетов на этот рейс?

Условный оператор Полная и краткая форма ветвления Вложенные ветвящиеся алгоритмы

Условный оператор Условный оператор это конструкция языка программирования, обеспечивающая выполнение одного из двух наборов команд в зависимости от значения некоторого условия. Условие это выражение, составленное из операций отношения и логических операций и имеющее логический тип результата. Виды условий: простое условие состоит только из операций отношения; a = b; 10 >= 20; составное условие состоит из простых, заключенных в скобки и объединенных логическими операциями. (a = b) and (10 >= 20);

Полная и краткая формы конструкции ветвления Полная форма:Краткая форма: Формат блока:Формат блока: If Then Else ; Условие Оператор_1Оператор_2 TrueFalse Условие Оператор TrueFalse If Then ;

Вложенные конструкции ветвления Вложенные конструкции ветвления: Условие_1 Оператор_1 Оператор_2 TrueFalse Условие_2 TrueFalse Оператор_3 Если после слов Then или Else следует не один, а сразу несколько операторов, то их следует поместить в операторные скобки. !

Пример Входные данные:Выходные данные: a = 1 Rezult = 0.5 b = 2 Словесный алгоритм решения задачи: 1. Ввести значения a и b с клавиатуры. 2. Если b = 0, то вывести на экран сообщение об ошибке. 3. Если b 0, то переменной Rezult присвоить значение частного a и b, и вывести ее значение на экран. Даны два целых числа a и b. Найти частное этих двух чисел, при этом необходимо учесть то, что на ноль делить нельзя.

Решение задач Блок-схема:Алгоритмический язык: алг Частное перем а, b, Rezult нач ввод a, b если b = 0 то вывод Ошибка! иначе Rezult := a/b вывод Rezult кон Начало Конец Ввод а, b Rezult := a/b b = 0 Вывод Ошибка! Вывод Rezult

Решение задач Программа: Program Z; Var a, b : Integer; Rezult : Real; Begin WriteLn ('Введите целые числа a и b:'); ReadLn (a, b); If b = 0 Then WriteLn ('На ноль делить нельзя') Else begin Rezult := a/b; WriteLn ('Частное чисел =', Rezult); end; End.

Решение задач Входные данные:Выходные данные: x = -1 y = -9 Словесный алгоритм решения задачи: 1. Ввод x. 2. Если x > 3, тогда y = x 2 + 5, иначе y = x – Вывод y. Задача 5 Вычислить значение сложной функции:

Решение задач Начало Конец Ввод x y := x - 8 x > 3 y := x Вывод y Блок-схема:Алгоритмический язык: алг Функция цел x, y нач ввод x если x > 3 то y := x2 + 5 иначе y := x – 8 вывод y кон

Решение задач Входные данные:Выходные данные: x = 1, y = 0, R = 1 Точка лежит на окружности Словесный алгоритм решения задачи: 1. Ввод x, y, R. 2. Если R 2 = x 2 + y 2, тогда точка лежит на окружности, иначе точка не лежит на окружности. 3. Вывод результата. Задача 6 Составить программу, определяющую, лежит ли точка с указанными координатами x и у на окружности радиуса R с центром в начале координат.

Решение задач Алгоритм: 100

Решение задач Входные данные:Выходные данные: x = 4 Четное Если число без остатка делится на 2, то оно четное. x mod 2 = 0 Фрагмент алгоритма: Задача 8 Определить, является ли число, введенное с клавиатуры, четным. Ноль четное? ? если x = 0 то вывод Ноль иначе если x mod 2 = 0 то вывод Четное иначе вывод Нечетное

Решение задач Блок-схема: x = 0 Вывод Ноль Вывод Четное TrueFalse x mod 2 = 0 TrueFalse Вывод Нечетное

Решение задач Задача 9 Найти наименьшее из двух заданных чисел a и b. Задача 10 Определить, принадлежит ли точка М с координатой x отрезку [ a, b ] числовой прямой. Значения x, a, b вводятся с клавиатуры. Что если a = b ? ? a b M

Решение задач Входные данные: x = 1, y = 3 Выходные данные: I координатная плоскость Если точка находится на одной из осей, то она не принадлежит ника- кой из плоскостей. Точка с координатами (0;0) называется началом координат. Задача 11 Составить программу, определяющую, какой координатной четверти принадлежит точка М(x, y), если x и у любые целые числа. Координаты точки х и у вводятся с клавиатуры.

Решение задач Входные данные:Выходные данные: x = 45 Цифры числа не равны Задача 12 Определить, состоит ли двузначное число, введенное с клави- атуры, из одинаковых цифр. Задача 13 Дано трехзначное число. Верно ли, что все цифры в числе различ- ные? Задача 14 Дано трехзначное число. Определить является ли данное число палиндромом. Что делать, если будет введено трехзначное число? ?

Решение задач Задача 15 Дано 5-тизначное число. Определить, упорядочены ли по возрастанию цифры в записи этого числа. Например, в числе цифры упорядочены по возрастанию, а в числе нет. Задача 16 Составить программу определения стоимости разговора по телефону с учетом скидки 20 %, предоставляемой по субботам и воскресеньям. Минута разговора стоит 2,3 руб. Входные данные:Выходные данные: Время разговора: t = 10 Стоимость разговора: День недели: d = 7 p = 18.4

Решение задач Задача 17 Даны три числа. Определить вид треугольника (равносторонний, равнобедренный, разносторонний), длины сторон которого равны введенным числам. Добавить проверку, является ли треугольник прямоугольным. Добавить проверку возможности построения треугольника из отрезков заданной длины. Какую «защиту от дурака» надо предусмотреть в этой задаче? ?

Оператор выбора Блок-схема и формат

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

Блок схема оператора выбора Выражение- селектор Оператор_1 Константа_1 Константа_2 Константа_n Оператор_2 Оператор_n Действие по умолчанию True False

Формат блока Case of : ;... : ; Else end; Особенности оператора выбора: Селектор должен быть целочисленным, логическим или символьным значением. Тип констант должен совпадать с типом селектора.

Решение задач Задача 18 Составить программу, которая по введенному возрасту пользователя сообщает, к какой возрастной группе он относится: до 13 детство; от 14 до 24 молодость; от 25 до 59 зрелость; от 60 старость. Задача 19 Составить программу, которая для целого числа k (от 1 до 99), введенного с клавиатуры, выведет фразу «Мне k лет», где k введенное число. При этом в нужных случаях слово «лет» заменяется на слова «год» или «года».. От чего зависит выбор слова? ? Какие значения может принимать k ? ?

Решение задач Задача 20 Ближайшая к дому булочная работает с 7:00 до 19:00 и закрывается на перерыв с 13:00 до 15:00. Хлебный магазин, расположенный дальше, работает с 8:00 до 20:00 и имеет перерыв с 14:00 до 16:00. С 8:00 до 24:00 хлеб можно купить в гастрономе, расположенном дальше, чем хлебный магазин и работающем без обеда. По времени на часах у пользователя определить, что лучше: сходить в булочную, так как она открыта; дойти до хлебного магазина; съездить в гастроном; сидеть дома, так как везде закрыто. Время вводится следующим образом: часы целая часть числа, минуты дробная часть числа. Например, 14,25 14 часов 25 минут.

Операторы повтора Цикл с параметром

Оператор повтора Оператор повтора (цикл) это конструкция языка программирования, обеспечивающая выполнение ряда команд заданное количество раз. Структура цикла: условие, определяющее число повторов; тело цикла это блок операторов, которые необходимо выполнить заданное количество раз. Если тело цикла состоит из нескольких операторов, то оно помещается в операторные скобки begin-end. !

Виды циклов Цикл С параметром FOR С предусловием WHILE С постусловием REPEAT Используется, когда известно число повтором Используется, когда необходимо хотя бы 1 раз выполнить тело цикла Используется, когда не известно число повтором С параметром FOR Используется, когда известно число повтором

Цикл с параметром Цикл с параметром For используется в случаях, когда число повторений заранее известно. Параметр это переменная, которая задает число повторений в цикле For. Формат блока: A и B выражения, определяющие начальное и конечное значения параметра цикла. For := A to B do ; For := A downto B do ;

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

Решение задач Входные данные:Выходные данные: x = 2, y = 6 p = 64 Словесный алгоритм решения задачи: 1. Ввести числа x и y. 2. Проверить корректность ввода. 3. Вычислить степень p = 2^8 = 2 * 2 *.. * 2 = Вывести p. Задача 1 Возвести натуральное число x в неотрицательную степень у. Какие ограничения надо задать на ввод? Что значит натуральное число? ? 6 раз

Решение задач Блок-схема: Начало Конец Ввод x, y p := p * i x N y > 0 Вывод Ошибка! Вывод p i := 1 до y

Решение задач Алгоритм: Измените задачу так, чтобы можно было возвести число в любую степень, включая отрицательную. алг Степень перем x, y, i, p нач ввод x, y если x N и y > 0 то вывод Ошибка! иначе нц для i от 1 до y p := p * i кц вывод p все кон Какой тип данных и начальное значение должно быть у переменной p ? ?

Решение задач Трассировка программы Трассировка это процесс выполнения программы по шагам (step-by-step), оператор за оператором. For i := 1 to y do p := p*x; xyip

Решение задач Входные данные:Выходные данные: n = 4 f = 24 Словесный алгоритм решения задачи: 1. Ввести n. 2. Проверить корректность ввода. 3. Вычислить степень f = 1 * 2 * 3 * 4 = Вывести f. Задача 2 Вычислить факториал натурального числа n. 4 раза При каких значениях n произойдет переполнение типа результата? ?

Решение задач Переменная-счетчик Задача 3 Найти все двузначные числа, в которых есть цифра n или само число делится на n. Сколько раз выполнится цикл? Какие значения может принимать n ? ? Задача 4 Найти количество всех трехзначных чисел, сумма цифр которых равна заданному числу n. Входные данные:Выходные данные: n = 2 k = 3 Переменная-счетчик это переменная, увеличивающая свое значение при выполнении какого-либо условия или действия. В данной задаче k это переменная-счетчик.

Решение задач Трассировка: For i := 100 to 999 do If (i div 100) + (i div 10 mod 10) + (i mod 10) = n Then Inc(k); nik

Решение задач Задача 5 Построить таблицу умножения числа n на числа от 1 до 10. В этой задаче важно организовать вывод. ! Задача 6 Найти сумму положительных нечетных чисел, меньших 100. Выходные данные: Сумма будет хранится в переменной-счетчике, которая увеличивается не на 1, на подходящее число. !

Решение задач Задача 7 Найти сумму целых положительных чисел из промежутка от а до b, кратных 4. Значения а и b вводятся с клавиатуры. Задача 8 Найти сумму целых положительных чисел, больших 20, меньших 100, кратных 3 и заканчивающихся на 2, 4 или 8. Задача 9 Дано натуральное число n. Найти сумму его делителей. Задача 10 Определить, является ли число n простым. Есть ли смысл просматривать все числа от 1 до n? ?

Решение задач Переменная-флаг Переменная-флаг это переменная логического типа, значение которой сигнализирует о состоянии вычислительного процесса. Алгоритм решения задачи 10 с использованием флага: 1. Ввести n. Проверить правильность ввода. 2.Переменной-флагу f присвоить значение true (по умолчанию число простое). 3. Организовать цикл и просмотреть все числа от 2 до ? Если среди этих чисел найдется хоть один делитель числа n, то «поднять флаг», т. е. присвоить переменной f значение false. 4. В зависимости от значения f, вывести ответ на экран.

Операторы повтора Цикл с предусловием

Виды циклов Цикл С параметром FOR С предусловием WHILE С постусловием REPEAT Используется, когда известно число повтором Используется, когда необходимо хотя бы 1 раз выполнить тело цикла Используется, когда не известно число повтором С предусловием WHILE Используется, когда не известно число повтором

Цикл с предусловием Цикл с предусловием While используется в случаях, когда число повторений заранее не известно. Формат блока: выражение логического типа. Перед каждым выполнением тела цикла вычисляется значение условия. Если результат равен True, тело цикла выполняется. Если результат равен False, происходит выход из цикла. While do ; В теле цикла обязательно должен присутствовать оператор, влияющий на значение условия. !

Решение задач Входные данные:Выходные данные: n = 1234 k = 4 Идея алгоритма: Словесный алгоритм: 1. Ввести n. Проверить правильность ввода. 2. Организовать цикл, на каждом шаге которого удалять последнюю цифру из n и увеличивать счетчик, пока n не станет равным Вывести k. Задача 11 Дано натуральное число n. Найти количество цифр в нем. Шаг 1Шаг 2Шаг 3Шаг 4 n = 1234 n = 123n = 12n = 1n = 0 k = 0k = 0 + 1k = 1 + 1k = 2 + 1k = 3 + 1k = 4

Решение задач Блок-схема:Алгоритм: алг Кол_циф цел n, k нач ввод n если n N то вывод Ошибка! иначе нц пока n 0 n := n div 10 k := k + 1 кц вывод k все кон n := n div 10 Вывод k пока n 0 k := k + 1 True False

Решение задач Программа: Program Z11; Var n, m, k : Integer; Begin WriteLn (Введите натуральное число n:'); Write ('n = '); ReadLn (n); If (n < 1) Then WriteLn (Ошибка ввода!') Else begin m := n; While m 0 do begin Inc(k); m := m div 10; end; WriteLn (Количество цифр в числе = ', k); end; End. ?

Решение задач Задача 12 Найти сумму цифр натурального числа n. Задача 13 Напишите программу, которая приписывает по 1 в начало и в конец записи числа n. Например, было n = 3456, стало n = Задача 14 Поменять порядок цифр натурального числа n на обратный. Шаг 1Шаг 2Шаг 3Шаг 4 i = 1234 i = 123i = 12i = 1i = 0 j = 0j = 4j = 4*10+3j = 43*10+2j = 432*10+1j = 4321

Решение задач Задача 15 Найти количество четных цифр в записи натурального числа n. Задача 16 Определить, является ли заданное число n степенью числа 3. Идея алгоритма: Делить число n на 3 пока не получим 1 или пока остаток от деления не станет отличным от нуля. Алгоритм: Для определения причины выхода из цикла необходима проверка флага. ! нц пока n > 1 или n mod 3 = 0 n := n div 3 кц

Решение задач Трассировка: i := n; While (i > 1) and (i mod 3 = 0) do i := i div 3; ii mod кц ii mod кц

Входные данные:Выходные данные: n = 5354 k = 2 Поиск максимальной цифры: Изначально принимаем за максимальную последнюю цифру числа и удаляем ее из числа. Двигаясь справа налево, сравниваем последнюю цифру числа с максимальной и удаляем ее. Решение задач Задача 17 Выяснить сколько раз в натуральном числе n встречается его максимальная цифра. Шаг 1Шаг 2Шаг 3 n = 5354n = 535n = 53n = 5n = 0 5 > 4 ?3 > 5 ?5 > 5 ? max = 4max = 5

Решение задач Задача 18 Определить, является ли разность максимальной и минимальной цифр числа четной. Задача 19 Вводится последовательность целых ненулевых чисел, признак окончания ввода ввод 0. Количество чисел не меньше 2. Выяснить, является ли последовательность возрастающей.. Задача 20 Определить является ли заданное натуральное число палиндромом.

Операторы повтора Цикл с постусловием

Виды циклов Цикл С параметром FOR С предусловием WHILE С постусловием REPEAT Используется, когда известно число повтором Используется, когда необходимо хотя бы 1 раз выполнить тело цикла Используется, когда не известно число повтором С постусловием REPEAT Используется, когда необходимо хотя бы 1 раз выполнить тело цикла

Цикл с постусловием Цикл с постусловием Repeat-Until используется в случаях, когда необходимо выполнить тело цикла хотя бы 1 раз. Формат блока: выражение логического типа. Тело цикла выполняется хотя бы один раз, после этого вычисляется значение условия. Если результат равен False, тело цикла выполняется. Если результат равен True, происходит выход из цикла. Repeat ; Until ; Слова Repeat-Until выполняют роль операторных скобок. !

Решение задач Входные данные:Выходные данные: n = 1234 k = 4 Идея алгоритма: Словесный алгоритм: 1. Ввести n. Проверить правильность ввода. 2. Организовать цикл, на каждом шаге которого удалять последнюю цифру из n и увеличивать счетчик, пока n не станет равным Вывести k. Задача 21 Дано натуральное число n. Найти количество цифр в нем. Шаг 1Шаг 2Шаг 3Шаг 4 n = 1234 n = 123n = 12n = 1n = 0 k = 0k = 0 + 1k = 1 + 1k = 2 + 1k = 3 + 1k = 4

Решение задач Блок-схема:Алгоритм: алг Кол_циф цел n, k нач ввод n если n N то вывод Ошибка! иначе нц n := n div 10 k := k + 1 кц_при n = 0 вывод k все кон n := n div 10 Вывод k пока n = 0 k := k + 1 False True

Решение задач Программа: Program Z21; Var n, m, k : Integer; Begin WriteLn (Введите натуральное число n:'); Write ('n = '); ReadLn (n); If (n < 1) Then WriteLn (Ошибка ввода!') Else begin m := n; Repeat Inc(k); m := m div 10; Until m = 0; WriteLn (Количество цифр в числе = ', k); end; End.

Решение задач Входные данные:Выходные данные: n = 20 Число не простое Идея алгоритма: 1. Делить исходно число n на последовательность чисел от 2 до последнего возможного делителя. 2. Выход из цикла производить в случае нахождения первого делителя, или после перебора всех возможных вариантов. 3. С помощью переменной-флага определить, по какой причине произошел выход из цикла. Задача 22 Определить, является ли число n простым.

Решение задач Алгоритм Евклида: Пусть a и b целые неотрицательные числа, такие что a 0, b 0 и a b. Тогда если b = 0, то НОД( a, b ) = a. Если b 0, то НОД( a, b ) = НОД( b, r ), где r остаток от деления a на b. Действительно если какое-то число делит нацело и a, и b, то оно делит нацело и число r : r = a mod b r = a – ( a div b ) * b Задача 23 Найти наибольший общий делитель двух (НОД) чисел.

Решение задач Трассировка: ab Результат mod 18 = 1218НОД(48,18) = НОД(12,18) 1218 mod 12 = 6НОД(12,18) = НОД(12,6) 12 mod 6 = 06НОД(12,6) = НОД(0,6) 06НОД(0,6) = 6 Repeat If a > b Then a := a mod b Else b := b mod a; Until (a = 0) or (b = 0); WriteLn (НОД = ', a + b); ?

Решение задач Входные данные: q = 12 Выходные данные: 6 и 2, 4 и 3, 3 и 4, 2 и 6 Задача 24 Дано натуральное число q, выражающее площадь. Найти длины сторон (натуральные числа) всех таких прямоугольников (если они есть), площадь которых равна q. Задача 25 Вычислить значение функции y = 4 x 3 – 2 x для значений х, изменяющийся от –3 до 1 с шагом 0,5.

Решение задач Задача 26 Напишите программу, которая требует у пользователя пароль. Если пароль правильный, то на экран выводится сообщение «Молодец!». Если после пятой попытки пароль все равно неверен, выходит из программы. Задача 27 Отгадать целое число, которое «загадал» компьютер в определен- ном диапазоне. * Программа генерирует псевдослучайное число, которое записывается в переменную a. Пока число a не совпадет с числом b, пользователю будет предлагаться ввести очередное число. При этом, если b > a, то на экран будет выдаваться сообщение «Много». Иначе будет проверяться условие b < a. При его положительном значении появится сообщение «Мало», иначе сообщение «Угадал». Для формирования случайного числа воспользуйтесь функцией Random(). !

Решение задач Задача 28 Написать программу вычисления среднего арифметического последовательности положительных чисел, которые вводятся с клавиатуры. Признак окончания ввода ввод 0. Задача 29 Написать программу ожидания нажатия конкретной клавиши без учета регистра. Задача 30 Составить программу планирования закупки товара в магазине на сумму, не превышающую заданную величину.

Операторы повтора Вложенные циклы

Решение задач Алгоритм: Задача 31 Вывести на экран целые числа в следующем виде: ввод n нц для i от 1 до n нц для j от 1 до i вывод n кц Внешний цикл Внутренний цикл

Решение задач Блок-схема: Начало Конец Ввод n Вывод n i := 1 до n j := 1 до i False True False

Решение задач Трассировка: For i := 1 to n do begin For j := 1 to i do Write (n, ' '); WriteLn; end; nij Результат

Решение задач Задача 32 Вывести на экран целые числа в следующем виде: Задача 33 Вывести на экран целые числа в следующем виде:

Решение задач Входные данные:Выходные данные: n = 4 s = 100 k = 3 Идея алгоритма: Во внутреннем цикле будем вычислять значение очередного слагаемого (как степень числа). Во внешнем цикле будем увеличивать значение итоговой суммы на значение вычисленного во внутреннем цикле очередного слагаемого. Задача 34 Даны натуральные числа n и k. Найти значение выражения: 1 k + 2 k n k.

Решение задач Фрагмент алгоритма: Ввод n, k s := 0 нц для i := 1 до n y := 1 нц для j := 1 до k y := y * i кц s := s + y кц Вывод s Алгоритм вычисления степени числа

Решение задач Трассировка: For i := 1 to n do begin y := 1; For j := 1 to k do y := y*i; s := s + y; end; nkiyjs

Решение задач Входные данные:Выходные данные: n = 4 s = 3413 Задача 35 Модифицировать предыдущую программу так, чтобы она вычисляла сумму n n. Задача 36 Сколько можно купить быков, коров и телят, при условии, что плата за быка 10 рублей, за корову 5 рублей, за теленка 0,5 рубля. На 100 рублей надо купить 100 голов скота. Задача 37 Дано натуральное число n. Определить количество решений неравенства x 2 + y 2 < n в натуральных числах.

Решение задач Задача 38 Даны натуральные числа n, m. Получить все меньшие n натуральные числа, квадрат суммы цифр которых равен m. Задача 39 Составить программу для нахождения всех натуральных решений уравнения n 2 + m 2 = k 2 в интервале [1, 10]. Задача 40 Написать программу построения квадрата Пифагора таблицу умножения натуральных чисел.