Основные понятия программирования. АЛГОРИТМЫ + ДАННЫЕ = ПРОГРАММЫ Н. Вирт.

Презентация:



Advertisements
Похожие презентации
МАССИВЫ 4 Определение 4 Описание 4 Обращение к элементам массива 4 Связь массивов с указателями 4 Примеры программ.
Advertisements

Элементы языка СИ Средства для написания простейших программ.
ВЫПОЛНЕНИЕ АЛГОРИТМОВ КОМПЬЮТЕРОМ. Алгоритм, записанный на «понятном» компьютеру языке программирования, называется программой. Программа данные, предназначенные.
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
Основы алгоритмизации Алгоритмы. Типы алгоритмов. Алгоритмы. Типы алгоритмов. Блок-схемы. Вопросы и задания. Вопросы и задания.
Алгоритм – последовательность точных действий, направленных на получение результата. Свойства. 1. Однозначность - каждая команда не должна быть понята.
Технология составления алгоритмов и программы для решения линейных задач на языке Паскаль.
Основы информатики Массивы. Указатели. Заикин Олег Сергеевич
Этапы решения задач на компьютере 1. Постановка задачи. 2. Построение математической модели. 3. Составление алгоритма. 4. Запись алгоритма на языке программирования(кодирование)
Алгоритм и его свойства. Алгоритм Алгоритм – это описанная на некотором языке, точная конечная система правил, определяющая содержание и порядок действий.
Алгоритм Свойства алгоритмов. algorithmi Латинская форма написания имени выдающегося математика 19 века аль-Хорезми, который сформулировал правила выполнения.
Алгоритмизация и программирование. Языки программирования высокого уровня. Технологии программирования Алгоритмизация и программирование. Языки программирования.
ОБЩИЕ СВЕДЕНИЯ ОБ АЛГОРИТМАХ Линейный алгоритм. ВОПРОСЫ. 1. Алгоритм. Исполнители алгоритмов. 2. Свойства алгоритмов. 3. Способы описания алгоритмов.
Этапы решения задач на компьютере.
АЛГОРИТМЫ НА МАТРИЦАХ. МАССИВЫ В ПРОГРАММЕ ОПИСАНИЕ ОБРАЩЕНИЕ К ЭЛЕМЕНТУ МАССИВА тип имя[размер_1]…[размер_N] СИ имя[индекс_1]…[индекс_N] СИ индекс_i.
Лабораторная работа 4. Подпрограммы. Задание на лабораторную работу Написать программу, реализующую хранение информации, указанной в вариантах индивидуальных.
Системы программирования – это совокупность программ, обеспечивающих автоматизацию разработки и отладку других программ.
Алгоритм Мухаммед аль - Хорезми (IX век н.э.). Описание алгоритма Алгоритм – совокупность четко определенных правил для решения задачи за конечное число.
1 Программирование на языке Паскаль Тема 1. Введение.
Министерство образования Республики Беларусь Белорусский государственный университет Управляющие структуры языков программирования.
Транксрипт:

Основные понятия программирования

АЛГОРИТМЫ + ДАННЫЕ = ПРОГРАММЫ Н. Вирт

Алгоритм - это совокупность правил для решения некоторого класса задач, последовательное применение которых за конечное число шагов приводит к определенному результату. Мухаммед Аль Хорезми ( ): правила (алгоритмы) десятичной арифметики. ОПРЕДЕЛЕНИЕ АЛГОРИТМА

СВОЙСТВА АЛГОРИТМА Универсальность. Конечность. Определенность.

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

Трансляция - процесс перевода программы, написанной на алгоритмическом языке, на машинный язык (в коды компьютера). Транслятор - программа-переводчик. ТРАНСЛЯЦИЯ КОМПИЛЯЦИЯИНТЕРПРЕТАЦИЯ

КОМПИЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ Компиляция: процесс трансляции и выполнения программы четко разделены во времени. Интерпретация: последовательно чередуются перевод группы инструкций языка в коды и их выполнение.

КОМПИЛЯЦИЯ И ИНТЕРПРЕТАЦИЯ Сравнение: Компиляция выгодней по времени выполнения и памяти. Интерпретация удобней для организации диалоговых программ.

Классификация алгоритмических языков по способу трансляции Алгоритмические языки требующие компиляции: СИ ПАСКАЛЬ ФОРТРАН... требующие интерпретации: BASIC LISP

Классификация алгоритмических языков по назначению Алгоритмические языки Универсальные СИ системное программирование ПАСКАЛЬ обучение программированию ФОРТРАН вычисления... Логические задачи, проектирование экспертных систем: ПРОЛОГ Диалоговые программы, обработка списков:ЛИСП Проектирован ие больших систем, режим реального времени: АДА... СИ++ ОБЪЕКТНЫЙ ПАСКАЛЬ ВАЖНО НЕ НА КАКОМ ЯЗЫКЕ ПРОГРАММИРОВАТЬ, А КАКИЕ ЗАДАЧИ РЕШАТЬ!

Этапы прохождения через ЭВМ программы, требующей компиляции КОМПИЛЯЦИЯ КОМПОНОВКА И ЗАГРУЗКА ВЫПОЛНЕНИЕ исходный модуль (*.c *.cpp *.pas) объектный модуль (*.obj) загрузочный модуль (*.exe) исходные данные результаты ошибки компоновка редактирование связей

