Green-sell.info

Новые технологии
6 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Задачи по программированию на ветвление

Краткий сборник задач (с решением) по теме «Организация линейных, разветвляющихся и циклических алгоритмов на языке программирования Паскаль»

Транскрипт

1 Муниципальное бюджетное общеобразовательное учреждение «Средняя общеобразовательная школа 4 «Ступени открытого непрерывного образования» Краткий сборник задач (с решением) по теме «Организация линейных, разветвляющихся и циклических алгоритмов на языке программирования Паскаль» Составитель: учитель информатики МБОУ «СОШ 4 «СОНО» Инютина Анастасия Александровна г. Новокузнецк, 2013г.

2 Содержание Задачи на линейные алгоритмы. 3 Решение некоторых линейных задач. 5 Задачи на разветвящиеся алгоритмы. 7 Решение ветвящихся задач. 9 Задачи на циклические алгоритмы Решение циклических задач

3 Задачи на линейные алгоритмы 1. Даны длины ребер a, b, c прямоугольного параллелепипеда. Найти его объем V = abc и площадь поверхности S = 2(ab + bc + ac). 2. Найти значение переменных m и n по формуле, и получить общий ответ отношения m и n. 3. Даны два числа a, b, с. Найти их среднее арифметическое. 4. Найти произведение значений двух переменных и вывести результат на экран. 5. Найти длину окружности p заданного радиуса r. ( ). 6. Дана длина ребра куба. Найти площадь грани (S1=a 2 ), площадь полной поверхности (S2=6а 2 ) и объем куба (V=a 3 ). 7. Даны числа a, b, c. Найти 8. Мальчик купил в магазине n порций мороженного по цене 1200 руб. и k плиток шоколада по цене 3800 руб. Сколько всего потратил мальчик. 9. Составьте программу нахождения площади равнобедренной трапеции через стороны a, b, c 10. Найти радиусы внутренней и внешней окружности кольца. 11. Из поселка в город выехал мотоциклист со скоростью 60 км/ч. В то же время ему на встречу выехал велосипедист со скоростью 15 км/ч. Они встретились через 2 часа. Составьте программу, которая выводит расстояние от города до поселка. 12. Вася и Петя ловили рыбу. У Васи хорошо клевало, у Пети хуже. Сколько рыбы они вместе поймали, если Петя поймал на 18 меньше, чем они поймали вместе и у одного из них на 14 меньше, чем у другого. 13. Двое рабочих заработали вместе 900 рублей. Один работал 2 недели, а другой 4 недели. Сколько денег заработал каждый? 14. Составите программу для вычисления площади боковой поверхности цилиндра (S = 2 π R h). 15. Составите программу для вычисления площадь поверхности шара (S = π D 2 ). 16. Найти разность, сумму и произведение трёх значений переменных. 17. Даны x, y, z. Вычислить a, b, если 3

4 Результат округлить до 2-х знаков после запятой. 18. Написать программу вычисления значений заданных арифметических выражений. Результат округлить до 2-х знаков после запятой. a lg( x e y x y z), x x b sin( где x = 1.542; y = ; z = Даны действительные числа x и y. Получить x 3 x 5, ) sin 3 ( x) sin 5 ( x) Результат округлить до 2-х знаков после запятой. 20. Даны два действительных числа. Найти среднее арифметическое этих чисел и среднее геометрическое их модулей. Результат округлить до 2-х знаков после запятой. 21. Смешано V1 литров воды температуры t1 с V2 литрами воды температуры t2. Найти объём и температуру образовавшейся смеси. 22. Найти катет прямоугольного треугольника, если известна гипотенуза и прилежащий к искомому катету угол. Результат округлить до 2-х знаков после запятой. 23. Определить время падения камня на поверхности земли с высоты h. 24. Дана сторона равностороннего треугольника. Найти площадь этого треугольника. Результат округлить до 2-х знаков после запятой. 25. Определить силу притяжения F между телами массы m1 и m2, находящимся на расстоянии r друг от друга. Результат округлить до 2-х знаков после запятой. 4

