Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ответы АВЗ БУП2004.doc
Скачиваний:
2
Добавлен:
01.05.2025
Размер:
1 Мб
Скачать
☆

Логические выражения в алгоритмах

Логическое выражение при выполнении алгоритма принимает одно из двух значений: "истина" или "ложь". В логических выражениях действием (операцией) является сравнение (отношение).

Существуют следующие операции сравнения:

знак

операция

=

равно

<>

не равно

>

больше

<

меньше

>=

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

<=

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

Пример использования логического выражения в качестве условий в ветвящемся алгоритме

Задача. Дана температура человека. Определить, болен ли он.

алг Температура

вещ t

нач ввод t

если t=36.6

то вывод "здоров"

иначе вывод "болен!"

кв

кон

В качестве условия - логическое выражение t=36.6.

Если условие является истинным, то идет вывод сообщения о том, что человек здоров (ведь нормальная температура 36.6 градусов. Если условие является ложным - ветка иначе (т.е. температура выше или ниже нормы), то вывод сообщения о том, что человек болен.

Пример использования логического выражения в качестве условий в циклическом алгоритме

Задача. Дано целое положительное число N. Вычислить факториал этого числа: N! = 123...N.

алг Факториал

цел f,n,r

нач ввод n

f:=1

r:=1

пока r <=n, повторять

нц

f:=f*r

r:=r+1

кц

вывод "Факториал", f

кон

Билет 10

1. Представление о программировании: язык программирования (на примере одного из языков высокого уровня); примеры несложных программ с линейной, ветвящейся и циклической структурой.

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

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

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

Понятным для компьютера языком является язык машинных команд (ЯМК). На ЯМК данные задаются их адресами в памяти, а выполняемые операции - числовыми кодами. На ЯМК программировали на заре развития средств вычислительной техники, когда ЭВМ были ламповыми. Составление программ для современных компьютеров осуществляется на языках программирования высокого уровня (ЯПВУ), приближенных к естественному языку, таких как, например, Бейсик, Паскаль, СИ. Эти языки программирования являются универсальными и- позволяют решать самые разнообразные задачи. Такой язык программирования представляет собой фиксированную систему обозначений и правил для описания алгоритмов и структур данных. Для создания и выполнения на компьютере программ, написанных на ЯПВУ, используются системы программирования, которые содержат мощные и удобные средства разработки программ: компилятор или интерпретатор; интегрированную среду разработки; средства создания и редактирования текстов программ; библиотеки стандартных программ и функций; отладочные программы, помогающие находить и устранять ошибки; диалоговый интерфейс; многооконный режим работы; графические библиотеки и утилиты работы с ними; справочную систему.

Язык программирования (на примере одного из языков высокого уровня)

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

Команду, записанную на языке программирования, принято называть оператором.

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

заголовок программы; (имеет вид: Program < имя программы >;)

описание переменных; (имеет вид: var < имя переменной >: < тип переменной >;)

последовательность операторов - обязательная часть программы, начинающаяся словом begin и заканчивающаяся словом end. (тело программы);

Раздел описания переменных начинается со слова var, за которым следует список имен переменных, разделенных запятой, далее через двоеточие указывается тип перечисленных переменных (например вещественный - real, целый - integer). Идентификаторы переменных могут состоять из латинских букв и цифр, причем на первом месте всегда должна стоять буква.

Раздел, содержащий операторы, начинается словом begin и заканчивается словом end.

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

Примеры несложных программ с линейной, ветвящейся и циклической структурой.

Пример1. Алгоритм линейный. С клавиатуры вводятся два любых числа, и подсчитывается их сумма. Результат вычисления выводится на экран с тремя знаками после запятой.

Program aplusb;

Var a, b ,rez: real;

Begin

write(' a? ');readln(a);

write(' b? ');readln(b);

rez:=a+b;

Write('a+b=',res:5:3);

End.

Пример2. Алгоритм разветвляющийся. С клавиатуры вводятся коэффициенты квадратного уравнения, и на экран выводится его корни, если они есть, или вывод что коней нет.

program kv_urav;

var a,b,c,D,x1,x2:real;

begin

write('vvedite a ');readln(a);

write('vvedite b ');readln(b);

write('vvedite c ');readln(c);

D:=sqrt(b*b-4*a*c);

if D<0 then writeln('kornei net')

else

if D=0 then begin

x1:=-b/(2*a);writeln('x=',x:5:3);

end

else begin

x1:=(-b-sqrt(D))/(2*a); x2:=(-b+sqrt(D))/(2*a);

writeln('x1=',x:5:3,' x2=',x2:5:3);

end;

end.

Пример 3. Алгоритм циклический. С клавиатуры вводится число N, и на экран выводится сумма чисел от 1 до N. (Цикл с параметром)

program pr3;

var N,i,S:integer;

begin

writeln('vvedite N '); readln(N);

S:=0;

for i:=1 to N do S:=S+i;

writeln('S=',S);

Readln;

end.