Материал: ответы на билеты по информатике (теория),9кл

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

стр. 46

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

«кот» < «лис» «кот» > «дом»

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

Часто встречаются задачи, в которых используются не отдельные условия, а совокупность связанных между собой условий (отношений). Например, в магазине вам нужно выбрать туфли, размер которых r = 45, цвет color = белый, цена price не более 400руб.

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

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

Так условия наших примеров в алгоритме могут выглядеть таким образом: первое: (r = 45) и (color = белый) и (не (price>400))

второе: (цена=3) или (цена=3.5)

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

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

В результате логического умножения (конъюнкции) получается истина, если истинны все логические выражения.

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

В результате логического сложения (дизъюнкции) получается истина, если истинно хотя бы одно логическое выражения.

Присоединение частицы «не» к высказыванию называется операцией логического отрицания или инверсией.

Отрицание изменяет значение логической величина на противоположное: не истина = ложь; не ложь = истина.

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

1.отрицание (не);

2.конъюнкция (и);

3.дизъюнкция (или).

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

Пример. Пусть a, b, c – логические величины, которые имеют следующие значения: a =

стр. 47

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

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

1.a и b

2.a или b

3.не a или b

4.a и b или c

5.a или b и c

6.не a или b и c

7.(a или b) и (с или b)

8.не (a или b) и или b)

9.не ( a и b и c) Получим в результате:

1.ложь

2.истина

3.ложь

4.истина

5.истина

6.ложь

7.истина

8.ложь

9.истина.

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

Алгоритм Вычисление x переменные a, c, x - вещественные начало

ввод (а, c)

если (4*а – с >=0) и (а<>0) то начало

x := корень(4*а – с)/(2*a) вывод (х)

конец

иначе вывод («нет решения»)

конец

x= 4a−c 2a

Компьютер сначала проверит условие (4*а – с >=0) и (а<>0) и если оно окажется истинно, то вычислить x, иначе выведет сообщение «нет решения».

Пример. Составить алгоритм для вычисления суммы всех чисел от 1 до n.

Алгоритм Вычисление суммы чисел переменные a, c, x - вещественные начало

ввод (n) x := 1

пока x<n повторять начало

s := s + x x := x +1 конец

стр. 48

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

вывод (s) конец

До тех пор пока условие x<n будет истинно компьютер будет выполнять тело цикла – вычислять очередную сумму и увеличивать x на единицу.

стр. 49

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Билет № 10

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

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

Специалисты, профессионально занимающиеся программированием, называются программистами. В первые годы существования ЭВМ для использования компьютера в любой области нужно было уметь программировать. В 1970-х - 80-х годах XX века начинает развиваться прикладное программное обеспечение. Бурное распространение прикладного ПО произошло с появлением персональных компьютеров. Стало совсем не обязательным уметь программировать для того, чтобы воспользоваться компьютером. Люди, работающие на компьютерах, разделились на пользователей и программистов. В настоящее время пользователей гораздо больше, чем программистов.

Может возникнуть впечатление, что программисты теперь уже не нужны! Но кто же тогда будет создавать все операционные системы, редакторы, графические пакеты, компьютерные игры и многое другое? Программисты, безусловно, нужны, причем задачи, которые им приходится решать, со временем становится все сложнее.

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

Для составления программ существуют разнообразные языки программирования.

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

Языки программирования - искусственные языки. От естественных они отличаются ограниченным числом "слов", значение которых понятно транслятору, и очень строгими правилами записи команд (операторов). Транслятор — средство для преобразования текстов из одного языка, понятного человеку, в другой язык, понятный компьютеру.

Популярными языками программирования сегодня являются Паскаль, Бэйсик, Си и др.

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

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

Существуют системы программирования на Паскале, Бэйсике и других языках.

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

В 60—70-е годы для облегчения труда программистов начали создаваться языки программирования высокого уровня, формальные языки, кодирующие алгоритмы в

стр. 50

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

привычном для человека виде (в виде предложений). Такие языки программирования строились на основе использования определенного алфавита и строгих правил построения предложений (синтаксиса).

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