5 Решение некоторых линейных задач 1. program parallelipiped; var a,b,c: integer; var V,S: real; a:=6; b:=3; c:=9; V:=a*b*c; S:=2*(a*b+b*c+a*c); writeln (V); writeln (S); 2. program formula; var a,b,c,d,m,n: integer; a:=9; b:=3; c:=5; d:=2; m:=a+(b*c-d); n:=d-a*2; write (m); write (n); write (m/n); 3. program srednee arefmetichescoe; var a,b,c,d: integer; a:=8; b:=3; c:=5; writeln ((a+b+c)/3); 4. Program Myl_l ; Var a, b, r : Integer; WriteLn (‘Введите два числа через пробел’); ReadLn (a, b); r:=a*b; WriteLn (‘Их произведение равно ‘, r); WriteLn (‘Нажмите ‘); 5. Program Okr; Var p, r : real; WriteLn (‘Введите радиус’); ReadLn (r); p:=2*3.14*r; Write (‘Длинна окружности = ‘, p); ReadLn 6. Program Kub; var a: integer; S1, S2, V: real; readln (a); S1:= sqr(a); S2:= 6*sqr(a); V:=sqr(a)*a; writeln (‘Площадь грани куба = ‘, S1); writeln (‘Площадь полной поверхности куба = ‘, S2); writeln (‘Объём куба = ‘, V); 7. Program formula; var a, b, c: integer; D: real; readln (a,b,c); D:=(sqr(b)+sqrt(c))/abs(a); writeln (‘Формула = ‘, D) 8. Program summa; var n, k: integer; A: real; readln (n,k); A:=(1200*n)+(3800*k); writeln (‘Мальчик потратил ‘, A) 5

6 9. Program formula_1; var a, b, c: integer; S: real; readln (a,b,c); S:=((a+b)/2)*(sqrt(sqr(c)-sqr(a-b)/4)); writeln (‘Формула = ‘, S) 10. Program formula_1; var r, k: integer; S: real; readln (r, k); S:=3,14*(sqr(r)-sqr(k)); writeln (‘Формула = ‘, S) 6

7 Задачи на разветвящиеся алгоритмы 1. Ввести число. Если оно неотрицательно, вычесть из него 10, в противном случае прибавить к нему Ввести два числа. Если их произведение отрицательно, умножить его на -2 и вывести на экран, в противном случае увеличить его в 3 раза и вывести на экран. 3. Ввести два числа. Если сумма этих чисел четная, найти произведение, в противном случае, найти частное этих чисел. 4. Ввести два числа. Вычесть из большего меньшее. 5. Ввести число. Если оно больше 10, разделить его на 2, если меньше или равно 10, то умножить на Ввести два числа. Если их сумма больше 100, то сумму уменьшить в 2 раза, в противном случае увеличить в 2 раза. 7. Ввести двухзначное число. Если сумма цифр числа четная, то увеличить число на 2,в противном случае уменьшить на Составить программу, которая по трем введенным вами числами определит, могут ли эти числа быть длинами сторон треугольника. 9. Дано целое число. Если оно является положительным то прибавить к нему 20, в противном случае вычесть из него 5. Вывести полученное число (Написать программу, начертить блок-схему в тетради). 10. Дано два числа. Если их сумма кратна 5, прибавить 1, иначе вычесть Ввести 2 числа. Если их произведение отрицательно, умножить его на 8 и вывести на экран, в противном случае увеличить его в 1,5 раза и вывести на экран. (Написать программу, начертить блок-схему в тетради). 12. Вести число. Если оно четное, разделить его на 4, если нечетное — умножить на 5 (Написать программу, начертить блок-схему в тетради). 13. Ввести рост человека. Вывести на экран ВЫСОКИЙ, если его рост превышает 180 см, и НЕ ОЧЕНЬ ВЫСОКИЙ в противном случае (Написать программу, начертить блок-схему в тетради). 14. Составить программу, которая запрашивает ввод температуры тела человека и определяет, здоров он или болен (Написать программу, начертить блок-схему в тетради). 15. Составить программу, которая спрашивает возраст человека и, если ему 18 лет и больше, сообщает Замечательно. Вы уже можете водить автомобиль, а в противном случае К сожалению, водить автомобиль Вам рановато (Написать программу, начертить блок-схему в тетради). 16. Составить программу, которая запрашивает ввод трех значений температуры и проверяет, есть ли среди них температура таяния льда. Если такая температура введена, вывести на экран сообщение «Введена температура таяния льда», иначе «Такой температуры нет» (Написать программу, начертить блок-схему в тетради). 7

