
- •Содержание:
- •Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б». 67
- •Writeln('Введите строку'); 67
- •1. Что такое величина типа String? Как описать переменную-строку? 67
- •§1. Понятие алгоритма. Свойства, виды и формы представления алгоритмов
- •§ 2. Введение в язык программирования Pascal
- •Write(список выражений и/или переменных); Writeln(список выражений и/или переменных);
- •№4. Вывести на экран рисунок из букв § 3. Типы величин. Переменные. Присваивание.
- •§ 4.Оператор ввода.
- •§ 5. Арифметические операции
- •§ 6. Стандартные математические функции
- •§ 7. Логические выражения
- •§ 8. Решение задач по теме «Линейные программы. Логические величины.»
- •§ 9. Условный оператор
- •В общем случае полная форма условного оператора имеет вид:
- •Условный оператор работает по следующему алгоритму.
- •§ 10. Решение задач
- •§ 11. Вложенные условные операторы
- •§ 12. Цикл с предусловием
- •Представим всю информацию о цикле с предусловием в таблице:
- •§ 13. Решение задач по теме «Цикл с предусловием»
- •§ 14. Цикл с постусловием
- •§ 15. Решение задач по теме «Цикл с постусловием»
- •§ 16. Цикл с параметром (счетчиком)
- •Общая форма записи цикла со счетчиком (параметром)
- •§ 17. Решение задач по теме «Цикл со счетчиком»
- •§ 18. Линейные массивы: описание, ввод, вывод
- •§ 19. Заполнение массива случайными числами и его обработка
- •§ 20. Замены и перестановки в массиве.
- •§ 21. Поиск максимального элемента
- •§ 22. Сортировка линейного массива
- •Сортировка методом простого выбора (простой перебор)
- •Сортировка массива по возрастанию:
- •§ 23. Двумерные массивы (матрицы)
- •§ 24. Обработка двумерного массива (матрицы)
- •§ 25. Символьный тип данных
- •№57. Вводится код символа (любое число 0-255). На экран выводится символ с данным кодом. § 26. Строковый тип данных, операции и функции.
- •Упр. 41. Ввести строку с клавиатуры и заменить все буквы «а» на буквы «б».
- •Writeln('Введите строку');
- •Что такое величина типа String? Как описать переменную-строку?
- •§ 27. Процедуры для работы со строковыми величинами.
- •§ 28. Подпрограммы пользователя
§ 8. Решение задач по теме «Линейные программы. Логические величины.»
Упр. 7. Вычислите значения выражения:
а) sqr(x)+sqr(y)<=4 при x=0.3, y=-1.6;
б) k mod 7 = k div5-1 при k=15;
в) odd(trunc(10*p)) при p=0.182;
г) not odd(n) при n=0;
д) t and (p mod 3=0) при t=true, p=101010;
е) (x*y<>0) and (y>x) при x=2, y=1;
ж) (x*y<>0) or (y>x) при x=2, y=1;
з) a or (not b) при a=False, b=True;
Упр. 8. Записать на Паскале выражение, истинное при выполнении указанного условия и ложное в противном случае:
а) х принадлежит отрезку [0, 1];
б) х лежит вне отрезка [0, 1];
в)* х принадлежит отрезку [2, 5] или [-1, 1];
г)* х лежит вне отрезков [2, 5] и [-1, 1];
д) каждое из чисел х, у, z положительно;
ж) ни одно из чисел х, у, z не является положительным;
з) только одно из чисел х, у, z положительно;
и) логическая переменная а имеет значение True, логическая переменная b имеет значение False;
к)* год с порядковым номером у является високосным (год високосный, если его номер кратен 4, однако из кратных 100 високосными являются лишь кратные 400, например, 1700, 1800 и 1900 – невисокосные годы, 2000 – високосный).
Упр. 9. Нарисовать на плоскости (х,у) область, в которой и только в которой истинно указанное выражение:
а)* (y>=x) and (y+x>=0) and (y<=1);
б) (sqr(x)+sqr(y)<1) or (y>0) and (abs(x)<=1);
в) (trunc(y)=0 and (round(x)=0);
г)* (abs(x)<=1)>(abs(y)>=1);
д) (sqr(x)+sqr(y)<=4)=(y<=x).
Упр. 10..Книга стоит X рублей. У покупателя имеются купюры достоинством 50, 10, 5, 1 рублей. Сколько и каких купюр надо взять, чтобы расплатиться за книгу минимальным количеством купюр?
§ 9. Условный оператор
До сих пор Вы использовали линейные алгоритмы, в которых все этапы решения задачи выполняются строго последовательно. Познакомимся с разветвляющимся алгоритмом.
Определение. Разветвляющимся называется такой алгоритм, в котором выбирается один из нескольких возможных вариантов вычислительного процесса. Каждый подобный путь называется ветвью алгоритма. |
|
Признаком разветвляющегося алгоритма является наличие операций проверки условия. Различают два вида условий – простые и составные (см. § 7 ).
Для создания разветвляющегося алгоритма используется условный оператор, состоящий из слов IF… Then… Else (если… то… иначе).
В общем случае полная форма условного оператора имеет вид:
Условный оператор работает по следующему алгоритму.
Сначала вычисляется значение логического выражения (условия), расположенного за служебным словом IF. Если его результат истина, выполняется <оператор1>, расположенный после слова THEN, а действия после ELSE пропускаются; если результат ложь, то, наоборот, действия после слова THEN пропускаются, а после ELSE выполняется <оператор 2>. Перед словом Else точка с запятой не ставится.
Если в качестве оператора должна выполниться серия операторов, то они заключаются в операторные скобки begin-end. Конструкция Begin ... End называется составным оператором.
if <условие> then begin оператор 1; оператор 2; ... {- что делать, если условие верно} end else begin оператор 1; оператор 2; ... {- что делать, если условие неверно} end; |
Определение. Составной оператор - объединение нескольких операторов в одну смысловую группу с помощью операторных скобок (begin-end)
begin
оператор 1;
оператор 2;
end;
Упр. 11:
Вычислить
|
|
|
Program drob; Var a,b,c : real; Begin Write (‘Введите делимое и делитель’); Read (a,b); If b=0 then writeln (‘Делить на ноль’) Else begin c:=a/b; writeln(‘Частное=’, c); end; End. |
Отметим, что большинство операторов в программах на языке Паскаль заканчиваются точкой с запятой, но после некоторых операторов точка с запятой не ставится. Сформулируем общие правила употребления точки с запятой:
1. Каждое описание переменной и определение константы заканчиваются точкой с запятой.
2. Каждый оператор в теле программы завершается точкой с запятой, если сразу за ним не следуют зарезервированные слова End, Else, Until.
3. После определенных зарезервированных слов, таких, как Then, Else, Var, Const, Begin, никогда не ставится точка с запятой.
Можно также использовать и сокращенную (неполную) форму записи условного оператора. Эта форма используется тогда, когда в случае невыполнения условия ничего делать не надо.
Неполная форма условного оператора имеет следующий вид.
if <логическое выражение>
then <оператор>
Тогда если выражение, расположенное за служебным словом IF. в результате дает истину, выполняются действия после слова THEN, в противном случае эти действия пропускаются.
Упражнение 12. Составить программу, которая, если введенное число отрицательное меняет его на противоположное. |
|
|
Program Chisla; Var x : integer; {вводимое число} Begin write(‘Введите число‘); {вводим целое число} readln(x); if x<0 then x:=-x; writeln (x); End.
|
Домашние вопросы и задачи:
1. Какой алгоритм называется разветвляющимся, в чем его отличие от линейного?
2. Какой оператор используется для реализации разветвляющегося алгоритма, как записывается и работает этот оператор?
3. Какой оператор называется составным? В каких случаях составной оператор используется внутри условного оператора? Приведите примеры.
4. Расскажите по шагам, как работает программа о делении (см. выше). Укажите все возможные варианты прохождения этого алгоритма.
5. В каком случае используется неполная форма условного оператора? Как она записывается и работает? Приведите примеры.
Задачи:
№23. Каким будет значение переменной а после выполнения операторов:
if a<4 then
begin a:=a+2; a:=a+3;
end
else a:=a-1; а) при a=3, б) при a=4.
№24. Запишите условный оператор, в котором значение переменной с вычисляется по формуле a+b, если а – нечетное и a*b, если а – четное.
№25. Составьте программу и блок-схему вычисления значения функции:
у=