Одним из первых процедурных языков программирования был известный всем Бэйсик (Basic), созданный в 1964 году. В течение последующего времени Бэйсик развивался, появлялись его различные версии (MSX-Basic, Бэйсик-Агат, QBasic и др.). Другим широко распространенным языком программирования алгоритмического типа является Pascal.

Первая версия языка Паскаль была разработана швейцарским ученым Никлаусом Виртом в 1968 году. Первоначально язык предназначался для целей обучения, поскольку он является достаточно детерминированным, т.е. все подчиняется определенным правилам, исключений из которых не так много. Основные характеристики: относительно небольшое количество базовых понятий, простой синтаксис, быстрый компилятор для перевода исходных текстов в машинный код. В 1992 г. фирма Borland International выпустила два пакета, основанных на языке Паскаль: Borland Pascal 7.0 и Turbo Pascal 7.0.

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

Рассмотрим несколько простых примеров на языке программирования Паскаль.

Пример 1. Программа с линейной структурой. Для примера составим программу вычисления периметра треугольника.

program perim; {вычисление периметра треугольника} var a,b,c,p:integer;

begin readln(a,b,c); p:=a+b+c; write(p); end.

Для удобства пользователя можно улучшить эту программу так:

program perim; {вычисление периметра треугольника} var a,b,c,p:integer;

begin

write('Введите стороны треугольника:'); readln(a,b,c);

p:=a+b+c;

write('Периметр равен =',p); end.

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

program bid; {большее из двух чисел} var a,b,c:integer;

begin readln(a,b);

if a>b then c := a else c := b; write(c);

end.

стр. 51

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Пример 3. Программа с циклической структурой. Для примера составим программу вычисления факториала. Факториал числа это произведение последовательности чисел от 1 до этого числа. N! = 1*2*...*N.

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

program faktorial; {вычисление факториала} var n,f,i:integer;

begin readln(n); f:=1;

for i:=1 to n do f:=f*i; write(f);

end.

Теперь составим программу, используя циклы с предусловием. В данном случаи переменная r выполняет роль множителя, значение которого меняется от 1 до n. В теле цикла сначала вычислим очередное произведение, затем увеличим r на единицу.

program faktorial; {вычисление факториала} var n,r,f:integer;

begin readln(n); f:=1; r:=1;

while r<=n do begin f:=f*r; r:=r+1; end; write(f); end.

Рассмотрим несколько простых примеров на языке программирования QBasic.

Пример 1. Программа с линейной структурой. Для примера составим программу вычисления периметра треугольника.

REM вычисление периметра треугольника

DIM a, b, c, p AS INTEGER

INPUT "Введите стороны треугольника", a, b, c p = a + b + c

PRINT "Периметр равен", p

END

Команду описания переменных DIM a, b, c, p AS INTEGER на QBasic можно не использовать, в этом случае компьютер будет считать переменные типа variant.

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

REM большее из двух чисел

DIM a, b, c AS INTEGER

INPUT "Введите два числа", a, b

IF a > b THEN c = a

ELSE c = b END IF

PRINT "Большее число =", c

END

Пример 3. Программа с циклической структурой. Для примера составим программу вычисления факториала. Факториал числа это произведение последовательности чисел от 1

стр. 52

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

до этого числа. N! = 1*2*...*N.

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

REM вычисление факториала

DIM n, f, i AS INTEGER

INPUT "Введите число", n f = 1

FOR i = 1 TO n f = f * i NEXT

PRINT "факториал =", f

END

Теперь составим программу, используя циклы с предусловием. В данном случаи переменная r выполняет роль множителя, значение которого меняется от 1 до n. В теле цикла сначала вычислим очередное произведение, затем увеличим r на единицу.

REM вычисление факториала

DIM n, f, r i AS INTEGER

INPUT "Введите число", n f = 1

r = 1

DO WHILE r <= n f = f * r

r = r + 1 LOOP

PRINT "факториал =", f

END

Источник: https://files.student-it.ru/previewfile/284061