8 17. Даны три стороны одного треугольника и три стороны другого треугольника. Определить, будут ли эти треугольники равновеликими, т. е. имеют ли они равные площади. Если это не так, то вывести «Foul. » (Написать программу, начертить блок-схему в тетради). 18. Составьте программу подсчёта площади равнобедренного треугольника. Если площадь треугольника чётная, разделить её на 2, в противном случае вывести сообщение «Не могу делить на 2!» (Написать программу, начертить блок-схему в тетради). 19. Написать программу вычисления у в зависимости от значения х y = 1/x при х 0 y = x/6 при других х 21. Запросить радиус круга R и сторона квадрата А. Определить, поместится ли круг в квадрате. Круг поместится в квадрате, если диаметр круга меньше или равен стороне квадрата. 22. Составить программу, чтобы компьютер запросил имя пользователя и его год рождения, затем подсчитал возраст человека, в зависимости от года рождения. 23. Написать программу, контролирующую знание закона Ома. Обучаемый вводит формулу закона Ома в символьную переменную, которая далее сравнивается с правильным ответом, хранящимся в другой символьной переменной. Подсказка: Закон Ома вычисляется по формуле V = IR, где V напряжение, приложенное к участку цепи, I сила тока, а R электрическое сопротивление участка цепи. 24. Написать программу для определения подходящего возраста для вступления в брак, используя следующее соображение: возраст девушки равен половине возраста мужчины плюс 7, возраст мужчины определяется соответственно как удвоенный возраст девушки минус 14. Данные для проверки работы программы задать самостоятельно. 25. Составить программу вычисления значений функции для любого х по желанию пользователя: 26. Написать программу вычисления значения функции у у = x2, если -2 0 then a:=a-10 else a:=a+10; Writeln (‘Переменная a = ‘,a); 2. Program vet2; Var a,b,d:integer; writeln (‘Введите значение переменных a и b’); Readln (a,b); d:=a*b; If d b then d:=a-b else d:=b-a; Writeln (‘Переменная d = ‘,d); 5. Program vet5; Var a:real; writeln (‘Введите значение переменной a’); Readln (a); If a 100 then S:=S/2 else S:=S*2; Writeln ((‘Переменная S = ‘,S); 7. Program vet7; Var a,b,d,s:integer; writeln (‘Введите значение переменной a’); Readln (a); b:= a div 10; d:= a mod 10; S:= b+d; If s mod 2=0 then a:=a+2 else a:=a-2; Writeln (‘Переменная d = ‘,d); 8. Program vet8; Var a,b,с:integer; writeln (‘Введите значение переменных a, b и с’); Readln (a,b,c); If a>=b+c then Writeln ( Нет ) Else if b>=a+с then Writeln ( Нет ) Else if c>=a+b then Writeln ( Нет ) Else Writeln ( Да ); 9

Читать еще:  Лексема это в программировании

10 Задачи на циклические алгоритмы Циклы с известным числом повторений 1. Вывести на экран 3 раза слово «Hello». Особенность: одинаковые действия выполняются 3 раза. 2. Напечатать ряд из повторяющихся чисел 20 в виде: Вывести столбиком следующие числа: Напечатать числа следующим образом: Напечатать числа следующим образом: Напечатать столбиком все целые числа от 20 до 35 и вычислить корни этих чисел. 7. Напечатать столбиком все целые числа от а до b (значения а и b вводятся с клавиатуры). Циклы с предусловием 8. Составить программу вывода 10 целых чисел на экран. 9. Вычислить сумму ряда S = Вычислить сумму ряда, с точностью e = 0, Мой богатый дядюшка подарил мне один доллар в мой первый день рождения. В каждый день рождения он удваивал свой подарок и прибавлял к нему столько долларов, сколько лет мне исполнилось. Написать программу, указывающую, к какому дню рождения подарок превысит 100$. Циклы с постусловием 12. Написать программу ввода неопределённого ряда целых чисел до тех пор, пока не будет введён 0. После ввода 0 программа должна вывести сообщение «Программа закончена». 13. Составить программу вывода 30 целых чисел на экран. 14. Найти сумму ряда S = n. 15. Составить программу подсчета суммы S первых 1000 членов гармонического ряда 1+1/2+1/3+1/4+. 1/N. Округлить результат до двух знаков после запятой. 10

11 Решение циклических задач 1. Program C2; var i: integer; for i:=1 to 10 do write(20,’ ‘) 2. Program C3; var i: integer; for I:=2 to 8 do writeln(‘ ‘,I+0.8:0:1); 3. Program C4; var i: integer; for I:=10 to 25 do writeln(i,’ ‘,I+0.4:0:1); 4. Program C5; var i: integer; for I:=25 to 35 do writeln(i,’ ‘,I+0.4,’ ‘,i+0.8:0:1); 5. Program C6; var i: integer; for I:=20 to 35 do writeln(i,’ ‘,sqrt(i):0:1); 6. Program C7; var a,b,i:integer; readln(a,b); for i:=a to b do writeln(i) 9. program c2; var sum:real; n:real; BEGIN sum:=0; n:=1; while n 1000; Writeln(s:0:2); 11

Конспект урока рефлексии в дидактической системе деятельностного метода обучения по теме «Программирование ветвлений на Паскале», 9 класс, информатика.

Как организовать дистанционное обучение во время карантина?

Помогает проект «Инфоурок»

Автор: Федорова Е.Н., учитель информатики и ИКТ, высшей кв.категории, МБОУ «Математический лицей», г. Хабаровск

Предмет: информатика, 9 класс

Тема: «Программирование ветвлений на Паскале»

Дидактическая система деятельностного метода обучения Л.Г. Петерсон.

Тип урока: рефлексия

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

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

тренировать способность к рефлексии собственной деятельности;

тренировать умение фиксировать собственные затруднения и ставить цель деятельности,

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

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

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

Умение выбирать смысловые единицы текста и устанавливать отношения между ними.

Умение выражать смысл ситуации различными средствами (рисунки, символ, схемы, знаки).

Умение устанавливать отношения между: данными условия и требованиями задачи.

Умение составлять программы для исполнителя.

Умение использовать оптимальный способ решения.

Способность строить понятные для собеседника высказывания.

Иметь навык конструктивного общения, взаимопонимания.

Уметь планировать общие способы работы.

Уметь обосновывать и доказывать свою точку зрения.

Понимать относительность оценок, выборов, совершаемых людьми.

Способность строить понятные для партнера высказывания, т.е. владеть вербальными и невербальными средствами общения.

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

Умение планировать работу от начала до конца (планирующий самоконтроль).

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

Мотивация учебной деятельности учащихся

На доске проецириуются тексты программ, предложенных для самостоятельного решения:

if m mod n = 0 then writeln (m div n) else writeln (‘m на n нацело не делится ‘);

if n mod 2 = 0 then writeln (‘ последняя цифра чётная ‘) else writeln (‘ последняя цифра нечётная ‘);

writeln (‘Введите двузначное число’)

if n=c then writeln (‘ цифры одинаковы ‘) else writeln (‘ цифры разные ‘);

Сформулируйте условие задачи а).