КЛАССИФИКАЦИЯ ДАННЫХ ПО ФУНКЦИОНАЛЬНОМУ НАЗНАЧЕНИЮ ДАННЫЕ ИСХОДНЫЕВЫХОДНЫЕ ПРОМЕЖУТОЧНЫЕ Исходные данные - начальные значения которых меняются от одного выполнения алгоритма к другому АЛГОРИТМ промежуточные данные Исходные данные Выходные данные (Результаты)

КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ ЦЕЛЫЕ (С ФИКСИРОВАННОЙ ТОЧКОЙ) ДАННЫЕ ЧИСЛОВЫЕСИМВОЛЬНЫЕЛОГИЧЕСКИЕ ГРАФИЧЕСКИЕ ВЕЩЕСТВЕННЫЕ (С ПЛАВАЮЩЕЙ ТОЧКОЙ) БЕЗ ЗНАКАСО ЗНАКОМ Однобайтовые Двухбайтовые Четырехбайтовые Восьмибайтовые Однобайтовые Двухбайтовые Четырехбайтовые Восьмибайтовые Четырехбайтовые Шестибайтовы е Восьмибайтовые Десятибайтовые float double int char unsigned int

КЛАССИФИКАЦИЯ ДАННЫХ ПО ТИПУ ТИП ДАННЫХ ХАРАКТЕРИЗУЕТ СПОСОБ (ФОРМУ) ПРЕДСТАВЛЕНИЯ ДАННЫХ В ПАМЯТИ КОМПЬЮТЕРА. ТИП - ВНУТРЕННЕЕ ПРЕДСТАВЛЕНИЕ ДАННЫХ.

ТИПЫ ДАННЫХ ТИП ДАННЫХ ДИАПАЗОН ДАННЫХ ОПЕРАЦИИ НАД ДАННЫМИ ПРЕДСТАВЛЕНИЕ В ПАМЯТИ ЭВМ

ЯЧЕЙКА ПАМЯТИ ЯЧЕЙКА - ОБЛАСТЬ ПАМЯТИ, ХРАНЯЩАЯ ФУНКЦИОНАЛЬНО ЗАВЕРШЕННОЕ ЗНАЧЕНИЕ (Т. Е. ОДНО ДАННОЕ КАКОГО-ЛИБО ТИПА). ЯЧЕЙКА ХАРАКТЕРИЗУЕТСЯ: СОДЕРЖИМЫМ; АДРЕСОМ; ИМЕНЕМ (В АЛГОРИТМИЧЕСКОМ ЯЗЫКЕ).

СВОЙСТВА ЯЧЕЙКИ ПАМЯТИ ЯЧЕЙКА ХРАНИТ ДАННОЕ СКОЛЬ УГОДНО ДОЛГО; ПРИ СЧИТЫВАНИИ ДАННОЕ ЯЧЕЙКИ НЕ РАЗРУШАЕТСЯ; ПРИ ЗАПИСИ В ЯЧЕЙКУ НОВОГО ДАННОГО СТАРОЕ СОДЕРЖИМОЕ НЕ СОХРАНЯЕТСЯ; ЗАПИСЬ В ЯЧЕЙКУ НАЗЫВАЕТСЯ ПРИСВАИВАЕНИЕМ; ЕСЛИ В ЯЧЕЙКУ НИЧЕГО НЕ ЗАПИСАНО, ТО ЕЕ СОДЕРЖИМОЕ СЧИТАЕТСЯ НЕОПРЕДЕЛЕННЫМ.

КЛАССИФИКАЦИЯ ДАННЫХ ПО СТРУКТУРЕ ДАННЫЕ КОНСТАНТЫ (защита от записи) ПЕРЕМЕННЫЕ ДАННЫЕ ПРОСТЫЕСЛОЖНЫЕ МАССИВСТРУКТУРА... 1 ячейка несколько ячеек

СТРУКТУРА ДАННЫХ Массив - это сложная переменная, состоящая из конечного числа упорядоченных компонент, имеющих одно имя, одинаковый тип и расположенных в последовательных ячейках памяти компьютера. Доступ к элементу массива - по его номерам (индексам). Размерность массива - количество индексов у его элементов. Размер - количество значений каждого индекса.

СТРУКТУРА ДАННЫХ Одномерный массив А размера 10: A[1], A[2], …, A[10] Двумерный массив (матрица) B размера 3*4: B[1][1] B[1][2] B[1][3] B[1][4] B[2][1] B[2][2] B[2][3] B[2][4] B[3][1] B[3][2] B[3][3] B[3][4 ]

СТРУКТУРА ДАННЫХ Структурная переменная, или просто структура, состоит из нескольких переменных (называемых полями), возможно, разного типа. Структура (СИ) = Запись (Паскаль) Отличия структуры и массива: Массив имеет компоненты одного типа, структура может иметь компоненты различного типа. Доступ к компонентам массива - по номеру, к компонентам структуры - по имени.

ВАЖНО НЕ НА КАКОМ ЯЗЫКЕ ПРОГРАММИРОВАТЬ, А КАКИЕ ЗАДАЧИ РЕШАТЬ! Структура простейшей программы..Т ипы и структуры данных, имеющиеся в алгоритмическом языке, их описание, допустимые операции..О ператоры преобразования данных:присваивания (преобразования внутренних данных), операторы ввода и вывода. Правила записи алгоритма - программирование основных алгоритмических структур. Сведения, необходимые для написания простейшей программы:

Структура простейшей программы на любом алгоритмическом языке Заголовок ограничитель описания - неисполняемые инструкции языка операторы - исполняемые инструкции языка ограничитель

Структура простейшей СИ-программы