Учимся    вместе
скоро   экзамен

Билеты по информатике, ответы профильный уровень 11 класс

Билет 5

Оглавление

 

Билеты
Практика
Билет 1
Билет 2
Билет 3
Билет 4
Билет 5
Билет 6
Билет 7
Билет 8
Билет 9
Билет  10
Билет 11
Билет 12
Билет 13
Билет 14
Билет 15
Билет 16
Билет 17
Билет 18
Билет 19
Билет 20
Билет 21
Билет 22
Билет 23
Билет 24
Билет 25
 
 
 
 

Язык программирования — это набор правил для описания алгоритмов решения задачи с помощью ЭВМ.

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

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

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

Языки программирования делятся на два класса: процедурные и непроцедурные.

Процедурные (императивные) языки – это языки операторного типа. Описание алгоритма на этом языке имеет вид последовательности операторов. Характерным для процедурного языка является наличие оператора присваивания (БЕЙСИК, ПАСКАЛЬ, СИ).

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

Функциональные языки основаны на теории рекурсивных функций. Программа, написанная на функциональном языке, состоит из непорядочного набора уравнений, определяющих функции и значения, которые задаются как функции от других значений (ЛИСП, РЕФАЛ).

Логические языки основаны на использовании символической логики. Наиболее широко используемый язык – ПРОЛОГ.

Объектно-ориентированные языки – это языки, в которых понятия процедуры и данных, используемых в обычных системах программирования, заменены понятиями «объект» и «событие». В отличие от процедуры, которая описывает, как должна выполняться обработка, сообщение только определяет, что желает выполнить отправитель и что должно произойти. Наиболее развитым языком программирования считается СМОЛТОК, к этому классу языков относятся также Java, C++, Delphi, Visual Basic. 

Под языком понимают любую систему знаков (Знак – это объект, специально выделенный для передачи информации: буква, жест, положение переключателя и т.п.).

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

 Существует два различных подхода к трансляции – интерпретация и компиляция:

 

 

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

 

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

 

 

2.  Основные средства языков.

Алфавит языков. Служебные слова.

Символы языка - это элементарные знаки,  используемые при составлении любых текстов. Набор таких символов называют алфавитом языка.

 

Алфавит (набор символов) языка QBasic  и Turbo Pascal 7.0.   включает:

         все латинские прописные и строчные буквы

            (A-Z,a-z);

         арабские цифры 0-9;

         знаки    + - * \ / < > ^  , . ; : ‘ ( ) _  и др.;

         служебные слова

Для записи команд, имен функций, поясняющих терминов QBasic и Turbo Pascal 7.0  предусматривают набор строго определенных слов, которые называются служебными или зарезервированными (это английские мнемонические сокращения).

Служебные слова делятся на три категории:

- операторы (коды операций) (PRINT, WRITELN  и т.д.)

- функции (имена функций) (SIN,COS и т.д.)

- ключевые слова (AND, VAR, BEGIN, END и т.д.)

 

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

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

Типы величин (данных):

* числовые: константы -1, 2, 3, и т. д.; переменные - А1, Х1, и т. д.

* символьные: А$, B$ и т. д.

* логические: false, true.

 

Типы данных:

QBasic                                                           Turbo Pascal 7.0

                                                             

Структура программы                                                     Program имя (input, output);

                                                           Label;   - раздел меток;

Const- раздел констант;              Const;  - раздел констант;

Type    - раздел типов;                  Type;  - раздел типов;

 DEF     - раздел переменных;     Var;  - раздел  переменных;

Procedure - раздел процедур и      Procedure - раздел                            функций;                              процедур и функций;

Function                                             Function

                                                           BEGIN

оператор 1                                          оператор 1;

оператор 2                                        оператор 2;

       . .                                     …………..

оператор n-1                                       оператор n-1;

оператор n                            оператор  n;

END.                                                 END.

 

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

Типы данных в BASIC

Суффикс

Тип переменной