Какие знания потребовались для написания программы? (Назначение операторов на Паскале для написания программы, содержащей ветвления, знания о применении операций над целыми числами mod и div .)

Сформулируйте условие задачи б).

Сформулируйте условие задачи в).

Возникло ли у вас затруднение в решении этих задач?

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

Что необходимо сделать, чтобы ответить себе на вопрос: все ли я понял, умею ли я написать программу, содержащую ветвление? (Надо самостоятельно выполнить задания, выяснить, есть ли затруднения.)

По какому плану вы будете работать сегодня на уроке? (Мы выполним самостоятельно работу и проверим её: кто не допустит ошибок, будет решать более сложные задачи, у кого возникнут затруднения – те ребята разберутся в их причине, исправят допущенные ошибки, будут учиться решать задачи правильно, напишут вторую самостоятельную работу).

Вы очень хорошо определили задачу сегодняшнего урока, начнём работать. С чего начать? (С повторения.)

Актуализация знаний, повторение

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

(Задача нахождения большего из трёх чисел).

Задание выполняется в тетрадях (один ученик у доски) с подробным комментированием.

var a, b, c, d: real;

if a>b then if a>c then d:=a else d:=b else if b>c then d:=b else d:=c;

— Сколько раз условный оператор употребляется в этой программе?

