- •Информатика
- •Глава 1 5
- •Глава 2 12
- •Глава 3 24
- •Глава 4 41
- •Глава 1
- •Системы счисления, используемые в информатике
- •Правила перевода чисел из одной системы счисления в другую
- •Задания для самостоятельного выполнения
- •Вопросы для самоконтроля
- •Глава 2 Арифметические операции
- •Сложение
- •Вычитание
- •Умножение
- •Деление
- •Задания для самостоятельного выполнения
- •Глава 3 Задачи на расчёт информационного объёма Информационный объём текстового сообщения
- •Количество информации как мера уменьшения неопределенности знаний. Подходы к определению количества информации. Алфавитный подход к измерению информации
- •Содержательный подход. Формулы Хартли и Шеннона.
- •Кодирование графической информации
- •Представление и измерение звуковой информации Кодирование звуковой информации
- •Задания для самостоятельного выполнения
- •Вопросы для самоконтроля
- •Глава 4 Алгоритмизация и программирование Понятие алгоритм, свойства алгоритма
- •Способы представления алгоритмов
- •Базовые алгоритмические структуры
- •Структура «следование»
- •Структура «развилка»
- •Структура «выбор»
- •Данная структура используется также в неполной форме. В этом случае она реализуется следующим образом.
- •Структура «цикл с предусловием»
- •Структура «цикл с постусловием»
- •Структура «цикл с параметром»
- •Этапы решения задач на компьютере
- •Задания для самостоятельного выполнения
- •Список рекомендуемой литературы:
- •Приложение Программа экзамена по информатике
- •Тема 1. Общие теоретические основы информатики
- •Тема 2. Технические средства реализации информационных процессов
- •Тема 3. Программные средства реализации информационных процессов
- •Тема 4. Модели решения функциональных и вычислительных задач
- •Тема 5. Алгоритмизация и программирование
- •Примерные тесты
- •Теоретические вопросы
- •Практические вопросы
Структура «цикл с постусловием»
Структура цикла с постусловием имеет вид:
где
Р –
логическое выражение (условие), S
– оператор или группа операторов (тело
цикла).
Структура цикла с постусловием является дополнительной. Поэтому на некоторых языках программирования для ее реализации нет соответствующего оператора. В частности, нет оператора, реализующего данную структуру на языке Си.
На Бейсике и Паскале структура реализуется так:
Бейсик |
Паскаль |
DO <оператор> LOOP UNTIL <выражение> |
repeat < оператор > until < выражение > ; |
Пример 4.5
Задача: Одноклеточная амеба каждые 3 часа делится на 2 клетки. Определить, сколько амеб будет через 3, 6, 9, 12, … , 24 часа.
program amebs;
uses crt;
var k,v:integer;
begin
clrscr;
k:=1;
v:=0;
writeln('Время Количество');
repeat
k:=k*2;
v:=v+3;
writeln(v:4,k:6)
until v=24;
readln;
end.
Структура «цикл с параметром»
Структуру «цикл с параметром» рекомендуется использовать, когда заранее известно число повторений тела цикла. Она имеет вид:
где М — заголовок цикла, S — оператор или группа операторов (тело цикла). В заголовке цикла инициализируется параметр цикла, т.е. ему присваивается начальное значение, указывается конечное значение параметра цикла, до достижения которого тело цикла будет повторяться, и шаг, который показывает, на сколько изменится параметр цикла после каждого выполнения тела цикла. На языках программирования данная структура реализуется следующим образом:
Бейсик |
FOR <параметр цикла> = <начальное значение параметра цикла> TO <конечное значение параметра цикла> [STEP <шаг>] <оператор> NEXT [<параметр цикла>] |
Паскаль |
for <параметр цикла> := <начальное значение параметра цикла> to <конечное значение параметра цикла> do <оператор>; или for <параметр цикла> := <начальное значение параметра цикла> downto <конечное значение параметра цикла> do <оператор>; |
Си |
for (<параметр цикла> = <начальное значение параметра цикла>; <условие выполнения цикла>; [<параметр цикла> = <параметр цикла>+<шаг>] ) <оператор>; |
Сравнив операторы, которые реализуют данные алгоритмические структуры, можно сделать вывод о том, что на известных языках программирования написание этих операторов почти одинаково.
Пример 4.6
Задача: Вывести квадраты чисел от 1 до 10.
program
kvadrat;
uses crt;
var i, k:integer;
begin
clrscr;
for i:=1 to 10 do
begin
k:=i*i;
writeln('Kvadrat ',i:2,' = ',k )
end;
readln;
end.