Объявление

DEF_тип

Описание

AS_тип

Занимаемый

объем

%

Целые

DEFINT

INTEGER

2 байта

&

Длинные целые

DEFLNG

LONG

4 байта

!

Обычной точности

DEFSNG

SINGLE

4 байта

#

Двойной точности

DEFDBL

DOUBLE

8 байт

$

Строка переменной длины

DEFSTR

STRING

1 байт на каждый символ + 4 байта на описатель

$

Строка фиксированной  длины

 

STRING*N

N байт

 

Целочисленные типы переменных

Тип

Диапазон возможных значений

Формат

Shorting

-128.. 127

1 байт со знаком

Integer

-32768..32767

2 байта со знаком

Longint

-2147483648..2147483647

4 байта со знаком

Byte

0..255

1 байт без знака

Word

0..65535

2 байта без знака

 

Вещественные типы переменных

Тип

Диапазон возможных значений

Точность

Формат

Real

2.9Е-39..1.7Е38

11—12 знаков

6 байт

Single

1.5Е-45..3.4Е38

7—8 знаков

4 байта

Double

5.0E-324..1.7E308

15—16 знаков

8 байт

Extended

3.4Е-4932..1.1Е4932

19-20 знаков

10 байт

Comp

-9.2Е18..9.2Е18

19—20 знаков

8 байт

 

 

 

Реализация основных алгоритмических структур

Линейный: Решение задач с использованием линейного алгоритма

Вычислить периметр прямоугольника со  сторонами А и В.

CLS

A =8

B =4

P=(A+B)*2

PRINT “ P=”;P

END

 

Разветвляющиеся алгоритмы.

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

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

Условный оператор, обеспечивающий реализацию ветвления в алгоритмах, в языках  BASIC имеет вид:

IF <логическое выражение (a > b)>  THEN  <оператор 1 (d = a)> ELSE < оператор2 (d = b)>.

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

Задачи на сравнение.

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

INPUT x, y

IF x > y  THEN  c = x:  x = y:  y =  c

PRINT x, y

 

Циклические алгоритмы.

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

Существует два принципиально различных типа операторов цикла: оператор цикла с параметром и операторы цикла с условиями. Их условно называют соответственно алгоритмы с циклом типа «для» и алгоритмы с циклом типа «пока». В обоих случаях окончание циклического процесса определяется поставленным заранее условием.

 

Циклы типа «пока»

Заранее неизвестно число повторений

«Делай» (DO) «петлю» (LOOP)  до тех пор, «пока» (WHILE) условие выполняется, или  «пока»  (UNTIL) условие не будет выполнено.

 

Цикл с предусловием  Выполняется: пока истинно условие цикла, повторяется выполнение тела цикла.

DO [{WHILE | UNTIL } выражение ]

[ операторы ]

LOOP

 

Цикл с постусловием

DO

[ операторы ]

LOOP [{WHILE |  UNTIL } выражение ]

 

Цикл без счетчика

WHILE условие

[ операторы ]

  WEND

 

Цикл типа «для»

Заранее известно число повторений

 

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

FOR  счетчик = начало TO конец [STEP  шаг]

[ операторы ]

NEXT  [счетчик] [,счетчик]

Задачи

Найти факториал числа N.

CLS

INPUT N

F = 1

FOR i = 1 TO N

  F = F * i

NEXT i

PRINT F

 

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

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

2. Математическая формализация  (запись основных закономерностей в математической форме: в виде уравнений, соотношений, связей, условий).

З. Выбор компьютерного метода .

4. Построение алгоритма.

5. Составление программы на языке программирования.

6. Отладка й тестирование программы (устранение синтаксических и логических ошибок, анализ полученных результатов на предмет согласованности с имеющимися в науке закономерностями и ранее надежно установленными результатами; если необходимо — “ручная” проверка результатов для простейших случаев).

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

 

 

 

 

Права на материал принадлежат их авторам
Вернуться на главную страницу