— Как называются такие структуры алгоритмов, в которых одно ветвление находится внутри другого? (Вложенные ветвления.)

Написать программу решения задачи:

Дано целое трёхзначное число. Определить, какая из цифр в записи этого числа наибольшая и вывести ее значение.

— Давайте обсудим решение этой задачи. Что дано? (Трехзначное целое число.) Что это означает? (В записи числа три цифры.) Что надо найти в этой задаче? (Наибольшую цифру.) Сравните предыдущую задачу с этой задачей. Что общего? (Необходимо найти наибольшее из трех чисел – цифр данного числа). В чём различие? (Цифры не даны по отдельности их надо выделить из данного числа). Каким способом это можно сделать? (Чтобы выделить последнюю цифру целого числа, необходимо использовать операцию над целыми числами – mod 10. Чтобы выделить вторую цифру числа, необходимо последовательно выполнить операции div 10 и mod 10, а чтобы выделить первую цифру, надо использовать операцию div 100.

Читать еще:  Что включает в себя система программирования

— Какой можно сделать вывод? (Задача сводится к предыдущей, но три, сравниваемые числа даны не в явном виде, их надо выделить из данного по условию целого числа.)

— Выполните это задание за компьютером. (5 минут времени).

— Давайте сверим с эталоном.

Текст возможного варианта решения (на экране):

var m, a, b, c, d: integer;

writeln (‘Введите трёхначное число’);

b:=(m div 10) mod 10;

if a>b then if a>c then begin d:=a; writeln (‘1 цифра наибольшая ’, d) end

else d:=b else if b>c then begin d:=b; writeln (‘2 цифра наибольшая ’, d) end

else begin d:=c; writeln (‘3 цифра наибольшая ’, d) end;

Задайте вопросы, если они появились. У кого другой способ решения этой задачи? В чём может быть различие?

Какой следующий шаг в работе? (Самостоятельная работа № 1).

Самостоятельная работа № 1

Взять карточки с самостоятельной работой № 1. Выполнить задания, сохранив результаты в своей папке на рабочем столе. Сверить с эталоном (получить у учителя) и по мере выполнения заданий заполнять таблицу фиксации результатов (на рабочем столе у каждого ученика):

Таблица фиксации результатов.

Результат выполнения самостоятельной работы № 1

задачи, понятия, вызвавшего затруднение

Исправлено при работе с заданиями по выбору

Исправлено по результатам выполнения сам. работы № 2

Задачи по программированию на ветвление

В языке Паскаль имеется оператор ветвления. Другое его название — условный оператор. Формат полного оператора ветвления следующий:

Здесь if — «если», then — «то», else — «иначе».

Программирование полного и неполного ветвления

Сравните запись алгоритма БИД1 из предыдущего параграфа с соответствующей программой.

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

Простой формой логического выражения является операция отношения. Как и в АЯ, в Паскале допускаются все виды отношений (ниже указаны их знаки):

А теперь запрограммируем на Паскале алгоритм БИД2, в котором использовано неполное ветвление.

Опять все очень похоже. Ветвь else в операторе ветвления может отсутствовать.

Программирование вложенных ветвлений

Запишем на Паскале программу определения большего из трех чисел, блок-схема которой показана на рис. 3.10. Структура этого алгоритма — вложенные ветвления. Алгоритм на АЯ (БИТ2) приведен в предыдущем параграфе.

Program BIT2;
var А, В, С, D: real;
begin readln(А, В, С);
if A>B
then if A>C then D:=A else D:=B
else if B>C then D:=B else D:=C;
writeln(D)
end.

Обратите внимание на то, что перед else точка с запятой не ставится. Вся ветвящаяся часть структуры алгоритма заканчивается на точке с запятой после оператора D:=C.

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

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

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

Логические операции

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

Нетрудно понять смысл этой программы. Здесь использованы три последовательных неполных ветвления. А условия ветвлений представляют собой сложные логические выражения, включающие логическую операцию and (И). С логическими операциями вы встречались, работая с базами данных и с электронными таблицами.

Напомним, что операция and называется логическим умножением или конъюнкцией. Ее результат — «истина», если значения обоих операндов — «истина». Очевидно, что если А>=В и А>=С, то А имеет наибольшее значение и т. д. В Паскале присутствуют все три основные логические операции:

and — И (конъюнкция), or — ИЛИ (дизъюнкция), not — НЕ (отрицание).

Сложные логические выражения

Обратите внимание на то, что отношения, связываемые логическими операциями, заключаются в скобки. Так надо делать всегда! Например, требуется определить, есть ли среди чисел А, В, С хотя бы одно отрицательное. Эту задачу решает следующий оператор ветвления:

1. Как программируется на Паскале полное и неполное ветвление?

2. Что такое составной оператор? В каких случаях составной оператор используется в операторе ветвления?

3. Выполните на компьютере все программы, приведенные в данном параграфе.

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

5. Составьте программу сортировки по возрастанию значений в трех переменных: А, В, С.

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

Задачи по теме «Ветвление»

А

1. Даны три действительных числа. Возвести в квадрат те из них, значения которых неотрицательны, и в четвертую степень — отрицательные.

2. Даны две точки A(x1,y1) и В(х2,у2). Составить алгоритм, определяющий, которая из точек находится ближе к началу координат.

3. Даны два угла треугольника (в градусах). Определить, существует ли такой треугольник, и если да, то будет ли он прямоугольным.

4. Даны действительные числа х и у, не равные друг другу. Меньшее из этих двух чисел заменить половиной их суммы, а большее —их удвоенным произведением.

5. На плоскости XOY задана своими координатами точка А Указать, где она расположена (на какой оси или в каком координатном угле).

6. Даны целые числа т, п. Если числа не равны, то заменить каждое из них одним и тем же числом, равным большему из исходных, а если равны, то заменить числа нулями.

7. Подсчитать количество отрицательных среди чисел а, b, с.

8. Подсчитать количество положительных среди чисел а, b, с.

9. Подсчитать количество целых среди чисел а, b, с.

10. Определить, делителем каких чисел а, b, с является число к.

11. Услуги телефонной сети оплачиваются по следующему правилу: за разговоры до Л минут в месяц — В руб., а разговоры сверх установленной нормы оплачиваются из расчета С руб. за минуту. Написать программу, вычисляющую плату за пользование телефоном для введенного времени разговоров за месяц.

12. Программа — льстец. На экране высвечивается вопрос «Кто ты: мальчик или девочка? Введи Д или М». В зависимости от ответа на экране должен появиться текст «Мне нравятся девочки!»

или «Мне нравятся мальчики!».

13. Грузовой автомобиль выехал из одного города в другой со скоростью v1 км/ч. Через t часов в этом же направлении выехал легковой автомобиль со скоростью v2 км/ч. Составить программу, определяющую, догонит ли легковой автомобиль грузовой через t1 ч после своего выезда.

14. Перераспределить значения переменных х и у так, чтобы в X оказалось большее из этих значений, а в у — меньшее.

15. Определить правильность даты, введенной с клавиатуры (число — от 1 до 31, месяц — от 1 до 12). Если введены некорректные данные, то сообщить об этом.

16. Составить программу, определяющую результат гадания на ромашке — «любит —не любит», взяв за исходное данное количество лепестков N.

17. Написать программу — модель анализа пожарного датчика в помещении, которая выводит сообщение «Пожароопасная ситуация», если температура в комнате превысила 60° С.

18. Рис расфасован в два пакета. Масса первого — т кг, второго — п кг. Составить программу, определяющую:

а) какой пакет тяжелее — первый или второй;

б) массу более тяжелого пакета.

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

Читать еще:  Записать выражение на языке программирования pascal

20. Составить программу, определяющую, пройдет ли график функции у = ах 2 + bx + с через заданную точку с координатами (m, n).

21. К финалу конкурса лучшего по профессии «Специалист электронного офиса» были допущены трое: Иванов, Петров, Сидоров. Соревнования проходили в три тура. Иванов в первом туре набрал m1 баллов, во втором — n1 в третьем — р1. Петров — m2, n2, p2 соответственно; Сидоров — m3, n3, р3. Составить программу, определяющую, сколько баллов набрал победитель.

22. Написать программу-фильтр, которая при нажатии любых клавиш выводит на экран только буквы и цифры, при этом указывая, что выводится: буква или цифра.

В

1. Написать программу нахождения суммы большего и меньшего из трех чисел.

2. Написать программу, по длинам сторон распознающую среди всех треугольников ABC прямоугольные. Если таковых нет, то вычислить величину угла С.

4. Даны три числа а, b, с. Определить, какое из них равно d. Если ни одно не равно d, то найти max(d — a, d — b, d — c).

6. Даны три точки А(х1у1), В(х2у2) и С(х3,у3). Определить, будут ли они расположены на одной прямой. Если нет, то вычислить

7. Даны действительные числа а, Ь, с. Удвоить эти числа, если а>= b>=с, и заменить их абсолютными значениями, если это не так.

8. На оси ОХ расположены три точки а, b, с. Определить, какая из точек b или с расположена ближе к а.

9. Даны три положительных числа я, b, с. Проверить, будут ли они сторонами треугольника. Если да, то вычислить площадь этого треугольника.

10. Написать программу решения уравнения ах 3 + bх = 0 для произвольных а, b.

11. Дан круг радиуса R. Определить, поместится ли правильный треугольник со стороной а в этом круге.

12. Даны числа х, у, Z- Найти значение выражения:

U = ( max2 (х, у, z) – 2 x min(x, у, z)) /sin 2x + max(x, у, z) / min(x, у, z)

13. Дано число х. Напечатать в порядке возрастания числа: sinx, cosx, lnx. Если при каком-либо х некоторые из выражений не имеют смысла, вывести сообщение об этом и сравнивать значения только тех, которые имеют смысл.

14. Заданы размеры А, В прямоугольного отверстия и размеры х, у, z кирпича. Определить, пройдет ли кирпич через отверстие.

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

16. Два прямоугольника, расположенные в первом квадранте, cо сторонами, параллельными осям координат, заданы координатами своих левого верхнего и правого нижнего углов. Для первого прямоугольника это точки (х1,y1) и (х2, 0), для второго —(Х3У3),(Х 4, 0). Составить программу, определяющую, пересекаются ли данные прямоугольники, и вычисляющую площадь общей части, если она существует.

17. В небоскребе N этажей и всего один подъезд; на каждом этаже по 3 квартиры; лифт может останавливаться только на нечетных этажах. Человек садится в лифт и набирает номер нужной ему квартиры М. На какой этаж должен доставить лифт пассажира?

18. Написать программу, которая по заданным трем числам определяет, является ли сумма каких-либо двух из них положительной.

19. Известно, что из четырех чисел а1 а2, а3 и a4 одно отлично от трех других, равных между собой; присвоить номер этого числа переменной n.

20. Составить программу, которая проверяла бы, не приводит ли суммирование двух целых чисел Аи В к переполнению (т.е. к результату большему чем 32 767). Если будет переполнение, то сообщить об этом, иначе вывести сумму этих чисел.

21. Написать программу, которая по паролю будет определять уровень доступа сотрудника к секретной информации в базе данных. Доступ к базе имеют только шесть человек, разбитых на три группы по степени доступа. Они имеют следующие пароли: 9583, 1747 — доступны модули баз А, В, С; 3331, 7922 — доступны модули баз В, С; 9455, 8997 — доступен модуль базы С.

22. Составить программу, реализующую эпизод применения компьютера в книжном магазине. Компьютер запрашивает стоимость книг, сумму денег, внесенную покупателем; если сдачи не требуется, печатает на экране «спасибо»; если денег внесено больше, чем необходимо, то печатает «возьмите сдачу» и указывает сумму сдачи; если денег недостаточно, то печатает сообщение об этом и указывает размер недостающей суммы.

23. В ЭВМ поступают результаты соревнований по плаванию для трех спортсменов. Составить программу, которая выбирает лучший результат и выводит его на экран с сообщением, что это результат победителя заплыва.

24. Определить взаимное расположение точки с координатами (x0,y0) и окружности радиуса R с центром в точке (x1,y1,).

25. По координатам вершин четырехугольника определить, выпуклый он или нет.

26. Вычислить число и месяц в невисокосном году по номеру дня.

лабы по информатике, егэ

лабораторные работы и задачи по программированию и информатике, егэ по информатике

Pascal: Занятие №2. Часть 1: Условный оператор в Паскале (If)

Условный оператор в Паскале

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

Блок-схема условного оператора:

Условный оператор в Паскале имеет следующий синтаксис:

Сокращенный вариант:

if условие then оператор;

Полный вариант:

if условие then оператор else оператор;

Условный оператор в Паскале — if — служит для организации хода задачи таким образом, при котором изменяется последовательность выполнения операторов в зависимости от какого-либо логического условия. Логическое условие может принимать одно из двух значений: либо true (истина), либо false (ложь), соответственно, оно может быть либо истинным, либо ложным.

Составной оператор

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

Операторные скобки и составной оператор в Паскале:

if логическое выражение then begin оператор1; оператор2; end else begin оператор1; оператор2; end;

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


В условии (в логическом выражении) используются операторы отношения.
Рассмотрим список операторов отношения Паскаля:

  • больше >
  • меньше
  • больше или равно в Pascal >=
  • меньше либо равно в Pascal
  • сравнение в Pascal =
  • не равно в Pascal <>

Подробно разобраться в работе условного оператора в Паскале можно, просмотрев видеоурок:

Обратите внимание на то, как в данном примере выводится y . При выводе переменных типа real в pascal, можно использовать так называемый форматированный вывод, или запись с двумя двоеточиями:
y:6:2
— цифра после первого двоеточия ( 6 ) указывает на то, сколько знаков будет занимать число при выводе на экран
— цифра после второго двоеточия ( 2 ) указывает на то, сколько знаков после запятой вещественного числа будет выводиться

Таким образом, использование такой записи в pascal практически позволяет выполнить округление до сотых, тысячных и т.п.

Логические операции в Паскале (в логическом выражении)

Когда необходимо использовать двойное условие в Pascal, то понадобятся логические операции.

  • Логическая операция AND (И), поставленная между двумя условиями, говорит о том, что должны выполняться сразу оба эти условия (должны быть истинными). Логический смысл операции — «конъюнкция».
  • Поставленный между двумя условиями, знак OR (ИЛИ) говорит о том, что достаточно, если будет выполняться хотя бы одно из них (одно из двух условий истинно). Логический смысл операции — «дизъюнкция».
  • На языке Паскаль XOR — знак логической операции, имеющий смысл «строгая дизъюнкция» и указывающий на то, что необходимо, чтобы одно из двух условий выполнялось (истинно), а другое — не выполнялось (ложно).
  • Логическая операция NOT перед логическим выражением или переменной имеет смысл «отрицание» или «инверсия» и указывает на то, что если данная переменная или выражение истинны, то их отрицание — ложь и наоборот.
Ссылка на основную публикацию
Adblock
detector